为了账号安全,请及时绑定邮箱和手机立即绑定

VC中关于UpdateData()函数的问题?

VC中关于UpdateData()函数的问题?

眼眸繁星 2019-02-13 15:11:07
将控件的值传递给与之相关联的变量时,需要调用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条经验 获得超13个赞

*****
*****UpdateData()使用场合:在对话框不消失的情况下,对对话框中部分区域的重绘或者提前对话框部分信息,比如改变某个控件的值的显示或者获取该控件的值。
*****
*****看你的需求,你是想取用控件的值,而且是在对话框消失之后( DoModal()执行结束,对话框消失,但与之关联的对话框变量有效,且自动保存消失前的最新信息),自然不要调用UpdateData。
*****
*****另外注意,以后要是碰到对话框不消失的场合,必须用UpdateData(),它的默认参数是True,就是提前控件信息。如果需要更新控件信息,必须调用UpdateData(FALSE)。

查看完整回答
反对 回复 2019-03-24
?
慕的地10843

TA贡献1785条经验 获得超8个赞

UpdateData(TRUE)是将控件的状态传给其关联的变量,当然你要为控件关联上变量才行。
UpdateData(FALSE)是将控件的关联变量的值传给控件并改变控件状态。
UpdateData刷新的是当前对话框。

查看完整回答
反对 回复 2019-03-24
  • 3 回答
  • 0 关注
  • 726 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信