UpdateData(true); 的使用疑惑!

UpdateData(true);的使用疑惑!DWORDl,s,h;l=m_l,s=m_s,h=m_h;UpdateData(true);程序没问题,我要说的是,我在编辑... UpdateData(true); 的使用疑惑!
DWORD l,s,h;
l=m_l,s=m_s,h=m_h;
UpdateData(true);
程序没问题,我要说的是,我在编辑框另写了一个数字按执行按扭后是前一个的结果,就是说编辑框换了数据按执行按扭第二次才是正确的.
比如 编辑框本来是7, 执行按扭是7,
编辑框里换成9,点执行按扭还是7,点第二次才是9.
DWORD l,s,h;
l=m_l,s=m_s,h=m_h;
UpdateData(true);
__asm{
mov eax,l
mov ebx,s
add eax,ebx
mov h,eax
}
m_h=h;
UpdateData(false);
这是两个数相加的程序,当L或S改变值后,点第二下按扭H关联的编辑框才会是正确的,点第一下按扭H关联的编辑框还是以前那个相加的值.
1+3=4// L+S=H 如果改变S的值, 1+5 按第一下按扭H还是4,第二下按扭H才是6.
为什么要出现这种情况.UpdateData(true);不是每次都会控件上显示上的数据更新到关联变量吗?
展开
 我来答
weiyinwu
推荐于2016-11-23 · TA获得超过1540个赞
知道小有建树答主
回答量:1057
采纳率:50%
帮助的人:1141万
展开全部
UpdateData(TRUE);//将控件上显示上的数据更新到关联变量
UpdateData(FALSE);将关联变量的值更新到控件显示。
当你改变控件对应的关联变量的值的时候,要使用UpdateData(FALSE)来更新显示。
当你在界面上更改控件的值的时候,你要使用UpdateData(TRUE);将值更新到关联变量
或者如果不使用关联变量,可以使用GetDlgItemText(IDC_EDIT,str);或SetDlgItemText(IDC_EDIT,str)来更改控件的值的时候,就不需要UpdateData()函数。
补充:
UpdateData(true);//先更新一下,然后将m_I给I...
DWORD l,s,h;
l=m_l,s=m_s,h=m_h;
__asm{
mov eax,l
mov ebx,s
add eax,ebx
mov h,eax
}
m_h=h;
UpdateData(false);//计算完了再给回界面控件
missile80000
2012-03-11 · TA获得超过801个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:86.7万
展开全部
把数据显示到控件上的代码下面加上UpdateData(false);试试,这个是刷新控件功能。
比如:
UpdateData(true);
DWORD l,s,h;
l=m_l,s=m_s,h=m_h;
CString str;
str.Format("%d",l);//(DWORD是数据形变量吧?)
SetDlgItemText(IDC_EDIT1,str);
UpdateData(false);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式