将控件的值传递给与之相关联的变量时,需要调用UpdateData(TRUE);下面是我编的一个往对话框的编辑框控件中传递值的程序,赋值号右边的是与控件相关联的变量,左边为需要赋值的变量.我想请教一下,为什么在程序中我没有调用UpdateData(TRUE),仍然能使关联的变量值为控件的值.程序里需要再增加UpdateData(TRUE)吗?void CDrawView::OnTongfengcs() {// TODO: Add your command handler code hereCTONGFCSDlg tfcs;CDrawDoc* pDoc = GetDocument();if(tfcs.DoModal()==IDOK){//UpdateData();pDoc->Vn=tfcs.m_Vn;pDoc->Ssr=tfcs.m_Ssr;}}
3 回答
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
*****
*****UpdateData()使用场合:在对话框不消失的情况下,对对话框中部分区域的重绘或者提前对话框部分信息,比如改变某个控件的值的显示或者获取该控件的值。
*****
*****看你的需求,你是想取用控件的值,而且是在对话框消失之后( DoModal()执行结束,对话框消失,但与之关联的对话框变量有效,且自动保存消失前的最新信息),自然不要调用UpdateData。
*****
*****另外注意,以后要是碰到对话框不消失的场合,必须用UpdateData(),它的默认参数是True,就是提前控件信息。如果需要更新控件信息,必须调用UpdateData(FALSE)。
慕的地10843
TA贡献1785条经验 获得超8个赞
UpdateData(TRUE)是将控件的状态传给其关联的变量,当然你要为控件关联上变量才行。
UpdateData(FALSE)是将控件的关联变量的值传给控件并改变控件状态。
UpdateData刷新的是当前对话框。
- 3 回答
- 0 关注
- 795 浏览
添加回答
举报
0/150
提交
取消