MFC中的IDD是什么意思

发布网友 发布时间:2022-04-24 16:40

我来回答

2个回答

热心网友 时间:2023-10-23 06:05

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-10-23 06:05

ID你应该知道吧,和我们平时说的ID是一个意思,后面那个D指的是Dialog,即是对话框,IDD一般用来作为对话框窗体变量名的头,使人一看就知道操作的对象是对话框。像图标是IDI,位图是IDB等等

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com