• MFC_1.1 基本知识


    如何创建一个MFC项目

    1. 选择 MFC 应用程序进行创建,不要使用非英文名  

    2. 选择对话框风格进行编写

       

    3. 可以通过自定义的设置修改类名

       

     

    MFC 的基本知识

    • MFC 是纯面向对象的编程,是 SDK 经过 C++ 封装产生

    • MFC 是装了 SDK 大部分的函数,简化了操作,同时保留了原函数(::)

    • MFC 入口函数的定义

      • MFC 的入口函数同样是 WinMain,但是被封装起来了

      • 需要定义一个继承自 CWinApp 的类,并定义一个唯一的全局对象重写 InitInstance 函数

        • InitInstance 扮演的就是用户代码入口点的角色,通常在这里弹出窗口

    • 通过空项目如何创建一个MFC程序

      1. 设置子系统为 GUI,设置MFC的使用方式(静态 共享的)

      2. 包含一些必要的头文件,afxwin.h 是必不可少的

      3. 自己编写一个继承自 CWinApp 的类并重写其中的 InitInstance 作为入口函数

      4. 定义唯一的一个 CMyWinApp 类的全局对象

     

    // 1. 项目属性 -> 链接器 -> 系统 -> 子系统 -> GUI
    //   项目属性 -> 常规 -> MFC的使用 -> dlllib

    // 2. 包含必须的头文件 afxwin
    #include <afxwin.h>
    #include "resource.h"
    #include <afxdialogex.h>

    // 3. 定义自己的类并且必须继承自 CWinApp
    class CMyWinApp : public CWinApp
    {
    // 5. 必须重写一个虚函数用于充当用户代码的入口
    //   应该在其中进行初始化和编写窗口或对话框的操作
    virtual BOOL InitInstance() override
    {
    // 使用 m_pMainWnd 指定当前的主窗口
    // 可以使用全局函数 AfxGetMainWnd() 获取到主窗口

    // 5.1 创建一个模态对话框对象
    CDialog Dialog(IDD_DIALOG1);
    this->m_pMainWnd = &Dialog;
        //需要用到头文件<afxdialogex.h>
    Dialog.DoModal();

    // 5.2 创建一个非模态的对话框
    CDialog* pDialog = new CDialog;
    this->m_pMainWnd = pDialog;
    pDialog->Create(IDD_DIALOG1);
    pDialog->ShowWindow(SW_NORMAL);

    // 通过对象的 m_hWnd 可以找到它的句柄

    return TRUE;
    }
    };

    // 4. 在全局控件创建唯一的 CMyWinApp 对象
    CMyWinApp theApp;


    // 定义一个继承自 CWinApp 的类,并重写其中的 InitInstance 虚函数
    // 最后在全局范围内定义唯一的一个 CMyWinApp 的对象

     

     

     

  • 相关阅读:
    关于Idea中右边的maven projects窗口找不到了如何调出来
    如何解决IntelliJ idea的maven工程提示的Cannot Resolve Symbol
    代码战争
    golang学习笔记----并发
    golang --学习笔记 运行时间计算
    golang ---timeb
    go ---MQTT client
    golang --strings
    Windows ----tasklist/taskkill
    转Tasklist(windows)
  • 原文地址:https://www.cnblogs.com/ltyandy/p/10920185.html
Copyright © 2020-2023  润新知