1、实验目的

  掌握使用MFC应用程序向导创建应用程序的方法。

  掌握新建对话框资源的方法。

  掌握生成对话框的方法。

2、实验内容

  用应用程序创建一个默认的对话框应用程序,在对话框中能进入下一个对话框,在新的对话框中完成计算总价的功能。效果图如下:

3、实验步骤

1、新建工程

  打开vs2017,新建MFC工程

选择基于对话框,然后其他都是默认设置,点击完成。

2、修改资源,添加控件

在资源文件中,点击mfcdlg.rc

然后展开Dialog文件夹,点击DIALOG打开对话框操作界面

对对话框界面进行操作,可以通过工具箱来来添加控件。

控件删减修改后如图所示:

选中按钮控件,右键选择属性,在属性的Caption中进行如下修改,可以看到按键显示变为了测算。

3、插入新的对话框模板

下面插入一个新的对话框模板

设置新的对话框属性如下,

4、创建对话框类

  选中测算对话框,右键,选择添加类

点击确定会生成一个Cmydlg.h的文件

5、添加打开对话框的控件处理函数

选中IDD_MFCDLG_DIALOG对话框,双击测算按钮会打开mfcDLG.cpp文件

添加处理程序diamagnetic如下:

void CmfcdlgDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
Cmydlg dlg;//定义Cmdlg类的对象dlg
dlg.DoModal();//显示对话框
}

6、添加在IDD_COMPUTE_DIALOG对话框中添加控件

  一次添加三个编辑框控件,三个静态文本控件,和一个按钮控件即可,如下所示

添加完成后布局如下:

修改statictext控件的属性和button的属性Caption,让其显示如下

7、为Edit Control控件添加成员变量

  选中Edit Control控件,右键,选中添加变量

因为输入的是价格数目,所以类别选值,变量类型选择float,访问设置为public,名称对应的是m_price\m_number\m_total

全部设置完成后,打开Cmydlg.h,可以看到类下已经含有了成员变量。

且Cmydlg.cpp中已经包含了成员变量。

这里就是我们添加成员变量的全部操作,如果你发现你添加成员变量的过程中有错误,可以删除上面.h和.cpp的红框中部分,重新设置,当然,你也可以直接通过源码修改。

8、添加控件处理函数

  在本例中,处理函数比较简单,双击计算按钮进入控件事件函数,然后添加代码如下:

void Cmydlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(true);
m_total = m_price * m_number;
UpdateData(false);
}

9、添加控件处理函数

  选择生成->生成解决方案,然后点击调试——>开始执行即可得到如下框图

点击测算,即可打开测算对话框

输入价格,数量,点击计算即可得到总价。

通过MFC设计一个简单的计价程序的更多相关文章

  1. [MFC] 梳理一个简单的图片处理桌面软件中用到的MFC控件技巧

     前言 前些天应好友之拖,帮忙设计一个简单的图像处理的小软件.朋友把核心算法封装好了,但是是用openCV类似于console的编程环境,要我在此基础上改成MFC桌面程序.下图是做成之后的效果: 我是 ...

  2. 如何创建一个简单的struts2程序

    如何创建一个简单的Struts2程序 “计应134(实验班) 凌豪” 1.创建一个新的Web项目test(File->new->Web Project) 2.Struts2框架的核心配置文 ...

  3. 用C语言编写一个简单的词法分析程序

    问题描述: 用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表.如果产生词法错误,则显示错误信息.位置,并试图从错误中恢复.简单的恢复方法 ...

  4. Tomcat详解系列(1) - 如何设计一个简单的web容器

    Tomcat - 如何设计一个简单的web容器 在学习Tomcat前,很多人先入为主的对它的认知是巨复杂的:所以第一步,在学习它之前,要打破这种观念,我们通过学习如何设计一个最基本的web容器来看它需 ...

  5. 编写一个简单的C++程序

    编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main.操作系统通过调用main来运行C++程序.下面是一个非常简单的main函数,它什么也不干, ...

  6. 使用Go开发一个简单的服务器程序

    最近有个小项目,需要一个简单的后台程序来支撑,本来想用Nodejs来做,但是由于本人js一直很菜,并且很讨厌callback,虽然我也很喜欢异步模型,但我一直都觉得JS是反人类的.后台就用了go处理, ...

  7. 设计一个简单的,低耗的能够区分红酒和白酒的感知器(sensor)

    学习using weka in your javacode 主要学习两个部分的代码:1.过滤数据集 2 使用J48决策树进行分类.下面的例子没有对数据集进行分割,完全使用训练集作为测试集,所以不符合数 ...

  8. 一个简单的flask程序

    初始化 所有Flask程序都必须创建一个程序实例. 程序实例是Flask类的对象,经常使用下述代码创建: from flask import Flask app = Flask(__name__) F ...

  9. 利用JSP编程技术实现一个简单的购物车程序

    实验二   JSP编程 一.实验目的1. 掌握JSP指令的使用方法:2. 掌握JSP动作的使用方法:3. 掌握JSP内置对象的使用方法:4. 掌握JavaBean的编程技术及使用方法:5. 掌握JSP ...

随机推荐

  1. Java --Servlet 32个经典问题

    Servlet方面 1.说一说Servlet的生命周期? Servlet有良好的生存期的定义,包括加载和实例化.初始化.处理请求以及服务结束.这个生存期由javax.servlet.Servlet接口 ...

  2. profile default1

    DEVPISAP01:/sapmnt/ISD/profile # more ISD_J20_SHADEVEAIAP01 SAPSYSTEMNAME = ISD SAPSYSTEM = 20 INSTA ...

  3. ELK+Beats日志分析系统部署

    一.            名词介绍: E:ElasticSearch 搜索,简称es L:Logstash 管理日志和事件的工具 K:Kibana 功能强大的数据显示客户端 Beats 轻量级数据传 ...

  4. I2C的小结

    下面是 I 2 C 总线的一些特征 只要求两条总线线路 一条串行数据线 SDA 一条串行时钟线 SCL 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机 从机关系软件设定地 址 主机可以 ...

  5. Sql入门学习——基本语法函数

    --------使用工具navicat 快捷键操作 --------基本操作DML &DDL --------运算比较 --------数据类型 --------常用函数 --------常用 ...

  6. python批量处理文件夹中文件的问题

    用os模块读取文件夹中文件 原来的代码: import osfrom scipy.misc import imread filenames=os.listdir(r'./unprocess')for ...

  7. Java 就业班 Web框架

  8. centos7下 nginx配置upstream 不能直接代理到本机tomcat的解决

    Nginx代理本地tomcat时404. upstream是直接配置server localhost:10000 的.单独访问tomcat是可以的. 查看/var/log/nginx/error.lo ...

  9. HTTPS协议、TLS协议、证书认证过程解析

    一.HTTPS 协议 HTTPS协议其实就是HTTP over TSL,TSL(Transport Layer Security) 传输层安全协议是https协议的核心. TSL可以理解为SSL (S ...

  10. 分库工具mysql

    sharding-sphere  比mycat 更方便 在于mycat属于中间件,更复杂,但也支持更多功能.查询功能更强.