《MFC编程》:MFC程序的分类

news2024/12/29 9:01:55

《MFC编程》:MFC程序的分类

  • 《MFC编程》:MFC程序的分类
    • MFC的控制台程序
    • MFC的库程序
      • 使用MFC库制作自己的静态库程序
      • 使用MFC库制作自己的动态库程序
      • 使用MFC库制作自己的拓展库程序
    • MFC的窗口程序
      • 单文档视图架构程序
      • 多文档视图架构程序
      • 对话框架构程序

《MFC编程》:MFC程序的分类

MFC的控制台程序

使用MFC库制作自己的控制台程序。

在这里插入图片描述

相比Win32控制台程序:

  1. main函数不同于普通的控制台程序;
  2. 多了一个全局对象(CWinApp theApp);
  3. 入口函数不同于以往的入口函数。

经验之谈:
以Afx开头的函数,可以确定为MFC库中的一个全局函数;以::开头的函数,可以确定为Win32的API函数。

MFC的库程序

使用MFC库制作自己的静态库程序

创建时选择Static library。

在这里插入图片描述

使用MFC库制作自己的动态库程序

  1. 使用静态的MFC库制作自己的动态库;
    在这里插入图片描述

  2. 使用动态的MFC库制作自己的动态库。
    在这里插入图片描述

可以在项目的属性中修改使用哪种MFC库。

在这里插入图片描述

使用MFC库制作自己的拓展库程序

本质上还是MFC动态库。

在这里插入图片描述

区别:
规则库可以被所有程序调用,扩展库只能被支持MFC的程序调用。

MFC的窗口程序

创建MFC Application。

在这里插入图片描述

单文档视图架构程序

  • CWinApp:应用程序类,封装了关于程序流程的操作,负责管理应用程序的流程

  • CFrameWnd:框架窗口类,封装了关于框架窗口的操作,负责管理框架窗口

  • CDocument:文档类,封装了关于数据的操作(提取、转换、存储…),负责管理数据

  • CView:视图窗口类,封装了关于视图窗口的操作(绘图),负责显示数据

在这里插入图片描述

多文档视图架构程序

  • CMDIChildWnd:多文档子框架窗口类,封装了关于子框架窗口的操作

  • CMDIFrameWnd:多文档主框架窗口类,封装了关于主框架窗口的操作

  • CWinApp:应用程序类,封装了关于程序流程的操作

  • CDocument:文档类,封装了关于数据的操作(提取、转换、存储…),管理数据

  • CView:视图窗口类,封装了关于视图窗口的操作(绘图),显示数据

在这里插入图片描述

对话框架构程序

  • CWinApp:应用程序类,封装了关于程序流程的操作

  • CDialog:对话框窗口类,封装了关于对话框窗口的操作

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/181289.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows server——部署DNS服务(2)

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.配置DNS服务 1.安装步骤教程 (1)安装必要条件 &a…

【链表】链表内指定区间反转

BM2链表内指定区间反转 描述 将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n)O(n),空间复杂度 O(1)O(1)。 例如: 给出的链表为1→2→3→4→5→NULL, m2,n4m2,n4, 返回1→4→3→2→5→NULL. 数据范围&#xf…

初识 Canvas(使用 Canvas 绘制直线图形)

初识 Canvas(使用 Canvas 绘制直线图形)参考描述CanvasCanvas 与 SVGCanvas 元素替补元素使用检测绘制直线图形直线同时绘制多条直线指定起点首尾相接多彩的直线矩形描边矩形填充矩形结合体清除矩形区域多边形参考 描述 Canvas 你可以使用 JavaScript…

3 梯度下降算法

文章目录问题方法穷举法分治法梯度下降算法梯度梯度下降算法课程代码随机梯度下降算法批量梯度下降(mini-batch)课程来源: 链接其他觉得别人总结的比自己好,采用之的: 链接以及 BirandaのBlog!问题方法 穷…

飞速的网格【Steema】:TeeGrid for .NET 2023.1.23 Crack

TeeGrid for .NET 的数据网格控件为您的 Visual Studio 项目提供了一个非常快速的网格。 快速浏览 功能齐全的数据网格控件 适用于 WinForms、ASP.NET Core MVC 的易于使用的数据网格 TeeGrid for .NET 是一个原生的 c# 网格控件,目前可用于 WinForms 项目和 NET …

优先级队列(堆)

1.优先级队列1.1概念前面介绍过队列,队列是一种先进先出(FIFO)的数据结构,但是有些情况下,操作的数据可能带有优先级时,可能需要优先级高的元素先入队列,该场景中,使用队列显然不合适…

7、数据类型转换

目录 一、隐式类型转换 二、显示类型转换 类型转换是将一个值从一种类型更改为另一种类型的过程。例如,可以将String类型的数据“457”转换为数值型,也可以将任意类型的数据转换为String类型。 一、隐式类型转换 从低级类型向高级类型的转换&#xf…

一起自学SLAM算法:10.1 RTABMAP算法

