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

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.kler.cn/a/446300.html

相关文章:

  • ue5玩家角色添加武器。切换武器位置,手上武器放到背上。演示一下人体插槽和武器的连接。仅仅演示,实际项目不是这么用的
  • CSS鼠标悬浮及其样式
  • 第R4周:LSTM-火灾温度预测
  • 《机器学习》——支持向量机(SVM)
  • pytest 参数介绍
  • Ubuntu网络连接问题(笔记本更换wifi后,虚拟机连不上网络)
  • ARP具体过程
  • Unity局部和世界坐标系相互转换的实现原理
  • java——Synchronized与Lock
  • 2024年《网络安全事件应急指南》
  • oracle 设置归档日志存放路径
  • 网络安全 | 五大核心领域:防护、检测、响应、恢复与治理
  • 欢乐力扣1-10
  • filebeat7.0安装和基本使用
  • 【C++】智能指针详解
  • SpringBoot Redis list 消息队列
  • HTTP—03
  • Flutter组件————FloatingActionButton
  • 【优先算法】双指针 --(结合例题讲解解题思路)(C++)
  • 【java】全文索引,普通索引,以及ES搜索引擎组件的关系
  • MATLAB中cvx工具箱的使用
  • 三次翻转实现数组元素的旋转
  • 深入了解Python模拟负载均衡器:将请求高效分发至多个服务器
  • Emacs折腾日记(四)——elisp控制结构
  • Django 模板分割及多语言支持案例【需求文档】-->【实现方案】
  • springboot 3 websocket react 系统提示,选手实时数据更新监控