您的位置:程序门 -> vc/mfc -> 基础类



改变形参的值(内容)


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


改变形参的值(内容)[已结贴,结贴人:sblsongdongf]
发表于:2007-08-02 17:44:40 楼主
我写了如下的代码,想获取对话框中某个item的hwnd,结果赋值出错。为何会失败?
cdialog*     showcamera(hwnd*   phwnd)
{
cdialog*   dialog   =   new   cdlgdiagnosis();

*phwnd   =   dialog-> getdlgitem(idc_camera)-> m_hwnd;

return   dialog;
}

void   cdlldemodlg::onbnclickedcamera()
{
hwnd   hwnd;
cdialog*   dlg   =   showcamera(&hwnd);
dlg-> domodal();
}
发表于:2007-08-02 17:51:291楼 得分:5
*phwnd   =   dialog-> getdlgitem(idc_camera)-> m_hwnd;

hwnd型转化为hwnd*型?
发表于:2007-08-02 17:51:322楼 得分:20
*phwnd   =   dialog-> getdlgitem(idc_camera)-> m_hwnd;

的时候,那个对话框还没有创建出来呢

domodal()以后再取试试?
发表于:2007-08-02 17:52:413楼 得分:15
*phwnd   =   dialog-> getdlgitem(idc_camera)-> m_hwnd;
这时你的dialog没有create,所以根本没有句柄(即dialog-> m_hwnd   ==   0),
所以在执行getdlgitem(idc_camera)时,程序出错。


快速检索

最新资讯
热门点击