mfc简易加法
利用vs2013只做一个只有加法的计算器:
一、新建项目,然后如下图所示,进行选择,并创建。
二、下一步。
三、选择基于对话框,之后直接点完成
四、在整个编译器的最左边找到工具箱,并点击。
/**
为了适应大家的步伐,我把窗口重置了。就又变回这样了,不过对于讲解来说可能是值得的。如果找不到工具箱的话,上方菜单栏中的窗口。然后重置窗口布局。就可以了在编辑器的左边找到工具箱了。
*/
五、拖拽Edit Control到右边的面板上。1、作为被加数
2、再次拖拽,得到加数
3、然后点击把下面这个东西delete掉。
4、左键单击,之后按下delete。
5、再在下面放一个Static Text作为显示结果的地方。
6、再拖拽一个Button,作为点击计算的按钮。
然后进行这四个东西的属性填充。【毕竟这才只画完了界面。事件啊,变量啊都没有绑定。】
六、设置变量
左键点选第一个示例对话框。
然后右键,点击添加变量
2、有三个地方需要修改,
类别改成value 变量类型改成int 变量名改成a。//其他的什么也好啦。
//注意的是:需要先把这个东西的类别设置成变量,然后才可以修改变量的类型。
点击完成。
3、如法炮制修改加数的那个框框。
注意的是:需要先把这个东西的类别设置成变量,然后才可以修改变量的类型。
4、左键点击Static,右键,出现下拉框,点击属性。
5、然后发现这个编辑器里面,右下方的标题栏被置为蓝色,表示当前区域获得焦点,也就是我们需要操作的地方。
6、修改属性里面caption的值为运算结果,之后会发现,左边那里被变成了运算结果。
7、把id修改一下,改成IDC_RESULT。【由于这个ide毕竟有点儿不太好用,如果不改的话,好像还没有办法为这个控件添加变量。所以好多界面的东西都用qt开发了,象你知道的QQ就是用qt开发的。或许等我会把opencv那一套能在qt上使了,我就不看mfc了。。。昏蛋。。。】
8、单击这个静态文本,然后右键添加变量。
修改之后点击完成。
9、为了美观,我们把Button1的caption也改了。改成“运算”。
七、添加函数:
1、双击“运算”这个按钮。
这就是,到时候我们点击按钮时会作出相应的函数。
2、编辑代码:
代码:
UpdateData(true);
c = a + b;
UpdateData(false);
八、这就大功告成了。
1、点击绿色小箭头。
2、得到输出结果:
3、测试:
4、看来是没有出问题
八、扩展阅读
1、
UpdateData(true);//见名知意,更新数据。不过它到底是什么呢?双击UpdateData这个单词。按下F12
【
进入到另外一个人家写好的文件里面,f12就是回到函数定义或者声明的地方,以查看原来的文件。
发现:
// Dialog Data support 对话数据支持
public:
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
// data wnd must be same type as this wnd并不知道是啥。。。
总之至少知道这是一个更新数据的函数,返回值是bool类型的,接收一个bool数据类型的数据。并且我们也的确是放置了不同的bool值。
True代表,值从控件到内存。
False代表,值从内存到控件,也就是界面,然后被我们所看见。
所以先设置true,表示我们往两个Edit Control里面输了两个数字,有程序接收,放到内存。之后进行运算,运算之后,反馈结果到c里面。
然后我们再次执行UpdateData(false);表示数据从内存到界面。然后我们就看到了这个运算结果。
原文参考:http://www.jizhuomi.com/school/c/157.html
】
c = a + b;//记得我们之前写的 a 和 b 还有c 嘛,就是他们了,分别指定了int型的变量abc。然后做加法
UpdateData(false);
2、按了F12回不去了怎么办,【笑哭。。。】这个vs里面有一些快捷键可以让我们迅速进行光标的切换,按下 Ctrl 和-【读作减号】 以及Ctrl 和Shift 和 -【读作减号】 ,这两组快捷键试试吧
mfc简易加法的更多相关文章
- C++ mfc 简易文本编辑器 遇到的一些问题
[题目40]简易文本编辑器. 设计一个简易的文本编辑器. 设计要求: (1) 具有图形菜单界面: (2) 查找,替换(等长,不等长),插入(插串,文本块的插入).文本块移动(行块,列块移动),删除; ...
- MFC简易画图
开发一个MFC绘图程序,基于"文档-视图"结构,在客户区能够完成: ①画直线 ②画矩形 ③画圆(椭圆) ④画任意折线(右键结束) ⑤画任意多边形(右键结束,并形成闭环) 注:图形中 ...
- VS2015 建立一个C++的MFC简易窗体程序项目
一开始建立的窗体工程都是带很多窗口,而且自己拉到窗体的控件,一调试就看不到了,是因为新建立工程项目时勾选了太多其他的了,这里记录分享一下建立一个单纯的窗体程序项目步骤给有需要的人也可以学习. 第一步: ...
- 1.iOS第一个简单APP
大纲: iOS系统发展 UI和OC 简单的APP程序 程序的生命周期 1.iOS的系统发展 从1983年OC程序开始发展到2015年,30多年的时间,但这依然不是一个十分完善的语言,可以说现在都没 ...
- Vuex状态管理详解
什么是Vuex 专门为vue应用程序开发的状态管理模式,采用集中式存储管理应用的所有组件的状态(数据),以相应的规则保证状态以一种可预测的方式发生改变 Vuex的作用(什么样的情况下使用Vuex) 多 ...
- 数据类型转换,JS操作HTML
数据类型转换 1.自动转换(在某种运算环境下) Number环境 String环境 Boolean环境 2.强制类型转换 Number() 字符串:纯数字和空字符转为正常数字,其他NaN 布尔值:tu ...
- MFC 点击改变文本 加法计时器 伸缩窗体
1.添加所需控件,设置ID:labNum1,txtNum1.txtNum2.txtNum3.btnAdd,并将labNum1的属性Notify->true(控件在被单击或双击时可以发送消息) 2 ...
- Vuex基础 -01 -实现简易计数器 -支持 加数/ 减数/ 奇数再加/ 异步加法(setTimeout 1000ms) -单组件演示语法
Vuex 的结构图 工程组织 Vuex的核心管理程序 store.js /* vuex的核心管理程序 */ import Vue from 'vue' import Vuex from 'vuex' ...
- MFC编程入门之二十五(常用控件:组合框控件ComboBox)
上一节讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box.组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框 ...
随机推荐
- Java was started but returned exit code=13 C:\ProgramData\Oracle\Java\javapath\javaw.exe
---------------------------Eclipse---------------------------Java was started but returned exit code ...
- 黑盒测试用例设计方法&理论结合实际 -> 等价类划分
一. 概念 等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例.每一类的代表性数据在测试中的作用等价于这一类中的其他值. 二. 等价类划分的应用 等价类 ...
- e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (三) SqlServer数据库的访问
上一篇文章“e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step 二 图片验证码的识别” ...
- Ubuntu上搭建Watir-Webdriver与Cucumber环境
本文主要演示如何在Ubuntu上搭建Watir-Webdriver与Cucumber环境,用于自动化测试. 1. Ubuntu环境 A. 安装 因为我的工作机是Windows,所以采用虚拟机的方式使用 ...
- 动态加载JS(css)文件
<script language="javascript">document.write("<script src='test.js'><\ ...
- 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇01:道路的自动生成》
1.道路的自动生成 道路自动生成概述: 3D跑酷游戏的核心就是跑,在跑这一过程中增加趣味性使得游戏具有更多的可玩性.道路的自动生成和自由拼接,为游戏增设了更多的不可预见性.这种不可预见性使得玩家在游戏 ...
- algorithm@ Divide two integers without using multiplication, division and mod operator. (Bit Operation)
#include<bits/stdc++.h> using namespace std; int divide(int dividend, int divisor) { long long ...
- 【noip2012】开车旅行
题意: 给n个点的海拔h[i](不同点海拔不同) 两点的距离为abs(h[i]-h[j]) 有a.b两人轮流开车(只能往下标大的地方开) a每次会开到里当前点第二近的点 b每次会开到离当前点最近的点( ...
- Django中的Model(操作表)
Model 操作表 一.基本操作 # 增 models.Tb1.objects.create(c1='xx', c2='oo') #增加一条数据,可以接受字典类型数据 **kwargs obj = m ...
- Java反射机制(获取Class对象的三种方式+获取Class中的构造函数进行对象的初始化+获取反射类的字段+获取反射类的一般方法)
反射技术其实就是动态加载一个指定的类,并获取该类中的所有内容.而且将字节码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员,简单来说:反射技术可以对一个类进行解剖,反射大大增强 ...