MFC两数相加的7种方法(一)

在写代码之前先要定义三个Edit Control 控件分别用来存放加数和和
还需要添加上七个按键控件。(自己使用建议3,4,5,7这四种方式不一样)

第一种

GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,12);
GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);
void CMFCday11copyDlg::OnBnClickedButton3()
{
	// TODO: 在此添加控件通知处理程序代码
	int num1,num2,num3;
	TCHAR ch1[12],ch2[12],ch3[12];

	GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,12);//将文本框中的字符放入字符变量里面
	GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,12);

	num1=_ttoi(ch1);//将字符变量转换成为整型变量
	num2=_ttoi(ch2);

	num3=num2+num1;//使用整型变量加减
    
	_itot(num3,ch3,10);//再将整型变量转化为字符变量准备输出
	GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);//将字符变量里面的文字设置到文本框中
}

第二种(第一种简化版)

GetDlgItemText(IDC_EDIT1,ch1,12);
SetDlgItemText(IDC_EDIT3,ch3);
void CMFCday11copyDlg::OnBnClickedButton4()
{
	// TODO: 在此添加控件通知处理程序代码
	int num1,num2,num3;
	TCHAR ch1[12],ch2[12],ch3[12];

	GetDlgItemText(IDC_EDIT1,ch1,12);//获取文本框中的内容,存放如字符变量
	GetDlgItemText(IDC_EDIT2,ch2,12);

	num1=_ttoi(ch1);//字符变量转换为整型变量
	num2=_ttoi(ch2);

	num3=num1+num2;//整型变量相加减

	_itot(num3,ch3,10);//整型变量转换为字符变量
	SetDlgItemText(IDC_EDIT3,ch3);//设置字符变量到文本框中
}

第三种(第一种最简版)

num1=GetDlgItemInt(IDC_EDIT1);
SetDlgItemInt(IDC_EDIT3,num3);
void CMFCday11copyDlg::OnBnClickedButton5()
{
	// TODO: 在此添加控件通知处理程序代码
	int num1,num2,num3;

	num1=GetDlgItemInt(IDC_EDIT1);//将输入到文本框中的内容直接转换为可以进行计算的整型变量
	num2=GetDlgItemInt(IDC_EDIT2);

	num3=num1+num2;//整型变量相加减

	SetDlgItemInt(IDC_EDIT3,num3);//将整型变量直接放入文本框中
}

第四种(控件变量的设置)

UpdateData(TRUE);
UpdateData(FALSE);
   
void CMFCday11copyDlg::OnBnClickedButton6()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(TRUE);//界面到变量(上转数据打开)
	m_num3=m_num1+m_num2;//设置文本框的变量直接进行计算
	UpdateData(FALSE);//变量到界面
}

第五种(控件控制的设置)

m_edit1.GetWindowText(ch1,12);

m_edit3.SetWindowTextW(ch3);

void CMFCday11copyDlg::OnBnClickedButton7()
{
	// TODO: 在此添加控件通知处理程序代码
	int num1,num2,num3;
	TCHAR ch1[12],ch2[12],ch3[12];

	m_edit1.GetWindowText(ch1,12);
	m_edit2.GetWindowText(ch2,12);

	num1=_ttoi(ch1);
	num2=_ttoi(ch2);
	num3=num2+num1;

	_itot(num3,ch3,10);
	m_edit3.SetWindowTextW(ch3);
}

第六种(window直查方式)

::SendMessageA(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,12,(LPARAM)ch1);

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

void CMFCday11copyDlg::OnBnClickedButton8()
{
	// TODO: 在此添加控件通知处理程序代码
	int num1,num2,num3;
	TCHAR ch1[12],ch2[12],ch3[12];
	::SendMessageA(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,12,(LPARAM)ch1);//::代表全局空间中的数据函数
	/*使用window的方式 ::SendMessageA(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,12,(LPARAM)ch1);
	GetDlgItem(IDC_EDIT1)->m_hWnd//获取窗口据点 WM_GETTEXT//得到据点内的值为text 12//数组大小  (LPARAM)ch1//数组名称*/
	::SendMessageA(GetDlgItem(IDC_EDIT2)->m_hWnd,WM_GETTEXT,12,(LPARAM)ch2);

	num1=_ttoi(ch1);
	num2=_ttoi(ch2);
	num3=num2+num1;

	_itot(num3,ch3,10);
	::SendMessageA(GetDlgItem(IDC_EDIT3)->m_hWnd,WM_SETTEXT,0,(LPARAM)ch3);

}

第七种(第六种方式的简化版)

SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,12,(LPARAM)ch1);

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

void CMFCday11copyDlg::OnBnClickedButton9()
{
	// TODO: 在此添加控件通知处理程序代码
	int num1,num2,num3;
	TCHAR ch1[12],ch2[12],ch3[12];
	SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,12,(LPARAM)ch1);
	SendDlgItemMessage(IDC_EDIT2,WM_GETTEXT,12,(LPARAM)ch2);

	num1=_ttoi(ch1);
	num2=_ttoi(ch2);
	num3=num1+num2;

	_itot(num3,ch3,10);
	SendDlgItemMessage(IDC_EDIT3,WM_SETTEXT,0,(LPARAM)ch3);
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值