mfc 对话框里写文字 存入字符串变量中 应该怎么写

mfc 对话框里写文字 存入字符串变量中 应该怎么写,第1张

CEdit控件

按快捷键Ctrl+W(更高版本Ctrl+Shift+X)打开类向导,添加成员变量跟CEdit控件绑定。

然后在你需要获取控件中的文本处加上以下代码即可。

UpdateData(TRUE);

TRUE:将控件的值存到变量中。

FALSE:将变量中的值放到控件中。

其他网友的解答:
void CMy11Dlg::OnButton1()
{
// TODO: Add your control notification handler code here
CString str;
GetDlgItemText(IDC_EDIT1,str);
//用GetDlgItemText(文本框ID,字符串),将文本框内容存放到字符串中
SetDlgItemText(IDC_EDIT2,str);
//用SetDlgItemText(文本框ID,字符串),将文本框的内容设置为字符串的内容
}
补充:
至于需要用文本框的内容计算
如果内容是数字的话 可以通过int t=atoi(str);将其转换int类型
计算完成后,将结果Format到字符串中
如:
int t=atoi(str);
t+=2;
strFormat("%d",t);
//在文本框1输入12, 文本框2的内容就是14
评论(0)30
。。。 的感言: 谢谢!!!!!!! 2009-10-31
满意答案
笨 10级 2009-10-31
Updatedata(TRUE)
获取值
Updatedata(FALSE)
输出到另一个框中
条件是你的空间已经关联了变量
追问:
这个我知道用了,但我输入的值在另一个编辑框输出的是0你说的“获取值”怎么获取?
回答:
这么打个比方有两个text框
text1关联int i;
text2关联int j;
那么 你在text1输入数据以后
要使用 Updatedata(TRUE) 来把text1中的值获取到i中
然后让j=i
再使用Updatedata(FALSE)来把j显示到text2中

CString A, B;
GetDlgItemText(IDC_EDIT1, A);
GetDlgItemText(IDC_EDIT2, B);
换成这样获取第1,2个编辑框text试试

是从char到WCHAR的转化还是反过来的呀?只能将char转化为WCHAR,即使用CString::Format(_T("%s"), a);或者是采用for循环和CString::operator+将a[i]逐个地加到CString当中去。
但是反过来转化是没有任何意义的。因为WCHAR(Unicode)字符占两个字节,而char占一个字节,双字节是无法转化为单字节的。最简单的讲:汉字的数量是远远超过英文字符的。所以汉字需要使用双字节来表示;如果强行将汉字用单字节(ASCI字符共有256个)表示,那这种表示是没有意义的。因为该字符集的数量远远小于汉字数量。

为Edit框声明一个CString类型的变量m_Edit,然后直接str=m_Edit。
(注意:要让m_Edit取得Edit框的字符串必须有语句UpdateData(),要让界面内容的变化显现出来必须有语句UpdateData(FALSE))


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13399828.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存