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)第五种不常用,仅供参考。

  • 18
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值