OninitDialog

来源:互联网 发布:帝国cms还原数据 编辑:程序博客网 时间:2024/05/01 13:59

 

OnInitDialog()函数是个virtual(虚函数),在它的类中用添加虚函数的方法,会发现添加的虚函数里面没有这个函数,而这个OnInitDialog函数是很有用的,在一般的添加进去的对话框的类中是不会有这个函数的,必须手工增加进去,当然不用手工写代码,手动添加时可能会出错.可以通过VC加进去,而要加的这个函数的名字不是OnInitDialog,所以很难找到.其原因是因为要加的函数是WM_INITDIALOG.
这个函数的添加方法是这样的,选择要加入函数的对话框,右键->ClassWiZard(类向导)->Message Maps(消息映射),对象里面选择对话框,Messages(消息)里面选择WM_INITDIALOG,然后点Add Function(增加函数),这样就映射到类中去了,它的函数名称是OnInitDialog,而不是WM_INITDIALOG.这时可以点Edit Fuction,编辑函数了.

      Visual studio   没有旧风格class wizard了。所以无法像VC6.0那样添加oninitdialog函数。

其方法是:首先添加CDialog对话框的类,方法是可以在对话框上点右键,在右键菜单里点Add Class,然后打开刚才添加的类的头文件,在头文件的类的声明区里按F4调出属性窗口,在属性窗口的工具栏里找到Overrides点击它会切换到重写方法列表界面,在这个列表里找到OnInitDialog,点后面的下拉组合框就有添加OnInitDialog了,点一下就可以把这个方法重写到你的程序里了。

还有两个要注意的问题是:

一个是:子对话框添加类后,打开此类的头文件,注意了:一定要确认鼠标光标处于类声明的区域 ,这个时候再打开属性窗口,点击工具栏上的Overrides(重写),里面可以找到OnInitDialog.

如果鼠标没处在类声明的区域,属性窗口就显示的是当前头文件的属性,工具栏是不会有Overrides(重写)这一项的。

另一个是:

ADD Class后 要在左边文件列表上面选择 show all files (显示所有文件)后 再打开添加的类的头文件 ....这样才行的 .......

就是你为子对话框添加完类后,在vs的左边文件列表上选择show all files。
然后点击进去你添加的类的头文件。这时在(一般)右边的属性窗口里
会有一个图标(Overrides)点击它