MFC中的IDD是什么意思
IDD,是对话框资源编号的默认开头:IDD_DIALOG1,其中IDD表示Identify Dialog的意思
这与 C++ 的 常数 表示 有关, 早期 的MFC 是 使用 enum { IDD = IDD_DIALOG1 };
来 表示 常数 即 const (-ant), 那时 使用 const IDD = IDD_DIALOG1 会有问题。这是为了好写对话框的架构. 因为不同的对话框可以使用相同的类, 不同的对话框资源.
而不同的资源又要是相同的代码.
enum { IDD = IDD_DIALOG1 }这个就能起作用了.
只要基类代码中使用IDD就能得到对话框资源的ID号,而不用写其它的代码要设置.
如果你删除掉这句, 你就可以看到使用IDD的原因了.
你要定义成变量的话, 你就需要自己修改代码了.
: CDialog(CTestDlg::IDD, pParent) //基类构造函数的调用需要修改.
IDD是变量的话, 就需要调用这个基类构造前赋值, 并且修改成不要CTestDlg::
类似于这样:
CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/)
:IDD(IDD_TEST_DIALOG) //变量初始化
, CDialog(IDD, pParent) //构造函数 个人感觉使用常数在效率上会好 点,因为常熟是包含在指令中,变量要获得值需要进行内存访问
2023-07-11 广告