对话框的初始化工作一般在构造函数和OnInitDialog函数中完成。那么,在构造函数中初始化和OnInitDialog初始化有没有不同?那些数据在构造函数中初始化好,那些数据适合在OnInitDialog中初始化?
null
(最近一个程序中,在弹出的设置对话框的构造函数中设置单选框的选中状态,执行到相关代码处就报错,推测出构造函数执行时,对应的窗体资源还没有实例化,应该在OnInitDialog中设置)
构造函数里对话框窗口还没有创建,
其窗口句柄是NULL或非法。
OnInitDialog时,话框窗口窗口已创建成功。
当定义一个对象时,构造函数就已经执行了。但在调用DoModal()函数时才会调用OnInitDialog()。好像是这样。设置控制的属性一般都会在OnInitDialog()。
OnInitDialog()将导致对DoDataExchage 的调用,如果你知道DoDataExchage有合用,就知道有和用。
构造函数中的初始化对于有无模式的对话框都合适。但是oninitdialg中的初始化紧紧对有模式的对话框有效,对于无模式的对话框无效!无模式的对话框的初始化相应的有一个oncreate函数,它的地位和oninitdiaog相同。看你的对话框采用什么模式了。根据不同的模式决定在那里进行初始化。
在构造函数中,对话框窗口还没有创建,因此只能初始化一些变量的值。而在OnInitDialog函数中则不同,能够对对话框中的控件进行操作和初始化,比如给下拉列表指定数据等。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容