利用MFC 对话框访问控件的七种方法

本文通过一个基于MFC的对话框项目,详细介绍了七种不同的方法来访问和操作对话框中的控件,包括获取和设置编辑框内容,进行数值计算并更新显示。涉及的方法包括GetDlgItem、GetDlgItemText、GetDlgItemInt、UpdateData、CEdit类方法、SendMessage及SendDlgItemMessage等。

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

1、新建一个MFC基于对话框的的新项目

 

按确定->下一步->基于对话框(如下图)->完成

 

 

2、添加三个list control、两个static text和七个button,然后在static texe的属性中将两个Caption 改成+、=

 

3.1、双击button1,添加以下代码

   

  程序代码:

  // TODO:  在此添加控件通知处理程序代码

//方法一

int num1, num2, num3;

TCHAR ch1[12], ch2[12], ch3[12];//定义字符串,用来存放字符

 

GetDlgItem(IDC_EDIT1)->GetWindowText(ch1, 12);//将输入的字符存入ch1中

GetDlgItem(IDC_EDIT2)->GetWindowText(ch2, 12);

 

num1 = _ttoi(ch1);//将ch1中的字符类型转化为数字类型

num2 = _ttoi(ch2);

num3 = num1 + num2;

 

_itow_s(num3, ch3, 10);//将num3中的数字类型按照十进制变成字符类型

 

GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);


3.2、双击button2,添加以下代码

   

  程序代码:

 

// TODO:  在此添加控件通知处理程序代码

//方法二

 

int num1, num2, num3;

TCHAR ch1[12], ch2[12], ch3[12];//定义字符串,用来存放字符

 

//GetDlgItem(IDC_EDIT1)->GetWindowText(ch1, 12);//将输入的字符存入ch1中

GetDlgItemText(IDC_EDIT1, ch1,12);

//GetDlgItem(IDC_EDIT2)->GetWindowText(ch2, 12);

GetDlgItemText(IDC_EDIT2, ch2,12);

num1 = _ttoi(ch1);//将ch1中的字符类型转化为数字类型

num2 = _ttoi(ch2);

num3 = num1 * num2;

 

_itow_s(num3, ch3, 10);//将num3中的数字类型按照十进制变成字符类型

 

GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);

SetDlgItemText(IDC_EDIT3, ch3);


3.3、双击button3,添加以下代码

   

  程序代码:

// TODO:  在此添加控件通知处理程序代码

//方法三

int num1, num2, num3;

num1 = GetDlgItemInt(IDC_EDIT1);//将字符类型直接转化为数字类型

num2 = GetDlgItemInt(IDC_EDIT2);

num3 = num1 / num2;

 

SetDlgItemInt(IDC_EDIT3, num3);


3.4、按右键(添加变量)给三个list control中分别添加三个变量m_num1,m_num2,m_num3

 

双击button4,添加以下代码

   

  程序代码:

    // TODO:  在此添加控件通知处理程序代码

//方法四

//在三个edit编辑窗中关联三个变量m_num1,m_num2,m_num3(int  value)

UpdateData(TRUE);//调用uatadadata函数,把控件里输入的数据关联到变量里

m_num3 = m_num1 - m_num2;

                 UpdateData(FALSE);//将变量里的数据关联到界面上的控件里


3.5、按右键(添加变量)给三个list control中分别添加三个变量a,b,c

 

 

双击button5,添加以下代码

   

  程序代码:

 

// TODO:  在此添加控件通知处理程序代码

//方法五

//在三个edit编辑窗中关联三个变量a,b,c( CEdit  control)

int num1, num2, num3;

TCHAR ch1[12], ch2[12], ch3[12];//定义字符串,用来存放字符

 

a.GetWindowText(ch1, 12);

b.GetWindowText(ch2, 12);

 

num1 = _ttoi(ch1);

num2 = _ttoi(ch2);

 

num3 = num1*num2;

_itow_s(num3, ch3, 10);

c.SetWindowText(ch3);

                 UpdateData(FALSE);//将变量里的数据关联到界面上的控件里


3.6、双击button6,添加以下代码

   

  程序代码:

// TODO:  在此添加控件通知处理程序代码

//方法六

int num1, num2, num3;

TCHAR ch1[12], ch2[12], ch3[12];//定义字符串,用来存放字符

::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT, 12, (LPARAM)ch1);//发送消息给文本框edit

::SendMessage(GetDlgItem(IDC_EDIT2)->m_hWnd,WM_GETTEXT, 12, (LPARAM)ch2);

 

num1 = _ttoi(ch1);

num2 = _ttoi(ch2);

 

num3 = num1+num2;

_itow_s(num3, ch3, 10);

 

::SendMessage(GetDlgItem(IDC_EDIT3)->m_hWnd,WM_SETTEXT, 0, (LPARAM)ch3);


3.7、双击button7,添加以下代码

   

  程序代码:

// TODO:  在此添加控件通知处理程序代码

//方发七

 

int num1, num2, num3;

TCHAR ch1[12], ch2[12], ch3[12];//定义字符串,用来存放字符

SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT, 12, (LPARAM)ch1);//发送消息给文本框edit

SendDlgItemMessage(IDC_EDIT2,WM_GETTEXT, 12, (LPARAM)ch2);

 

num1 = _ttoi(ch1);

num2 = _ttoi(ch2);

 

num3 = num1 + num2;

_itow_s(num3, ch3, 10);

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值