对话框程序中的OnInitDialog()函数的作用是什么?

 我来答
moxsone
推荐于2017-11-23 · TA获得超过3331个赞
知道大有可为答主
回答量:2796
采纳率:50%
帮助的人:1482万
展开全部
Windows sends the WM_INITDIALOG message to the dialog box during the Create, CreateIndirect, or DoModal calls, which occur immediately before the dialog box is displayed.
Override this method if you want to perform special processing when the dialog box is initialized. In the overridden version, first call the base class OnInitDialog but ignore its return value. You will typically return TRUE from your overridden method.
Windows calls the OnInitDialog function by using the standard global dialog-box procedure common to all Microsoft Foundation Class Library dialog boxes. It does not call this function through your message map, and therefore you do not need a message map entry for this method.
Note:
You cannot override this method when you use a CFileDialog object in a program that is compiled under Windows Vista. For more information about changes to CFileDialog under Windows Vista see CFileDialog Class.

在创建对话框(创建对话框的方法有:Create(),CreateIndirect(),DoModal())时,Windows发送WM_INITDIALOG消息到该被创建的对话框,这就立即激发该对话框的OnInitDialog()函数,即,在显示该对话框前使用OnInitDialog()函数初始化该对话框的数据及内容,以及可以使用该函数在显示对话框前布置控件的显示大小及位置。
重写此方法的目的是如果你要执行特殊的处理时(比如就象上面说的要初始化数据或者控件等)。在重写的函数中,首先调用基类的OnInitDialog()函数,但需要忽视它的返回值。添加好你的功能后,直接返回TRUE。
Windows调用通过使用标准的全局对话框程序共同所有的Microsoft基础类库对话框的OnInitDialog()函数。它不调用通过你的消息映射代码功能,因此您不需要为此方法在代码中添加MFC消息映射项。
注意:
当您是在Windows Vista下编译的程序一个CFileDialog对象时,您不能重写此方法。如需在Windows Vista下修改的CFileDialog CFileDialog类信息,请参阅最新的MSDN中关于Vista的CFileDialog类。
上海宣瑞教育
2023-12-21 广告
当然,我可以为您提供一个关于personal statement的例子。以下是一个可能适用于上海宣瑞教育信息咨询有限公司的personal statement:我是一名热情、有责任心的团队成员,对学习和发展充满热情。在我的学习经历中,我发现... 点击进入详情页
本回答由上海宣瑞教育提供
用飘柔洗脚丫
2011-01-09 · TA获得超过248个赞
知道小有建树答主
回答量:260
采纳率:0%
帮助的人:202万
展开全部
This member function is called in response to the WM_INITDIALOG message.
这个成员的功能是调用相应WM_INIDIALOG消息,其中WM意思是windowsMessage
意思就是初始化对话框时调用它
http://msdn.microsoft.com/zh-cn/library/fwz35s59(VS.80).aspx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友da8a46e
推荐于2018-05-10 · TA获得超过7293个赞
知道小有建树答主
回答量:2307
采纳率:93%
帮助的人:181万
展开全部
在创建对话框(创建对话框的方法有:Create(),CreateIndirect(),DoModal())时,Windows发送WM_INITDIALOG消息到该被创建的对话框,这就立即激发该对话框的OnInitDialog()函数,即,在显示该对话框前使用OnInitDialog()函数初始化该对话框的数据及内容,以及可以使用该函数在显示对话框前布置控件的显示大小及位置。
重写此方法的目的是如果要执行特殊的处理时(比如就象上面说的要初始化数据或者控件等)。在重写的函数中,首先调用基类的OnInitDialog()函数,但需要忽视它的返回值。添加好功能后,直接返回TRUE。
Windows调用通过使用标准的全局对话框程序共同所有的Microsoft基础类库对话框的OnInitDialog()函数。它不调用通过消息映射代码功能,因此不需要为此方法在代码中添加MFC消息映射项。
注意:
当在Windows Vista下编译的程序一个CFileDialog对象时,不能重写此方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式