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.rhkb.cn/news/494396.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AOP 面向切面编程的实现原理

AOP是基于IOC的Bean加载来实现的,所以理解Spring AOP的初始化必须要先理解Spring IOC的初始化。然后就能找到初始化的流程和aop对应的handler,即parseCustomElement方法找到parse aop:aspectj-autoproxy的handler(org.springframework.aop.config.AopNam…

VSCode搭建Java开发环境 2024保姆级安装教程(Java环境搭建+VSCode安装+运行测试+背景图设置)

名人说:一点浩然气,千里快哉风。—— 苏轼《水调歌头》 创作者:Code_流苏(CSDN) 目录 一、Java开发环境搭建二、VScode下载及安装三、VSCode配置Java环境四、运行测试五、背景图设置 很高兴你打开了这篇博客,更多详细的安装教程&…

【机器学习与数据挖掘实战】案例06:基于Apriori算法的餐饮企业菜品关联分析

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈机器学习与数据挖掘实战 ⌋ ⌋ ⌋ 机器学习是人工智能的一个分支,专注于让计算机系统通过数据学习和改进。它利用统计和计算方法,使模型能够从数据中自动提取特征并做出预测或决策。数据挖掘则是从大型数据集中发现模式、关联…

Go怎么做性能优化工具篇之基准测试

一、什么是基准测试(Benchmark) 在 Go 中,基准测试是通过创建以 Benchmark 开头的函数,并接收一个 *testing.B 类型的参数来实现的。testing.B 提供了控制基准测试执行的接口,比如设置测试执行的次数、记录每次执行的…

vulnhub靶场【WhowWantsToBeKing】之1

前言 靶机:whowantstobeking-1,ip地址192.168.1.67 攻击:kali ,ip地址192.168.1.16 主机发现 使用arp-sacn -l或者netdiscover -r 192.168.1.1/24扫描 信息收集 使用nmap扫描端口 网站信息探测 访问80端口默认界面&#xff…

Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】

JAVA最新版JDK 23 安装教程详解 Java Development Kit (JDK) 23 是Oracle发布的最新长期支持版本 (LTS) 之一,它带来了许多新特性和改进。 本教程将详细介绍如何在Windows、macOS和Linux系统上安装JDK 23,并涵盖一些常见问题和解决方法。 一、 准备工作…

set的使用

文章目录 一、关联式容器二、set1、set的介绍2、set的使用2.1、元素的插入(insert接口)2.2、pair的简单讲解2.3、元素的查找(find接口)2.4、判断元素是否在set中(count接口)2.5、元素的删除(era…

[Xshell] Xshell的下载安装使用、连接linux、 上传文件到linux系统-详解(附下载链接)

前言 xshell 链接:https://pan.quark.cn/s/57062561e81a 提取码:TK4K 链接失效(可能被官方和谐)可评论或私信我重发 安装 下载后解压得到文件 安装路径不要有中文 打开文件 注意!360等软件会拦截创建注册表的行为&a…

基于蜂鸟视图的智慧可视化巡检管理系统研究

摘要 本文围绕蜂鸟视图研发的智慧可视化巡检管理系统展开研究,系统依托室内地图和室内定位技术,覆盖“规划、巡场、检查、上报”的完整业务流程。核心功能包括基于蓝牙定位的巡检点位置验证、可视化巡场地图的在线规划与导航、以及巡检路线轨迹的回放分析…

GUI07-学工具栏,懂MVC

MVC模式,是天底下编写GUI程序最为经典、实效的一种软件架构模式。当一个人学完菜单栏、开始学习工具栏时,就是他的一生中,最适合开始认识 MVC 模式的好时机之一。这节将安排您学习: Model-View-Controller 模式如何创建工具栏以及…

Chrome 关闭自动添加https

Open Chrome and go to “chrome://net-internals/#hsts”

重拾设计模式--外观模式

文章目录 外观模式(Facade Pattern)概述定义 外观模式UML图作用 外观模式的结构C 代码示例1C代码示例2总结 外观模式(Facade Pattern)概述 定义 外观模式是一种结构型设计模式,它为子系统中的一组接口提供了一个统一…

gitlab代码推送

点击这个√ 修改的文件全部选上 填好提交的名称 点击commit 选取提交的 gitlab 库 点击Push

echarts画风向杆

1.安装echarts 2.引入echarts 4.获取数据,转换数据格式 windProfile.title.text ${moment(time.searchTime[0], ‘YYYY-MM-DD HH:mm:ss’).format( ‘YYYY-MM-DD HH:mm’ )}-${moment(time.searchTime[1], ‘YYYY-MM-DD HH:mm:ss’).format(‘YYYY-MM-DD HH:mm’)…

Java字符串的|分隔符转List实现方案

字符串处理 问题背景代码实现代码优化原因分析实现方案 注意事项异常处理Maven未识别异常 问题背景 在项目组对账流程中,接收对方系统的对账文件,数据以|为分隔符,读取文件内容,分条入库。 代码实现 Java中将字符串转给list&am…

「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台

本篇将带你实现一个虚拟音乐控制台。用户可以通过界面控制音乐的播放、暂停、切换歌曲,并查看当前播放的歌曲信息。页面还支持调整音量和动态显示播放进度,是音乐播放器界面开发的基础功能示例。 关键词 UI互动应用音乐控制播放控制动态展示状态管理按钮…

iOS从Matter的设备认证证书中获取VID和PID

设备认证证书也叫 DAC, 相当于每个已经认证的设备的标识。包含了 VID 和 PID. 根据 Matter 对于设备证书的规定,DAC证书subject应该包含VID 和 PID. 可通过解析 X509 证书读取subject 来获得信息。 1 通过 SPM 添加X509 git地址:https://github.com/ap…

计算机毕业设计PyFlink+Hadoop广告推荐系统 广告预测 广告数据分析可视化 广告爬虫 大数据毕业设计 Spark Hive 深度学习 机器学

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

(2024.12)Ubuntu20.04安装openMVS<成功>.colmap<成功>和openMVG<失败>记录

一、安装openMVS 官方文档:https://github.com/cdcseacave/openMVS/wiki/Building sudo apt-get -y install git mercurial cmake libpng-dev libjpeg-dev libtiff-dev libglu1-mesa-dev eigen git clone https://gitlab.com/libeigen/eigen --branch 3.4 mkdi…

UE5 猎户座漂浮小岛 12 技能 瞬移 重力控制

1. 瞬移 1.1. 显示鼠标光标 “事件开始运行”添加显示鼠标逻辑 1.2. 释放技能蓝图 设置技能键 编写蓝图 1.3. 瞬移最大距离 2. 重力控制 2.1. 添加输入与动画 映射 重定向得到动画 新增状态FIRE_GracityControl 设置动画姿势 新增变量 切换动画 2.2. 技能蓝图(…