另外updatedata()这个东西不知道你理解没有,如果你的编辑框已经绑定了valve变量了的话,这个程序运行结果应该是空的编辑框
首先任何控件在绑定了valve变量的情况下updatedata()才会生效,假设编辑框绑定一个变量m_str
那么updatedata(true)这句话的作用是把当前(运行状态时)编辑框中的内容赋值给m_str,而
updatedata(false)的作用是把m_str的值在编辑框中显示出来,所以如果有这样的语句:
updatedata(true)
updatedata(false)
运行结果就是编辑框内容没有一点变化
而setwindowtext()的作用是立即改变编辑框的内容,不需要配合updatedata()
如果仅仅是想改变编辑框的值,两种方法:
.....//准备数据
m_str=_t("123")
updatedata(false)此方法仅限绑定了变量的
另一种方法就是
cstring
s
...//准备数据
getdlgitem(idc_edit1)->setwindowtext(s)
推荐后者,因为updatedata(false)的作用是全部的控件,很多时候只想改变其中某个控件
用“Ctrl + W”或者通过“文件”菜单打开 MFC ClassWizad,选择第二个标签“成员变量”,选中你要 *** 作的控件双击或单击“添加成员变量”按钮,会d出一个对话框,让你设置变量名称和类型。
MFC ClassWizad 显示的都是英文,看懂应该没有什么问题。
不一定需要用全局变量,可以:一、设置输入对话框的EditBox变量为"m_w",设置对话框类名为"CW".
二、为输入按钮添加消息响应代码:
void CW::OnButton1()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE)
}
三、设置输出对话框(CP类)的EditBox变量为"m_p".
四、为输出按钮添加消息响应代码OnButton1():
#include "W.h"
void CP::OnButton1()
{
// TODO: Add your control notification handler code here
m_p=W.m_w
UpdateData(FALSE)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)