MFC中怎样读取文本框的内容?(有分追加)
我有一个文本框,是用来请用户输入数值的,ID为IDC_EDIT2,用str_scale表示这个文本框的内容,定义如下:h文件:public:CStringstr_scal...
我有一个文本框,是用来请用户输入数值的,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事件函数中的开头就不报错了,但还是没有读出文本框的内容。请问我应该怎么改正? 展开
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事件函数中的开头就不报错了,但还是没有读出文本框的内容。请问我应该怎么改正? 展开
1个回答
展开全部
从编辑框输入数据后,需要调用UpdateData(TURE);进行数据交换,
这样用GetDlgItem()就可以获取内容了
如果要写入数据,先SetDlgItem(),之后再调用UpdateData(FLASE);进行数据交换这样才回把数据写入到编辑框
UpdateData();是对话框的更新函数
TURE的时候读取数据,FLASE的时候写入数据
编辑框内容改变后,程序和这个编辑框对应的变量并不改变,直到用UpdateData(TURE);。同样,变量改变后,编辑框也不会反应出来,直到调用UpdateData(FLASE);
抄别人的,嘿嘿~
这样用GetDlgItem()就可以获取内容了
如果要写入数据,先SetDlgItem(),之后再调用UpdateData(FLASE);进行数据交换这样才回把数据写入到编辑框
UpdateData();是对话框的更新函数
TURE的时候读取数据,FLASE的时候写入数据
编辑框内容改变后,程序和这个编辑框对应的变量并不改变,直到用UpdateData(TURE);。同样,变量改变后,编辑框也不会反应出来,直到调用UpdateData(FLASE);
抄别人的,嘿嘿~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询