MFC 操作控件数据

在MFC中有多种获取控件数据的方法

1.GetWindowText()和SetWindowText()函数

1 int num1,num2,num3;
2 char ch1[10],ch2[10],ch3[10];
3 GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);
4 GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);
5 num1 = atoi(ch1);
6 num2 = atoi(ch2);
7 num3 = num1+num2;
8 itoa(num3,ch3,10);
9 GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);
View Code

 2.GetDlgItemText()和GetDlgItemText()函数

1 GetDlgItemText(IDC_EDIT1,ch1,10);
2 GetDlgItemText(IDC_EDIT2,ch2,10);
3 num1 = atoi(ch1);
4 num2 = atoi(ch2);
5 num3 = num1+num2;
6 itoa(num3,ch3,10);
7 SetDlgItemText(IDC_EDIT3,ch3);
View Code

 3.将对话框中的类中添加新的数据成员,是新的数据成员通过DDX和DDV和控件联系起来。

操作步骤如下:

(1)查看- 类编辑向导-Member Variables 中添加类成员变量和控件相关连,并填写好变量的取值范围。

1 UpdateData();
2 m_num3 = m_num1+m_num2;
3 UpdateData(FALSE);
View Code

 4.添加控件和控件之间的关联,操作步骤和3类似,不同的地方在于添加的数据成员变量类型是控件

1 m_Edit1.GetWindowText(ch1,10);
2 m_Edit2.GetWindowText(ch2,10);
3 num1=atoi(ch1);
4 num2=atoi(ch2);
5 num3=num1+num2;
6 itoa(num3,ch3,10);
7 m_Edit3.SetWindowText(ch3);
View Code

 5.调用SendMessage函数

 1 ::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
 2 ::SendMessage(m_Edit1.m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
 3 GetDlgItem(IDC_EDIT1)->SendMessage(WM_GETTEXT,10,(LPARAM)ch1);
 4 m_Edit1.SendMessage(WM_GETTEXT,10,(LPARAM)ch1);
 5 m_Edit2.SendMessage(WM_GETTEXT,10,(LPARAM)ch2);    
 6 num1=atoi(ch1);
 7 num2=atoi(ch2);
 8 num3=num1+num2;
 9 itoa(num3,ch3,10);    
10 m_Edit3.SendMessage(WM_SETTEXT,0,(LPARAM)ch3);
View Code

 6.调用SendDlgItemMessage函数

 1 int num1,num2,num3;
 2 char ch1[10],ch2[10],ch3[10];
 3 
 4 SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,10,(LPARAM)ch1);
 5 SendDlgItemMessage(IDC_EDIT2,WM_GETTEXT,10,(LPARAM)ch2);
 6 
 7 num1=atoi(ch1);
 8 num2=atoi(ch2);
 9 num3=num1+num2;
10 itoa(num3,ch3,10);
11 
12 SendDlgItemMessage(IDC_EDIT3,WM_SETTEXT,0,(LPARAM)ch3);
13 SendDlgItemMessage(IDC_EDIT3,EM_SETSEL,0,-1);
14 m_Edit3.SetFocus();
View Code

 7.调用函数GetDlgItemInt()

num1 = GetDlgItemInt(IDC_EDIT1);
num2 = GetDlgItemInt(IDC_EDIT2);
num3 = num1+num2;
SetDlgItemInt(IDC_EDIT3,num3);
//SetDlgItemText(IDC_EDIT3,itoa(num3,ch3,10));
View Code
posted @ 2015-04-21 14:29  蓝色L火焰  阅读(302)  评论(0编辑  收藏  举报