连载文章,长期更新,欢迎关注: 同前面介绍过的大多数算法一样,RTABMAP也采用基于优化的方法来求解SLAM问题,系统框架同样遵循前端里程计、后端优化和闭环检测的三段式范式。这里重点讨论RTABMAP两大亮点,一个…

python实现问卷星自动填写(可以跳过智能验证)

最近有一个社会实践需要做问卷调查,突发奇想搞一个自动化脚本,省事省米 1 下载依赖selenium selenium是一款网页爬虫重要的工具。 2 安装chrome驱动 这里需要准备chrome浏览器以及对应的驱动。需要注意的是驱动的版本需要和chrome保持一致。 chrome…

Mybatis框架介绍及使用

文章目录1. 概述1.1什么是框架1.2 Mybatis是什么1.3 Mybatis流程分析2. 参数的使用2.1 保存时获取插入id2.2 #{}与${}的区别2.3 parameterType 的使用2.4 SqlMapConfig.xml 中配置的内容3. 动态SQL3.1 <if>标签3.2 <where>标签3.3 <foreach > 标签3.4 抽取重…

ipv6内网穿透,有ipv6地址外网无法访问

问题描述 光猫已经开启ipv6&#xff0c;并且电脑/服务器已经有ipv6地址&#xff0c;只能通过ipv6局域网访问&#xff0c;外网/手机流量访问设备 原因分析&#xff1a; 光猫没有关闭防火墙路由器入站防护 解决方案&#xff1a; 1.光猫没有关闭防火墙 这里以中国移动的光猫为…

(17)目标检测算法之 YOLOv8 算法改进详细解析

目标检测算法之 YOLOv8 算法改进详细解析 1.YOLO的一些发展历史 YOLOv1&#xff1a;2015年Joseph Redmon和 Ali Farhadi等 人&#xff08;华盛顿大学&#xff09; YOLOv2&#xff1a;2016年Joseph Redmon和**Ali Farhadi等人*&#xff08;华盛顿大学&#xff09;* YOLOv3&am…

【JavaEE】多线程之线程安全(volatile篇),wait和notify

目录 内存可见性问题 volatile关键字 从JMM的角度来看内存可见性 wait和notify wait notify-notifyAll 内存可见性问题 首先运行一段代码&#xff0c;线程t1 用 Mycount.flag 作为标志符&#xff0c;当不为0的时候就跳出循环&#xff0c;线程t2 通过输入来改变 Mycount.f…

springboot 入门

springboot是什么 传统的开发模式下&#xff0c;无论是基于xml或注解&#xff0c;都要做许多配置&#xff0c;如果项目中集成越多的其他框架&#xff0c;配置内容也会越多。为了让开发人员以最少的配置去开发应用&#xff0c;springboot诞生了。springboot的原则是约定大于配置…

VSCode中4个Settings(JSON)的区别与联系

目录 &#x1f525; 前言 1. Preferences: Open Default Settings(JSON) 2. Preferences: Open User Settings 3. Preferences: Open Settings(JSON) 4. Preferences: Open Workspace Settings(JSON) &#x1f525; 总结 &#x1f525; 前言 在VSCode中输入快捷键ctrlsh…

读书笔记:梯度法求函数的最小值 gradient_method.py ← 斋藤康毅

● 由多元函数全部变量的偏导数汇总而成的向量称为梯度&#xff08;gradient&#xff09;。梯度指示的方向是各点处的函数值减小最多的方向。● 虽然梯度的方向并不一定指向最小值&#xff0c;但沿着它的方向能够最大限度地减小函数的值。因此&#xff0c;在寻找函数的最小值&a…

一篇五分生信临床模型预测文章代码复现——Figure 8 生存曲线鲁棒性分析

之前讲过临床模型预测的专栏,但那只是基础版本,下面我们以自噬相关基因为例子,模仿一篇五分文章,将图和代码复现出来,学会本专栏课程,可以具备发一篇五分左右文章的水平: 本专栏目录如下: Figure 1:差异表达基因及预后基因筛选(图片仅供参考) Figure 2. 生存分析,…

Linux输入子系统简析

1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任何承诺。 2. 背景 本文基于 Linux 4.14 内核源码进行分析。 3. 简介 Linux 内核输入子系统&#xff0c;负责对系统中的输入设备进行管理。 一方面&#xf…

Spring Cloud_Ribbon负载均衡服务调用

目录一、概述1.是什么2.官网资料3.能干嘛二、Ribbon负载均衡演示1.架构说明2.POM三、Ribbon核心组件Irule1.IRule2.如何替换3.新建package&#xff08;注意&#xff1a;包的位置&#xff09;4.上面包下新建MySelfRule规则类5.主启动类添加RibbonClient6.测试四、Ribbon负载均衡…

Python将JSON格式文件导入 redis,多种方法

在导入前需要先确定你已经安装 Redis&#xff0c;并且可以启动相关服务。 windows 上启动 redis 的命令是 redis-server.exe redis.windows.conf&#xff0c;效果图如下&#xff1a; 文章目录使用 Python 连接 redis安装 redis 与 导入使用代码连接 Redis写入键值操作 JSON 文…