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

来源:互联网 发布:企业管理网络培训 编辑:程序博客网 时间:2024/06/05 03:44
示例:有三个编辑框,在第一、二个编辑框输入数字,
单击相加按钮结果显示在第三个编辑框

通过发送消息获得编辑框文本 - 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();

原创粉丝点击