博客
关于我
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

你可能感兴趣的文章
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>
MySQL中的DB、DBMS、SQL
查看>>
MySQL中的DECIMAL类型:MYSQL_TYPE_DECIMAL与MYSQL_TYPE_NEWDECIMAL详解
查看>>
MySQL中的GROUP_CONCAT()函数详解与实战应用
查看>>
MySQL中的IO问题分析与优化
查看>>
MySQL中的ON DUPLICATE KEY UPDATE详解与应用
查看>>
mysql中的rbs,SharePoint RBS:即使启用了RBS,内容数据库也在不断增长
查看>>
mysql中的undo log、redo log 、binlog大致概要
查看>>
Mysql中的using
查看>>
MySQL中的关键字深入比较:UNION vs UNION ALL
查看>>
mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏
查看>>
mysql中的字段如何选择合适的数据类型呢?
查看>>
MySQL中的字符集陷阱:为何避免使用UTF-8
查看>>
mysql中的数据导入与导出
查看>>