当前位置: 首页 > news >正文

利用向导创建MFC

目录

1、项目的创建:

2、项目的管理 :

3、分析以及生成的项目代码 :

(1)、查看CFrame中的消息映射宏

(2)、自动生成事件

(3)、在CFrame中添加对应的鼠标处理函数 

(4)、在VIEW中添加鼠标左键点击事件

(5)、在VIEW中添加绘图

1)、OnDraw的绘图

2)、OnPaint绘图

4、文档/视图结构:

5、MFC中重要的函数:

(1)、InitInstance函数

(2)、PreCreateWindow函数

(3)、OnCreate函数

(4)、OnDraw和OnPaint函数

6、扩展知识:

7、最终的程序UI


1、项目的创建:

2、项目的管理 :

打开类试图来操作操作类

3、分析以及生成的项目代码 :

(1)、查看CFrame中的消息映射宏

(2)、自动生成事件

(3)、在CFrame中添加对应的鼠标处理函数 

由于CFrame相当于相框,所以鼠标处理的函数应该放在view中才能生效

(4)、在VIEW中添加鼠标左键点击事件

(5)、在VIEW中添加绘图

绘图有俩种一种时OnDraw还有一个是OnPaint。当有OnPaint时候,OnDraw会被取代而不是覆盖。所以有OnPaint就不要有OnDraw。

1)、OnDraw的绘图

代码部分实现OnDraw绘图:

2)、OnPaint绘图

代码实现部分:

4、文档/视图结构:

MFC应用程序框架结构是基于文档/视图的体系结构,它定义了一种程序结构,这种结构依靠文档对象保存应用程序的数据,并且依靠视图对象控制视图的显示数据,把数据本身和他显示分离开。

数据的存储和加载由文档类来完成,数据的显示和修改则由视觉类来完成。MFC在类CDocument和CView中为稳定视图提供基础,CWinAPP、CFrameWnd和其他类与CDocument和CView合作,把所有的片段连接起来。

5、MFC中重要的函数:

(1)、InitInstance函数

应用程序的一个虚函数,MFC应用程序的入口

(2)、PreCreateWindow函数

在产生窗口之前让程序员由修改窗口外观的机会。通过修改传递给PreCreateWindow的结构体类型参数CREATESTRUCT,应用程序可以用于创建窗口的属性。最后调用CreateWindowEx函数完成窗口的创建

(3)、OnCreate函数

OnCreate函数是一个消息响应函数,响应WM_CREATE消息的一个函数,而WM_CREATE消息是由Create函数调用的。

当Create窗口创建之后,会向操作系统发送WM_CREATE消息,OnCreate()函数主要用来响应此消息

OnCreate和Create的区别

1、Create()负责注册产生窗口。然后向操作系统发送WM_CREATE消息。

2、OnCreate()不产生窗口,只是在窗口设置之前改变窗口的属性例如格式位置等。

3、OnCreate()是消息WM_CREATE的响应函数。

(4)、OnDraw和OnPaint函数

我们通常使用OnDraw函数,所以不用编写OnPaint函数,否则OnDraw函数会失效。

6、扩展知识:

(1)、MFC中后缀为Ex的函数都是扩展函数。

(2)、在MFC中,以Afx前缀的函数都是全局函数,可以在程序的任何地方调用。

当前类要是用MessageBox需要使用全局的AfxMessageBox。

7、最终的程序UI

 

相关文章:

利用向导创建MFC

目录 1、项目的创建: 2、项目的管理 : 3、分析以及生成的项目代码 : (1)、查看CFrame中的消息映射宏 (2)、自动生成事件 (3)、在CFrame中添加对应的鼠标处理函数 …...

MySQL 8.0 OCP认证精讲视频、环境和题库之五 事务、缓存

redo log buffer: 缓存与事务有关的redo log ,用来对mysql进行crash恢复,不可禁用; 日志缓冲区是存储要写入磁盘上日志文件的数据的内存区域。日志缓冲区大小由innodb_Log_buffer_size变量定义。 默认大小为16MB。日志缓冲区的内容会定…...

ACL配置

目录 1.使用基本ACL配置交换telnet访问的权限 2.使用高级ACL配置流分类实现限制互访某一台服务器 3.使用二层ACL配置流分类拒绝指定报文通过 4.通过流策略实现策略路由(重定向到不同的下一跳) 5.通过流策略实现不同网段间限制互访 6.通过流策略实现限速功能 7.通过流策略…...

