XiaoHui.Net 笑汇程序员论坛Visual C++ 讨论区

   vc初学者关于对话框的问题


页: [1]

alivestill2003-6-5 22:37
vc初学者关于对话框的问题

用appwizard生成的对话框程序有几个地方看不懂:
dialog类的构造函数:
CDiDlg::CDiDlg(CWnd*_pParent_/*=NULL*/)
:_CDialog(CDiDlg::IDD, pParent)
{
m_hIcon_=_AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

那个括号里的参数(CWnd*_pParent_/*=NULL*/)是什么,是不是主窗口的指针?有什么用?
构造函数定义应该是CDiDlg::CDiDlg(){}
可后面怎么又跟了一个 _:CDialog(CDiDlg::IDD, pParent),这是什么语法?
IDD应该是我的对话框资源的ID吧,是不是起到连接资源的作用?可是我的对话框ID是IDD_DI_DIALOG,不是IDD呀,怎么回事。
还有个问题,程序最后有个函数,是干什么的
HCURSOR_CDiDlg::OnQueryDragIcon()
{
return_(HCURSOR)_m_hIcon;
}



月光骑士2003-6-6 03:12
vc初学者关于对话框的问题

如果你的程序是基于对话框的,那么父窗口的指针就是NULL,如果是基于文档窗口的,那么你的对话框的父窗口就是你的FrameWnd了。
_至于你的第二个问题你应该去查查C++的语法了。那个IDD的确是资源ID,你可以使用VC的查找“IDD”,看看它的出现的地方,如果我没有猜错的话,那么IDD就是IDD_DI_DIALOG。


查看完整版本: vc初学者关于对话框的问题