zoukankan      html  css  js  c++  java
  • 什么是MFC,用MFC建立一个简单的计算器应用程序

    什么是MFC,用MFC建立一个简单的计算器应用程序

    2017-03-17 20:25:36 程度上可能 阅读数 1032 文章标签: windows应用 更多

    分类专栏: MFC学习笔记

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    本文链接:https://blog.csdn.net/qq_29977545/article/details/62898087

    定义

    定义:微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。


    定义中的重点内容有以下4点: 
    1. MFC是一种类库 
    2. 以C++类的形式进行封装 
    3. 包含一个应用程序框架 
    4. MFC类库中含有很多句柄,控件,组件封装类

    举例

    下边我们用MFC建立一个简单的计算机对话框,来体会一下什么是MFC,怎样建立一个典型的MFC应用程序。

    • 建立MFC应用程序框架

      • 双击桌面上的Visual C++ 6.0应用程序图标 
        这里写图片描述
      • 点击file->new,弹出new对话框。在projects栏中左键单击选择MFC AppWizard[exe],project name位置输入工程名字(这里我们输入test),location位置选择工程存放的位置(这里选择F:\MYCODE) 
        这里写图片描述
      • 点击OK,选择single document 
        这里写图片描述
      • 点击next,不做任何操作。 
        这里写图片描述
      • 点击next,不做任何操作。 
        这里写图片描述
      • 点击finish 
        这里写图片描述
      • 点击OK。这时我们已经建立了一个空的MFC窗口应用程序。 
        这里写图片描述
      • 现在我们看一看一个空的MFC应用程序框架,编辑,运行的结果: 
        这里写图片描述
    • 构造一个简单的计算器界面 
      • 点击资源视图,点击“+”打开test resourses,点击“+”打开Dialog。 
        这里写图片描述
      • 右键单击Dialog,左键点击选择insert,弹出对话框 
        这里写图片描述
      • 左键单击选择Dialog,点击new,新建一个对话框 
        这里写图片描述
      • 左键分别选中新建对话框控件的OK,CANCEL按钮,点击delete按键删除。然后从control是列表中选中控件加入。 
        这里写图片描述
      • 列右键点击控件,选择properties,改变控件的ID,标题。 
        这里写图片描述
    • 现在我们在原有的空白窗口的菜单栏中,加入一个compute选项,当我们点击compute时就会弹出我们新建的计算器对话框。 
      • 点击资源视图中的Menu中的IDR_MAINFRAME,在编辑框中出现我们的菜单选项。 
        这里写图片描述
      • 右键点击菜单栏资源“帮助”后边的空白处,选择properties,在caption(标题)处输入“compute”,取消pop-up的选中,在ID处输入“IDC_compute” 
        这里写图片描述
      • 关闭properties对话框,右键单击compute,选择class wizard。弹出class wizard对话框,在project处选择test(即工程名),classname处输入“cmainframe”,object IDs处选择“IDC_compute”,message处选择“commend”,点击add function->OK->edit code. 
        这里写图片描述
      • 这时弹出了MainFrame.cpp文件代码,其中有一个空的oncompute函数。我们点击菜单栏中的compute时,会调用oncompute函数 
        这里写图片描述
      • 这时我们希望调用oncompute函数时,弹出我们的计算器对话框。这就需要创建一个计算器对话框的类,并由此类定义一个计算器对象。首先,我们先为我们的计算器对话框建立一个类,点击资源视图中的IDD_DIALOG1打开计算器对话框编辑视图,左键双击对话框弹出一个对话框问是否要新建一个类。 
        这里写图片描述
      • 点击OK,弹出一个new class对话框,我们在name(新建的类名)中输入“Ccompute”,在base class中选择“CDialog” 
        这里写图片描述
      • 点击OK,在class wizard中点击OK。这时我们发现在我们的类视图中出现了一个新类Ccompute。 
        这里写图片描述
      • 在MainFrame.cpp中声明类Ccompute,并建立Ccompute的对象com1. 
        这里写图片描述
      • 在oncompute函数中编辑弹出计算器对话框的执行语句。 
        这里写图片描述
      • 点击编译,运行,在弹出窗口的菜单栏点击compute 
        这里写图片描述
      • 这时候我们输入num1和num2以后,点击add,sub,multi,div。result位置并没有出现结果,这是因为我们并没有为按键add,sub,multi,div添加相应的函数,没有为num1,num2,result关联相应的变量。首先我们先为num1,num2,result三个编辑框关联相应的变量:1.打开资源视图中Dialog中的IDC_DIALOG1 2.右键单击num1右侧的编辑框,选择class wizard->member variables 3.project位置选择test,class name位置选择Ccompute,control ID位置选择 IDC_num1 4.点击右侧按钮add variables,弹出add member variable对话框 5.在member variable name位置输入 m_num1,category位置选择value,variable type位置选择int,点击OK 6.同理,按照以上步骤关联num2,result 
        这里写图片描述
      • 为按键add,sub,multi,div生成函数,编写代码。1.右键点击add按键选择class wizard->message maps 2.在project位置选择test,class name位置选择Ccompute,object ID位置选择 IDC_add,messages位置选择 BN_CLICKED 3.点击右侧按键add function,点击OK,点击edit code 4.在函数onadd中输入以下代码 5.同理,为sub,multi,div生成函数,并输入代码:
        void Ccompute::Onadd() 
    {
        // TODO: Add your control notification handler code here
        UpdateData(TRUE);
        m_result=m_num1+m_num2;
        UpdateData(FALSE);
    }
    void Ccompute::Onsub() 
    {
        // TODO: Add your control notification handler code here
        UpdateData(TRUE);
        m_result=m_num1-m_num2;
        UpdateData(FALSE);
    }
    void Ccompute::Onmulti() 
    {
        // TODO: Add your control notification handler code here
        UpdateData(TRUE);
        m_result=m_num1*m_num2;
        UpdateData(FALSE);
    }
    void Ccompute::Ondiv() 
    {
        // TODO: Add your control notification handler code here
        UpdateData(TRUE);
        m_result=m_num1/m_num2;
        UpdateData(FALSE);  
    }
    • 编译运行,点击菜单栏中的compute,输入num1,num2。分别点击add,sub,multi,div。观察运行结果

    总结

    根据前边的内容,可以知道。MFC是一个可视化的建立窗口应用程序的微软公司开发的基础类库。他有以下几个优点:

    1. 工程刚刚创建已经有一个基本的程序框架
    2. 开发过程可视化,有条理
  • 相关阅读:
    awk
    Python自动化开发之python的常用模块
    sed
    python自动化开发-8
    正则表达式-2-正则表达式实战1
    linux之sort和uniq
    SSH免密登录
    Docker下安装Mongodb
    Docker下安装Elasticsearch
    Docker下安装RabbitMQ
  • 原文地址:https://www.cnblogs.com/grj001/p/12223909.html
Copyright © 2011-2022 走看看