博客
关于我
MFC笔记----编辑框加法运算
阅读量:645 次
发布时间:2019-03-15

本文共 1930 字,大约阅读时间需要 6 分钟。

(均为在“OPeration”按钮的函数中写代码)
方法一:利用控件型变量m_editA,m_editB,m_editC
void CMyDlg::OnButtonOperation() //按钮Operation的函数{    // TODO: Add your control notification handler code hereint numA, numB, numC;char chA[10], chB[10], chC[10];m_editA.GetWindowText(chA, 10); //m_editA、m_editB、m_editC为控件型变量m_editB.GetWindowText(chB, 10);numA = atoi(chA);numB = atoi(chB);numC = numA + numB;itoa(numC, chC, 10);m_editC.SetWindowText(chC);}
注:此时框内无数字。
方法二:利用数值型变量m_numA,m_numB,m_numC,用UpdateData直接上传数据
UpdateData(TRUE);m_numC = m_numA + m_numB;UpdateData(FALSE);
注:此时编辑框初始化就含数字0,初始化成了“= 0.0f;”

并且用类向导编辑了float数值型编辑框变量范围0~100.所以当超出范围时会有提示

如上,第三个框超出范围。

同时,不能删除初始化的数字0,不然:

(不过第三个编辑框用于输出结果,删0也没事儿)

方法三:利用GetDlgItem()和GetWindowText()和SetDlgItem()

int numA, numB, numC;	char chA[10], chB[10], chC[10];	GetDlgItem(IDC_EDIT_A)->GetWindowText(chA, 10); //10为长度	GetDlgItem(IDC_EDIT_B)->GetWindowText(chB, 10); //10为长度	numA = atoi(chA);	numB = atoi(chB);	numC = numA + numB;	itoa(numC, chC, 10);//10为十进制	GetDlgItem(IDC_EDIT_C)->SetWindowText(chC);
方法四:(方法三的升华)利用
GetDlgItemText()和SetDlgItemText()

int numA, numB, numC;	char chA[10], chB[10], chC[10];	GetDlgItemText(IDC_EDIT_A, chA, 10);	GetDlgItemText(IDC_EDIT_B, chB, 10);	numA = atoi(chA);	numB = atoi(chB);	numC = numA + numB;	itoa(numC, chC, 10);//10为十进制	SetDlgItemText(IDC_EDIT_C, chC);
方法五:用GetDlgItemInt()和
SetDlgItemInt(),
不用itoa()和atoi()类型
转换

int numA, numB, numC;	numA = GetDlgItemInt(IDC_EDIT_A);	numB = GetDlgItemInt(IDC_EDIT_B);	numC = numA + numB;	SetDlgItemInt(IDC_EDIT_C, numC);
方法六:使用::SendMessage()

int numA, numB, numC;	char chA[10], chB[10], chC[10];	::SendMessage(GetDlgItem(IDC_EDIT_A)->m_hWnd, WM_GETTEXT, 10, (LPARAM)chA);	::SendMessage(GetDlgItem(IDC_EDIT_B)->m_hWnd, WM_GETTEXT, 10, (LPARAM)chB);	numA = atoi(chA);	numB = atoi(chB);	numC = numA + numB;	itoa(numC, chC, 10);//10为十进制	::SendMessage(GetDlgItem(IDC_EDIT_C)->m_hWnd, WM_SETTEXT, 10, (LPARAM)chC);
注:前两个WM_GETTEXT,后一个WM_SETTEXT

你可能感兴趣的文章
Nginx负载均衡详解
查看>>
Nginx负载均衡(upstream)
查看>>
nginx转发端口时与导致websocket不生效
查看>>
Nginx运维与实战(二)-Https配置
查看>>
Nginx部署_mysql代理_redis代理_phoenix代理_xxljob代理_websocket代理_Nacos代理_内网穿透代理_多系统转发---记录021_大数据工作笔记0181
查看>>
nginx部署本地项目如何让异地公网访问?服务器端口映射配置!
查看>>
Nginx配置HTTPS服务
查看>>
Nginx配置Https证书
查看>>
Nginx配置http跳转https
查看>>
Nginx配置ssl实现https
查看>>
nginx配置ssl证书https解决公网ip可以访问但是域名不行的问题
查看>>
Nginx配置TCP代理指南
查看>>
NGINX配置TCP连接双向SSL
查看>>
Nginx配置——不记录指定文件类型日志
查看>>
nginx配置一、二级域名、多域名对应(api接口、前端网站、后台管理网站)
查看>>
nginx配置中的服务器名称
查看>>
Nginx配置代理解决本地html进行ajax请求接口跨域问题
查看>>
nginx配置全解
查看>>
Nginx配置参数中文说明
查看>>
Nginx配置后台网关映射路径
查看>>