[VS 2008,MFC:添加OnInitDialog-怎么样?

问题描述 投票:20回答:3

这是我的第一个VC6以外的MFC应用程序,我感到有些愚蠢:

如何添加OnInitDialog处理程序?(我知道如何手动添加它,但是从长远来看,这很痛苦)。

双击对话框-没有。右键单击对话框-“添加事件处理程序”已禁用。属性-消息具有“正常”消息,但没有WM_INITDIALOG属性-事件仅保存来自所包含控件的通知在类视图中右键单击-“添加..”仅包含函数和变量

抓头

[edit] d'oh-这是MFC中的虚函数,但仍然...

visual-studio-2008 ide mfc
3个回答
35
投票

不要感到愚蠢,当我第一次从VC6转到VS2008时,我花了很长时间才弄清楚这一点!

无论如何,也是我自己的参考,这是添加对话框并覆盖OnInitDialog方法的完整步骤:

  1. 选择资源视图并展开.rc文件。
  2. 右键单击树视图中的对话框条目,然后选择插入对话框
  3. 选择属性窗口。 (注意:如果没有看到此窗口,请选择View> Other Windows> Properties Window菜单项。)
  4. 属性窗口中,设置对话框的ID,例如IDD_MYDIALOG
  5. 右键单击资源编辑器中的对话框,然后选择添加类。注意:如果安装了IE8,则可能会产生Internet Explorer脚本错误。有关如何更正此错误的详细信息,请参见this blog post
  6. MFC类向导对话框中,输入类名称,例如CMyDialog,选择CDialog作为基类,然后按完成。这将创建名为MyDialog.cppMyDialog.h的文件,并将它们添加到您的项目中。
  7. 要覆盖OnInitDialog类中的CMyDialog方法:

  1. 打开文件MyDialog.h
  2. 选择属性
  3. 窗口。
  4. 将光标放在读取class CMyDialog : public CDialog的行上。 (“属性”窗口的顶部应显示“ CMyDialog
  5. VCCodeClass”-这很重要,因为Properties窗口高度上下文相关,并且根据光标在编辑器中的位置,您将获得不同的选项。 。)
  6. 单击属性
  7. 窗口中的替代图标。
  8. 向下滚动属性窗口以找到OnInitDialog
  9. 单击此项的向下箭头,然后选择<< Add> OnInitDialog
  10. 。这将创建您的CMyDialog::OnInitDialog函数。

    我希望这会有所帮助!


4
投票

看来,您甚至不必打开头文件就可以弄乱光标的位置。。。创建完类之后,请在“类视图”窗格中选择该类,然后可以在“属性”窗格中更改覆盖/消息/事件,如下所示:如上所述。


0
投票

打开类向导,然后转到虚拟功能选项卡。双击[]

© www.soinside.com 2019 - 2024. All rights reserved.