MFC中怎样读取文本框的内容?(有分追加)

来源:百度知道 编辑:UC知道 时间:2024/06/15 03:44:05
我有一个文本框,是用来请用户输入数值的,ID为IDC_EDIT2,用str_scale表示这个文本框的内容,定义如下:
h文件:
public:
CString str_scale;
cpp文件:
DDX_Text(pDX, IDC_EDIT2, str_scale);
我定义了一个变量scale用来将这个文本框的内容读出来并转化为单精度,进行运算。可是从运行程序来看好像没有读出这个文本框的内容。这个函数体的结构如下:
CMyDBADODlg MyDlg;
float scale=atof(MyDlg.str_scale)
程序运算

我试着在float scale=atof(MyDlg.str_scale)前加入了UpdateData()来更新数据。但报错,说是没有定义的标识符。我把UpdateData()放在按钮的click事件函数中的开头就不报错了,但还是没有读出文本框的内容。请问我应该怎么改正?

从编辑框输入数据后,需要调用UpdateData(TURE);进行数据交换,
这样用GetDlgItem()就可以获取内容了

如果要写入数据,先SetDlgItem(),之后再调用UpdateData(FLASE);进行数据交换这样才回把数据写入到编辑框

UpdateData();是对话框的更新函数
TURE的时候读取数据,FLASE的时候写入数据
编辑框内容改变后,程序和这个编辑框对应的变量并不改变,直到用UpdateData(TURE);。同样,变量改变后,编辑框也不会反应出来,直到调用UpdateData(FLASE);

抄别人的,嘿嘿~