微信小程序修改van-popup的背景颜色

效果图&#xff1a; van-popup背景颜色渐变 使用深度修改样式不生效&#xff0c;直接在 custom-style里面修改即可&#xff1b; <van-popup position"bottom"custom-style"height:25%;background:linear-gradient(95deg, #F8FCFF -0.03%, #EDF5FF 64.44…...

SpringCloud-Nacos

一、介绍 &#xff08;1&#xff09;作为服务注册中心和配置中心 &#xff08;2&#xff09;等价于&#xff1a;EurekaConfigBus &#xff08;3&#xff09;nacos集成了ribbon&#xff0c;支持负载均衡 二、安装 &#xff08;1&#xff09;官网 &#xff08;2&#xff09; …...

动态规划12(Leetcode221最大正方形)

代码&#xff1a; class Solution {public int maximalSquare(char[][] matrix) {int m matrix.length;int n matrix[0].length;int[][]area new int[m][n];area[0][0] matrix[0][0];int max 0;for(int i0;i<m;i){area[i][0] matrix[i][0]1? 1:0;max Math.max(area…...

【Git】bad signature 0x00000000 index file corrupt. fatal: index file corrupt

问题描述 电脑写代码时蓝屏。重启后 git commit 出错。 error: bad signature 0x00000000 fatal: index file corrupt原因分析 当电脑发生蓝屏或异常关机时&#xff0c;Git 的索引文件可能损坏。 解决方案 删除损坏的索引文件。 rm -Force .git/index回退到上一个可用的版…...

GO 语言的函数??

函数是什么&#xff1f; 学过编程的 xdm 对于函数自然不会陌生&#xff0c;那么函数是什么呢&#xff1f; 函数是一段可以重用的代码块&#xff0c;可以被多次调用&#xff0c;我们可以通过使用函数&#xff0c;提高咱们代码代码的模块化&#xff0c;提高程序的可读性和可维护…...

机器学习基础之《回归与聚类算法(3)—线性回归优化:岭回归》

一、什么是岭回归 其实岭回归就是带L2正则化的线性回归 岭回归&#xff0c;其实也是一种线性回归。只不过在算法建立回归方程时候&#xff0c;加上L2正则化的限制&#xff0c;从而达到解决过拟合的效果 二、API 1、sklearn.linear_model.Ridge(alpha1.0, fit_interceptTrue…...

DirectX3D 正交投影学习记录

所谓正交投影变换&#xff0c;就是已知盒状可视空间内任意点坐标(x,y,z)&#xff0c;求解垂直投影到xy平面的对应点坐标。 按照这个定义&#xff0c;xyz坐标系本身就是正交坐标系&#xff0c;盒状可视空间内任意点的坐标(x,y,z)投影到(x,y)平面&#xff0c;只要简单地丢弃z坐标…...

数据挖掘十大算法--Apriori算法

一、Apriori 算法概述 Apriori 算法是一种用于关联规则挖掘的经典算法。它用于在大规模数据集中发现频繁项集&#xff0c;进而生成关联规则。关联规则揭示了数据集中项之间的关联关系&#xff0c;常被用于市场篮分析、推荐系统等应用。 以下是 Apriori 算法的基本概述&#x…...

[蓝桥杯 2022 省 B] 统计子矩阵

题目描述 给定一个 NM 的矩阵 A&#xff0c;请你统计有多少个子矩阵 (最小 11, 最大 NM) 满足子矩阵中所有数的和不超过给定的整数 K。 输入格式 第一行包含三个整数 N, M和 K。 之后 N 行每行包含 M 个整数, 代表矩阵 A。 输出格式 一个整数代表答案。 输入输出样例 输入 #1 3…...

解决在部署springboot项目的docker中执行备份与之相连接的mysql容器命令

文章目录 问题描述解决思路问题解决容器构建mysql客户端安装容器与主机的交互docker中执行 mysqldump 命令解决mysql8密码验证问题解决密码插件警告 问题描述 由于&#xff0c;使用1panel可视化的面板来部署springboot项目&#xff0c;可以很方便地安装和使用mysql&#xff0c…...

正文Delphi XE Android下让TMemo不自动弹出键盘

