当前位置: 首页 > news >正文

MFC/C++学习系列之简单记录9——简单加法

MFC/C++学习系列之简单记录9——简单加法

  • 前言
  • 界面设计
    • 控件添加
    • 添加变量
    • 添加事件
  • 后台代码
  • 总结


前言

基本的一些使用已经了解,那么就做个简单的加法来练手吧!


界面设计

控件添加

在这里插入图片描述
在工具箱中选择Edit control和Static Text两个控件,分别设置为数据输入、符号“+、=”、数据显示框。

添加变量

设置好简单的控件,需要给控件定义变量名称。鼠标右击控件,选择添加变量。将我们需要输入、输出显示的控件进行变量名称命名。
在这里插入图片描述
这一步是为了程序后台内部绑定。

添加事件

鼠标右击控件,选择添加事件。这里需要在输入数据端进行事件添加。当我输入某一个数据后,我需要在等号后的显示框中显示计算结果,就需要添加事件,当控件响应指示文本更改以后显示已更新,同步更新数据显示。
在这里插入图片描述

后台代码

void CMFCApplication1Dlg::OnEnChangeEdit1()
{// TODO:  在此添加控件通知处理程序代码CString str_sum1, str_sum2, str_sum3;CEdit* pEdit1 = (CEdit*)GetDlgItem(IDC_EDIT1);CEdit* pEdit2 = (CEdit*)GetDlgItem(IDC_EDIT2);CEdit* pEdit3 = (CEdit*)GetDlgItem(IDC_EDIT3);pEdit1->GetWindowText(str_sum1);pEdit2->GetWindowText(str_sum2);int num1 = _ttoi(str_sum1);int num2 = _ttoi(str_sum2);if (num2 != NULL && num1 != NULL){int num3 = num1 + num2;str_sum3.Format(_T("%d"), num3);pEdit3->SetWindowText(str_sum3);}}
  • 换算问题:
    这里涉及到CString转int类型的问题。
    CString转int就是使用_ttoi函数。
CString str_sum1("123");
int num=_ttoi(str_sum1);

int转CString就是使用Format。

int num=111;
CString str_sum3.Format(_T("%d"), num);
  • 控件数据获取与显示。
    这里用到CEdit 是提供了标准编辑控件的功能,可以获取控件的指针,对文本控件进行输入和显示编辑。
    通过CEdit 的GetWindowText就是在对应的控件获取对应的字符串,也就是我们的输入。
    通过CEdit 的SetWindowText就是放置对应的字符串在对应的控件中,也就是我们的输出。
  • 消息映射
    这里的OnEnChangeEdit1()就是我们第一个输入框的响应事件,当输入框输入数据,那么会在对应操作后显示数据在显示框中。

总结

简单的一个加法器把控件、消息映射等基本功能用起来,后期可以开发更多新玩意!

http://www.lryc.cn/news/508388.html

相关文章:

  • 二分查找题目:两球之间的磁力
  • OpenCV相机标定与3D重建(28)估计两个三维点集之间的最优平移变换函数estimateTranslation3D()的使用
  • UE5仿漫威争锋灵蝶冲刺技能
  • CSS盒子模型(溢出隐藏,块级元素和行级元素的居中对齐,元素样式重置)
  • 语音增强的损失函数选择
  • 【python自动化六】UI自动化基础-selenium的使用
  • 【习题答案】让您的应用拥有领先的位置服务能力
  • java中list和map区别
  • java后端传时间戳给前端的三种方式
  • 【机器学习与数据挖掘实战】案例06:基于Apriori算法的餐饮企业菜品关联分析
  • oracle: create new database
  • 混合开发环境---使用编程AI辅助开发Qt
  • Sigrity SystemSI仿真分析教程文件路径
  • 【YashanDB知识库】Oracle pipelined函数在YashanDB中的改写
  • 【开发实战】QT5+ 工业相机 + OpenCV工作流集成演示
  • 各种电机原理介绍
  • 深入了解 React:从入门到高级应用
  • Cglib代理简单案例
  • FreeMarker语法
  • DP动态规划(装箱问题)
  • 内网IP段介绍与汇总
  • 三、ubuntu18.04安装docker
  • 数据库与表空间
  • 【CSS in Depth 2 精译_091】15.4:让 CSS 高度值过渡到自动高度 + 15.5:自定义属性的过渡设置(全新)+ 15.6:本章小结
  • Oracle中间件 SOA之 OSB 12C服务器环境搭建
  • Java设计模式 —— 【结构型模式】外观模式详解
  • 线性表实验
  • 003无重复字符的最长子串
  • 记录--uniapp 安卓端实现录音功能,保存为amr/mp3文件
  • 前端生成docx文档、excel表格、图片、pdf文件