博客
关于我
MFC笔记----编辑框加法运算
阅读量:644 次
发布时间: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

你可能感兴趣的文章
multiprocessing.Manager 嵌套共享对象不适用于队列
查看>>
multiprocessing.pool.map 和带有两个参数的函数
查看>>
MYSQL CONCAT函数
查看>>
multiprocessing.Pool:map_async 和 imap 有什么区别?
查看>>
MySQL Connector/Net 句柄泄露
查看>>
multiprocessor(中)
查看>>
mysql CPU使用率过高的一次处理经历
查看>>
Multisim中555定时器使用技巧
查看>>
MySQL CRUD 数据表基础操作实战
查看>>
multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
查看>>
mysql csv import meets charset
查看>>
multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
查看>>
MySQL DBA 数据库优化策略
查看>>
multi_index_container
查看>>
MySQL DBA 进阶知识详解
查看>>
Mura CMS processAsyncObject SQL注入漏洞复现(CVE-2024-32640)
查看>>
Mysql DBA 高级运维学习之路-DQL语句之select知识讲解
查看>>
mysql deadlock found when trying to get lock暴力解决
查看>>
MuseTalk如何生成高质量视频(使用技巧)
查看>>
mutiplemap 总结
查看>>