用TMemo来显示一段说明文字&#xff0c;可一点Memo,就弹出键盘&#xff0c;找了半天控制键盘的属性&#xff0c;没找到。最后将readOnly设置为True搞定。 如果需要一个form都不显示keyboard,那么可以利用全局变量 VKAutoShowMode来控制&#xff0c;这个全局变量可以有下面三个值…...

[1Panel]开源,现代化,新一代的 Linux 服务器运维管理面板

测评介绍 本期测评试用一下1Panel这款面板。1Panel是国内飞致云旗下开源产品。整个界面简洁清爽&#xff0c;后端使用GO开发&#xff0c;前端使用VUE的Element-Plus作为UI框架&#xff0c;整个面板的管理都是基于docker的&#xff0c;想法很先进。官方还提供了视频的使用教程&…...

PG集合查询

1.运算符 1.1 union并集 连接上下语句 union distinct连接并且去重 all不去重 1.2 intersect交集 上下交集 distinct连接并且去重 all不去重 1.3 except除外 上面除了下面 distinc去重 all不去重...

目标检测应用场景和发展趋势

参考&#xff1a; 目标检测的未来是什么&#xff1f; - 知乎 (zhihu.com)https://www.zhihu.com/question/394900756/answer/32489649815大应用场景 1 行人检测&#xff1a; 遮挡问题&#xff1a;行人之间的互动和遮挡是非常常见的&#xff0c;这给行人检测带来了挑战。非刚性…...

Confluence 自定义博文列表

1. 概述 Confluence 自有博文列表无法实现列表自定义功能&#xff0c;实现该需求可采用页面中引用博文宏标签控制的方式 2. 实现方式 功能入口&#xff1a; Confluence →指定空间→创建页面 功能说明&#xff1a; &#xff08;1&#xff09;页面引用博文宏 &#xff08;…...

chrome历史版本下载

chrome历史版本下载 windows Google Chrome all versions on Windows linux版本 Google Chrome 64bit Linux版_chrome浏览器,chrome插件,谷歌浏览器下载,谈笑有鸿儒...

Messari发布Moonbeam简报,每日交易量稳步增长,首次公布利润数据

区块链数据公司Messari首次发布Moonbeam项目分析简报&#xff0c;从项目市值、链上数据表现、质押以及Moonbeam的技术优势XCM使用量等角度全面分析。这个再熊市初期上线的项目一直在默默开发&#xff0c;并在跨链互操作领域拥有了相当的实操成绩。我们翻译了Messari简报中的部分…...

数据库 锁、索引、在实际开发中怎么设置和优化

数据库锁和索引是数据库管理的两个重要方面&#xff0c;它们对于确保数据的一致性和提高查询性能具有重要作用。在实际开发中&#xff0c;正确地设置和优化锁和索引对于构建高效、稳定的系统至关重要。下面是一些关于如何在实际开发中设置和优化锁和索引的建议&#xff1a; 锁…...

超详细彻底卸载Anaconda详细教程

一、在开始处打开Anaconda Prompt 二、打开后&#xff0c;输入conda install tqdm -f命令并按回车键 conda install tqdm -f三、之后页面会出现一个WANNING&#xff0c;这个我们不用在意&#xff0c;然后会出现一个y/n提示框&#xff0c;在这里我们输入y或者Y y四、输入cond…...

Python--随机出拳(random)--if判断--综合案例练习:石头剪刀布

注&#xff1a;涉及相关链接&#xff1a; Python&#xff1a;if判断--综合案例练习&#xff1a;石头剪刀布-CSDN博客 Python语言非常的强大&#xff0c;强大之处就在于其拥有很多模块&#xff08;module&#xff09;&#xff0c;这些模块中拥有很多别人已经开发好的代码&…...

微信小程序里配置less

介绍 在微信小程序里&#xff0c;样式文件的后缀名都是wxss&#xff0c;这导致一个问题&#xff0c;就是页面样式过多的时候&#xff0c;要写很多的类名来包裹&#xff0c;加大了工作量&#xff0c;还很有可能会写错样式。这时可以配置一个less&#xff0c;会大大提高代码编辑…...

MySq修改配置文件

