VC中对话框的构造函数和OnInitDialog函数的区别和作用

对话框的初始化工作一般在构造函数和OnInitDialog函数中完成。那么,在构造函数中初始化和OnInitDialog初始化有没有不同?那些数据在构造函数中初始化好,那些数据适合在OnInitDialog中初始化?

enter键 发泄超大号解压回车键usb电脑办公键盘程序员解压神器抖音网红Big Enter午睡枕头解压发送键创意礼物
解压神器 网红同款 一键多用 午睡枕头 | 月销量1605件
优惠价16.58元
原价¥39

淘口令:

¥BOzCXXcneFC¥
 

(最近一个程序中,在弹出的设置对话框的构造函数中设置单选框的选中状态,执行到相关代码处就报错,推测出构造函数执行时,对应的窗体资源还没有实例化,应该在OnInitDialog中设置)

构造函数里对话框窗口还没有创建,
其窗口句柄是NULL或非法。
OnInitDialog时,话框窗口窗口已创建成功。

当定义一个对象时,构造函数就已经执行了。但在调用DoModal()函数时才会调用OnInitDialog()。好像是这样。设置控制的属性一般都会在OnInitDialog()。

OnInitDialog()将导致对DoDataExchage 的调用,如果你知道DoDataExchage有合用,就知道有和用。

构造函数中的初始化对于有无模式的对话框都合适。但是oninitdialg中的初始化紧紧对有模式的对话框有效,对于无模式的对话框无效!无模式的对话框的初始化相应的有一个oncreate函数,它的地位和oninitdiaog相同。看你的对话框采用什么模式了。根据不同的模式决定在那里进行初始化。

在构造函数中,对话框窗口还没有创建,因此只能初始化一些变量的值。而在OnInitDialog函数中则不同,能够对对话框中的控件进行操作和初始化,比如给下拉列表指定数据等。

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享
评论 抢沙发