通过发送消息获得编辑框文本

这篇博客介绍了两种方法通过发送WM_GETTEXT和WM_SETTEXT消息来获取和设置Windows编辑框中的文本。示例中展示了如何从两个编辑框获取数字,进行相加运算,并将结果显示在第三个编辑框中。同时,还提及了编辑框的复选和焦点转移操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

示例:有三个编辑框,在第一、二个编辑框输入数字,
单击相加按钮结果显示在第三个编辑框

通过发送消息获得编辑框文本 - andylanzhiyong - C++学习

 
方式1:
int num1,num2,num3;
char ch1[10],ch2[10],ch3[10];
//::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
//::SendMessage(m_edit1.m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
//m_edit1.SendMessage(WM_GETTEXT,10,(LPARAM)ch1);
//m_edit2.SendMessage(WM_GETTEXT,10,(LPARAM)ch2);
GetDlgItem(IDC_EDIT1)->SendMessage(WM_GETTEXT,10,(LPARAM)ch1);
GetDlgItem(IDC_EDIT2)->SendMessage(WM_GETTEXT,10,(LPARAM)ch1);

num1=atoi(ch1);
num2=atoi(ch2);
num3=num1+num2;
itoa(num3,ch3,10);

GetDlgItem(IDC_EDIT3)->SendMessage(WM_SETTEXT,10,(LPARAM)ch1);
//m_edit3.SendMessage(WM_SETTEXT,0,(LPARAM)ch3);

方式2:
int num1,num2,num3;
char ch1[10],ch2[10],ch3[10];

SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,10,(LPARAM)ch1);
SendDlgItemMessage(IDC_EDIT2,WM_GETTEXT,10,(LPARAM)ch2);

num1=atoi(ch1);
num2=atoi(ch2);
num3=num1+num2;
itoa(num3,ch3,10);

SendDlgItemMessage(IDC_EDIT3,WM_SETTEXT,0,(LPARAM)ch3);

//穿插另外一个知识点:设置编辑框复选
//设置编辑框复选,文本框中字符索引1到3的文本
SendDlgItemMessage(IDC_EDIT3,EM_SETSEL,1,3);
//设置编辑框文本全部复选
SendDlgItemMessage(IDC_EDIT3,EM_SETSEL,0,-1);
//将焦点转到编辑框中
GetDlgItem(IDC_EDIT3)->SetFocus();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值