这是我第一次远离VC6的MFC应用程序,我觉得有点愚蠢:
如何添加OnInitDialog处理程序? (我知道如何手动添加它,但从长远来看这很痛苦。)
双击对话框 - 没有。 右键单击对话框 - 禁用“添加事件处理程序”。 属性 - 消息具有“正常”消息,但不具有WM_INITDIALOG 属性 - 事件仅保存来自包含控件的通知 右键单击类视图 - “添加..”只有函数和变量
划伤头
[edit] d'oh - 它是MFC中的虚函数,但仍然......
答案 0 :(得分:33)
不要感到愚蠢,当我第一次从VC6搬到VS2008时,我花了很长时间才想到这一点!
无论如何,也是为了我自己的参考,这里是添加对话框和覆盖OnInitDialog
方法的完整步骤:
IDD_MYDIALOG
。CMyDialog
,选择CDialog
作为基类,然后按完成。这将创建名为MyDialog.cpp
和MyDialog.h
的文件,并将它们添加到您的项目中。覆盖OnInitDialog
类中的CMyDialog
方法:
MyDialog.h
。class CMyDialog : public CDialog
的行上。 (“属性”窗口的顶部应显示“ CMyDialog VCCodeClass” - 这很重要,因为属性窗口具有高度上下文相关性,您可以根据位置获得不同的选项光标在编辑器中。)OnInitDialog
。CMyDialog::OnInitDialog
功能。我希望这有帮助!
答案 1 :(得分:4)
看起来你甚至不必打开头文件并乱放光标......创建类之后,在ClassView窗格中选择类,你可以在属性窗格中更改覆盖/消息/事件如上所述。
答案 2 :(得分:1)
打开“类向导”,然后转到“虚拟功能”选项卡。 双击要覆盖的功能