MFC编辑框数据读写

简介:
有几种常用的获取编辑框内容和写入的方法,初学者往往容易迷惑。

1.第一种
通过GetDlgItem和GetWindosText

char szEdit[10] = {0};
int nEdit = 0;

GetDlgItem(IDC_EDIT1)->GetWindowText(szEdit, 10); //获取
nEdit = atoi(szEdit); 
GetDlgItem(IDC_EDIT2)->SetWindowText(szEdit);    //写入

调用atoi函数可将获取到的值直接转换成整型。itoa作用相反。

2.第二种
通过GetDlgItemText

char szEdit[10] = {0};

GetDlgItemText(IDC_EDIT1, szEdit, 10); //获取
SetDlgItemText(IDC_EDIT2, szEdit);     //写入

3.第三种
通过GetDlgItemInt,只能获得整型数值

int nEdit = 0;
nEdit = GetDlgItemInt(IDC_EDIT1);
写入调用SetDlgItemInt();

4.第四种
通过类向导建立和编辑框关联的变量

1)数据型变量
(1)读取数据
UpdateData(TRUE); //从编辑框中获取数据到关联变量
(2)写入数据
UpdateData(FALSE); //关联变量的值更新到编辑框中

2)关联编辑框类型变量
char szEdit[10] = {0};
m_Edit.GetWindowText(szEdit, 10);
m_Edit.GetWindowText(szEdit);
m_Edit是CEdit类型的变量。

5.第五种
通过消息发送的方式。

1)SendMessage
(1)读取
char szEdit[10] = {0};
::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd, WM_GETTEXT, 10, LPARAM(szEdit));
使用的自带的WM_GETTEXT消息。也可以自定义可用于对话框数据间的传递。
查看MSDN:WM_GETTEXT

This message is sent by an application to copy the text that corresponds to a window into a buffer provided by the caller.

WM_GETTEXT wParam = (WPARAM) cchTextMax;
lParam = (LPARAM) lpszText;
(2)写入
GetDlgItem(IDC_EDIT1)->SendMessage(WM_SETTEXT, 0, (LPARAM)szEdit);
查看MSDN:WM_SETTEXT
This message is sent by an application to set the window text.

WM_SETTEXT wParam = 0; lParam = (LPARAM)(LPCTSTR) lpsz;

2)SendDlgItemMessage
(1)读取
SendDlgItemMessage(IDC_EDIT1, WM_GETTEXT, 10, (LPARAM)szEdit);
(2)写入
SendDlgItemMessage(IDC_EDIT1, WM_SETTEXT, 0, (LPARAM)szEdit);

6.注意
1)常用的是前四种。

2)第四种在编辑框较多情况下比较实用,大于三个建议使用此方法。

3)第五种不常用,仅供参考。

原文:https://blog.csdn.net/c_gyl/article/details/66972310

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值