问一个关于对话框的简单问题 假如有一个对话框类的对象m_dlg,运行m_dlg.DoModal(),此时m_dlg中和控件绑定的变量都被赋值了,为什么调用DoModal()的时候不需要UpdateData(FALSE) ;将相关的数据显示到控件上?而它的数据自动的显示的到控件上了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 updateData(false)initialize data in a dialog box初始化对话框domodal :Call this member function to invoke the modal dialog box 等于 初始化 调用DoModal()就初始化了对话框了? 需要调用updateData(false)才会更新到控件,一般在对话框的OnInitDialog()中调用 楼主可以断点调试并观察一下:m_dlg.DoModal()之后会执行对话框类的OnInitDialog()函数,在这个函数中完成窗口初始化显示。不过各个控件所绑定变量的赋值不是在OnInitDialog()中完成的,而是在m_dlg类的构造函数中实现的,构造函数的执行位于DoModal()之前。 发现不需要UpdateFalse就显示到控件上了。 当然,如果你是下面这种方式,你是不需要调用updateData(false)CTestDlg dlg;dlg.m_strName = "aaa";// m_strName是对话框一逻辑框控件所关联的变量dlg.DoModal();这种方式相当于你给变量一个初始值,当然不需要updateData(false)就能反应到控件。 各个控件所绑定变量的赋值不是在OnInitDialog()中完成的,而是在m_dlg类的构造函数中实现的 这段代码中:PAINTSTRUCT 变量的作用是什么呢? 请高手帮忙,如何监控即时通讯工具阿里旺旺发出的聊天内容 socket编程怎么进行NAT穿透? 请问已得到一个图象的数据,怎么进行变小? 如何更改alt+tab的图标 求救:在应用程序中启动其它应用程序! 更新数据库字段出错 要开发网管软件,用VC 和 snmp实现,怎么做啊 100分 请教:vc程序如何打包?也就是VC程序如何写它的SETUP程序? IConnectionPointer::Advise的问题 多媒体定时器 求解VC2008在Debug中运行正常但Release后就出错了
m_dlg.DoModal()之后会执行对话框类的OnInitDialog()函数,在这个函数中完成窗口初始化显示。
不过各个控件所绑定变量的赋值不是在OnInitDialog()中完成的,而是在m_dlg类的构造函数中实现的,构造函数的执行位于DoModal()之前。
CTestDlg dlg;
dlg.m_strName = "aaa";// m_strName是对话框一逻辑框控件所关联的变量
dlg.DoModal();这种方式相当于你给变量一个初始值,当然不需要updateData(false)就能反应到控件。