要修改 MySQL 的配置文件,您可以按照以下步骤进行操作: 1、打开 MySQL 的配置文件 在大多数 Linux 系统上,默认的配置文件路径是 /etc/my.cnf 或 /etc/mysql/my.cnf。您可以使用文本编辑器(如 vim、nano)以管理员权限打开该文件。 sudo vim /etc/my.cnf 2、进行修改 …...

HTML 表格及练习

表格 概述 表格是一种二维结构&#xff0c;横行纵列。 由单元格组成。 表格是一种非常“强” 的结构&#xff1a; 每一行有相同的列数&#xff08;单元格&#xff09;&#xff0c;每一列有相同的行数&#xff08;单元格&#xff09; 同一列的单元格&#xff0c;宽度&#…...

YOLOv5-训练自己的VOC格式数据集(VOC、自建数据集)

YOLOv5&#xff1a;训练自己的 VOC 格式数据集 1. 自定义数据集 1.1 环境安装 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple注意&#xff1a; 安装 lxmlPillow 版本要低于 10.0.0&#xff0c;解释链接: module ‘PIL.Image’ has no attri…...

基于Java的考研信息查询系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…...

Linux性能优化--性能追踪:受CPU限制的应用程序(GIMP)

10.0 概述 本章包含了一个例子&#xff1a;如何用Linux性能工具在受CPU限制的应用程序中寻找并修复性能问题。 阅读本章后&#xff0c;你将能够&#xff1a; 在受CPU限制的应用程序中明确所有的CPU被哪些源代码行使用。用1trace和oprofile弄清楚应用程序调用各种内部与外部函…...

BERT变体(1):ALBERT、RoBERTa、ELECTRA、SpanBERT

Author:龙箬 Computer Application Technology Change the World with Data and Artificial Intelligence ! CSDNweixin_43975035 *天下之大&#xff0c;虽离家万里&#xff0c;何处不可往&#xff01;何事不可为&#xff01; 1. ALBERT \qquad ALBERT的英文全称为A Lite versi…...

网站建设设计广州/如何写好一篇软文

HDR技术 HDR技术就是为了增强画质表现力而存在的&#xff0c;HDR全称为High Dynamic Range&#xff0c;翻译过来就是高动态范围影像&#xff0c;这是一种获取以及处理一个场景下所有的可见光亮度范围的数码处理方法。进一步说动态范围的定义&#xff0c;是指一个场景的最亮和最…...

网站写手怎么做/电脑培训班有哪些科目

很多平台都有点赞功能,今天提供的这个思路可用于很多平台,希望可以掌握该技巧,实现你自己的点赞器。本案例目标为虎嗅 24 小时频道点赞。 爬虫小课系列文章导读链接 第一篇:Python 爬虫小课 1-9 宝妈程序媛福利-育儿网问答数据抓取 第二篇:Python 爬虫小课 2-9 中国妖怪…...

北京网站优化服务/杭州优化公司哪家好

随着互联网的发展&#xff0c;人们对页面的要求越来越高&#xff0c;不只是功能好用&#xff0c;而且还要颜值高。前端开发人员对于浏览器的滚动条并不陌生&#xff0c;当自带的一些滚动条无法满足我们的审美时&#xff0c;你知道如何用CSS修改浏览器滚动条的样式吗&#xff1f…...

各大网站的名字大全/上海网站关键词排名

革命正在如火如荼地进行&#xff0c;并有望挑战传统金融&#xff0c;但除DeFi之外&#xff0c;还有哪些有前途的场景会有助于区块链被主流社会接受&#xff1f; 本文阐述了四种有可能被主流消费者理解和使用区块链的场景。 场景一&#xff1a;边做边赚 谁不想用自己的时间、知…...

网站discuz迁移怎么做/seo网站的优化流程

好长的的解释啊啊啊啊啊&#xff0c;看得脑袋有点胀&#xff0c;不看了&#xff0c;反正都说基本用不上&#xff0c;我就先做个记录&#xff0c;等过几天再看。转载于:https://blog.51cto.com/13502993/2147847...

网站建设区域加盟/100个裂变营销案例

十几岁的孩子常常会摔门、翻白眼&#xff0c;还会显出一副冷冰冰的样子&#xff0c;甚至连之前表现友善的孩子也是这样。一些家长会担心自己做错了什么&#xff0c;或者担心孩子会永远不考虑别人而只考虑自己。新的研究显示&#xff0c;这种现象归咎于生理&#xff0c;而不是家…...