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);不是每次都会控件上显示上的数据更新到关联变量吗? 展开
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);不是每次都会控件上显示上的数据更新到关联变量吗? 展开
2个回答
展开全部
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);//计算完了再给回界面控件
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);//计算完了再给回界面控件
展开全部
把数据显示到控件上的代码下面加上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);
比如:
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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询