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. You Only Look Once: Unified, Real-Time Object Detection

    论文下载:http://arxiv.org/abs/1506.02640  代码下载:https://github.com/pjreddie/darknet Abstract 作者提出一种新的目标检测 ...

  2. 使用fdisk进行分区

    fdisk进行分区 1.首先使用fdisk -l 发现待分区磁盘/dev/vdb  大小为1TB 2.fdisk /dev/vdb 对该磁盘进行分区,输入m并回车 3.输入n并回车,n是“new”新建 ...

  3. java反射的性能问题

    java反射效率到底如何,花了点时间,做了一个简单的测试.供大家参考. 测试背景: 1. 测试简单Bean(int,Integer,String)的set方法2. loop 1亿次3. 测试代码尽可能 ...

  4. Java中通过Class的反射来获取方法

    本文转自:http://z3sm2012.iteye.com/blog/1933227 今天在程序中用到java反射机制时,遇到的问题记录一下:我当时遇到的问题是,我用反射getMethod()调用类 ...

  5. Python第2天

    今天学习的主要内容: pycharm专业版的安装和注册,采用注册码的方式注册. 运算符,+ — * / // % < > <=  >= != <> . 基本数据类型 ...

  6. js对象拷贝遇到的坑

    问题:通过拷贝赋值后,所有的对象的name居然都是C test(){ let person = [{'name':'danny'}] let names = ['A','B','C'] let tem ...

  7. selenium-java,selenium安装配置

    准备材料 1.java jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.开发工具 https://ww ...

  8. java使用poi生成导出Excel(新)

    导出样式: java代码: import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStre ...

  9. XPath简介及节点

    XPath是一门在XML文档中查找信息的语言. XPath可用来在XML文档中对元素和属性进行遍历. XPath使用路径表达式在XML文档中进行导航. XPath路径表达式:XPath使用路径表达式来 ...

  10. 手动添加jar包到本地maven仓库

    我们都知道使用maven管理jar包的时候,我们需要到远程仓库下载相关的jar包到本地仓库,但是如果远程仓库没有这个jar包呢?这时候我们就需要手动将jar包添加到本地仓库. 起因是我想用百度的富文本 ...