MFC中对话框中OnInitDialog()和OnCreate()的区别
2011-12-12 15:23
423 查看
通常你要先建立(OnCreate)一个窗体, 然后再对他进行初始化(OninitDialog).
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
响应WM_CREATE消息(即OnCreate)的时候窗口还没有建立,你可以给成员变量赋值,也可以修改窗口的基本内容比如风格,但是不能对窗口控件操作,因为窗口还没有建立。
在响应WM_CREATE消息的时候,对话框及子控件还未创建完成,亦是说只是通知系统说要开始创建窗口啦,这个消息响应完之后,对话框和子控件才开始创建。因此在此消息响应函数中无法对控件进行修改和初始化。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
响应WM_INITDIALOG消息(即OnInitDialog)时候窗口已经建立,你可以移动窗口,修改风格等等,也可以给成员变量赋值。
WM_INITDIALOG消息响应函数是在程序运行时,当其对话框和子控件全部创建完毕,将要显示内容的时候发送的消息。因此可以在WM_INITDIALOG消息响应函数中添加对编辑框控件的初始化和修改。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
响应WM_CREATE消息(即OnCreate)的时候窗口还没有建立,你可以给成员变量赋值,也可以修改窗口的基本内容比如风格,但是不能对窗口控件操作,因为窗口还没有建立。
在响应WM_CREATE消息的时候,对话框及子控件还未创建完成,亦是说只是通知系统说要开始创建窗口啦,这个消息响应完之后,对话框和子控件才开始创建。因此在此消息响应函数中无法对控件进行修改和初始化。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
响应WM_INITDIALOG消息(即OnInitDialog)时候窗口已经建立,你可以移动窗口,修改风格等等,也可以给成员变量赋值。
WM_INITDIALOG消息响应函数是在程序运行时,当其对话框和子控件全部创建完毕,将要显示内容的时候发送的消息。因此可以在WM_INITDIALOG消息响应函数中添加对编辑框控件的初始化和修改。
相关文章推荐
- MFC的OnCreate/OnSize/OnInitDialog哪个先执行?
- 解决 mfc OninitDialog里面隐藏对话框的方法
- 怎样为MFC对话框建立初始化函数BOOL HistoryData::OnInitDialog()
- OninitDialog与OnCreate两个消息有何区别,分别在什么时候调用
- MFC_为MFC对话框建立初始化函数BOOL HistoryData::OnInitDialog()
- MFC中OnInitDialog()函数的使用和使用SetWindowText()修改对话框的名称
- MFC---一个对话框,初始时没有OnInitDialog()函数,我们如何初始化其数据成员及函数
- OninitDialog与OnCreate两个消息有何区别
- OnInitDialog()和对话框的构造函数的区别
- 如何重载MFC对话框的OnInitDialog()函数
- 对于对话框WM_CREATE和WM_INITDIALOG的区别
- 对话框程序, 在 OnInitDialog的最后 showWindow(SW_HIDE),不管用的原因
- 对话框函数CDialog::OnInitDialog()
- OnCreate,OnInitDialog
- MFC中CTreeCtrl奇怪的SetCheck [OnInitDialog中SetCheck无效问题]
- vs2008给子对话框添加初始化函数OnInitDialog()函数
- 关于对话框应用程序OnInitDialog()的调用
- 一个对话框,初始时没有OnInitDialog()函数,我们如何初始化其数据成员及函数
- Oncreate,Oninitialupdate,Oninitdialog
- WM_CREATE的响应函数OnCreate和WM_INITDIALOG的函数OnInitDialog有什么不同