【mfc/VS2022】计图实验:绘图工具设计知识笔记3

实现类对串行化的支持

如果要用CArchive类保存对象的话,那么这个对象的类必须支持串行化。一个可串行化的类通常有一个Serialize成员函数。要想使一个类可串行化,要经历以下5个步骤:
1、从CObject派生类
2、重写Serialize成员函数
3、使用DECLARE_SERIAL宏:
DECLARE_SERIAL( class_name )参数就是想要成为可串行化类的类名。
4、定义不带参数的构造函数
5、为类在实现文件中使用IMPLEMENT_SERIAL宏:
IMPLEMENT_SERIAL( class_name, base_class_name, wSchema )
第一个参数是类的名称;第二个参数是基类的名称;第三个参数是版本号

详见:

利用CObArray类对串行化的支持保存和加载 数据

 简洁版:只包含五步的内容

消息框messagebox()详细介绍及使用方法

 

简介:

     MessageBox指的是显示一个模态对话框,其中包含一个系统图标、 一组按钮和一个简短的特定于应用程序消息,如状态或错误的信息。消息框中返回一个整数值,该值指示用户单击了哪个按钮。

语法:

int MessageBoxW([in, optional] HWND    hWnd,[in, optional] LPCWSTR lpText,[in, optional] LPCWSTR lpCaption,[in]           UINT    uType
);

参数:

hWnd:

此参数代表消息框拥有的窗口。如果为NULL,则消息框没有拥有窗口。

lpText:

消息框的内容。

lpCaption:

消息框的标题。

uType:

指定一个决定对话框的内容和行为的位标志集。此参数可以为下列标志组中标志的组合。指定下列标志中的一个来显示消息框中的按钮以及图标。

详见参考:

参考1

参考2

 底部状态栏的设置 

之前的博客说了设置状态栏的文本,但不够具体。

首先,要把CMainfram类的 wndStatusBar改成public,对应cpp文件里有一个indicators数组

575e5d04da634da1bcd1896297acb167.png

 

ID_INDICATOR_MOUSE_POS是后面添加进去的,在string table里可以定义这个id,修改标题,然后在上面的数组里面加入这个id。

5fbb3c6efc44423688380f26213616b3.png

 

wndStatusBar.SetPaneText(2, str);这个2指的就是indicators数组的下标。

 

CStatusBar 类https://learn.microsoft.com/zh-cn/cpp/mfc/reference/cstatusbar-class?view=msvc-170

 

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

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

相关文章

java基础 集合2

前9点,在另一篇作品中,可以从集合1开始观看 9.List遍历方式: 10.Arraylist底层原理: 11.Linklist底层原理: 1.LinkedList做队列和栈: package day01;import java.util.ArrayList; import java.util.I…

MySQL扩展语句和约束方式

一、扩展语句 复制,通过like这个语法直接复制bbb的表结构。只是复制表结构,不能复制表里面的数据 把bbb表里面的数据,复制到test,两个表数据结构要一致 创建一张表,test1,数据从bbb来,表结构也是bbb delete…

医院室内地图导航技术分析与作用

随着科技的不断发展,医疗行业的服务水平也在逐步提高。为了方便患者和医务人员,医院室内地图导航技术应运而生。这种技术运用了多种元素,包括模型地图、室内3D电子地图、路线指引、对接医院系统、位置分享和寻车导航等,为医院提供…

论文阅读——DistilBERT

ArXiv:https://arxiv.org/abs/1910.01108 Train Loss: DistilBERT: DistilBERT具有与BERT相同的一般结构,层数减少2倍,移除token类型嵌入和pooler。从老师那里取一层来初始化学生。 The token-type embeddings and the pooler a…

Linux的简介和环境搭建

简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个…

吃瓜教程3|决策树

ID3算法 假定当前样本集合D中第k类样本所占比例为pk,则样本集合D的信息熵定义为 信息增益 C4.5算法 ID3算法存在一个问题,就是偏向于取值数目较多的属性,因此C4.5算法使用了“增益率”(gain ratio)来选择划分属性 CA…

计算机网络与技术——数据链路层

😊计算机网络与技术——数据链路层 🚀前言☃️基本概念🥏封装成帧🥏透明传输🥏差错检测 ☃️点对点协议PPP🥏PPP协议的特点🥏PPP协议的帧格式🔍PPP异步传输时透明传输(字…

警惕听力下降的七大因素,一定要当心

随着现代社会的高速发展,工作生活节奏的加快,各种压力增大,再加上熬夜,长期佩戴耳机、饮食油腻辛辣等不良生活习惯的影响,听力损伤人群越来越多,已经不仅仅影响老年人群,近年来,听力…

k8s 资源预留

KUBERNETES资源管理之–资源预留 Kubernetes 的节点可以按照 Capacity 调度。node节点本身除了运行不少驱动 OS 和 Kubernetes 的系统守护进程,默认情况下 pod 能够使用节点全部可用容量, 除非为这些系统守护进程留出资源,否则它们将与 pod 争…

虚拟化的基础知识

目录 虚拟化基础 虚拟化的概念 虚拟化的特征(本质) 虚拟机的两大派别 VMM讲解 虚拟化中的一些重要概念 VMM的功能以及分类 虚拟化的架构 寄居虚拟化 裸金属虚拟化 操作系统虚拟化 混合虚拟化 虚拟化的三个方向 虚拟化基础 虚拟化的概念 什…

Matlab2022b图文安装保姆级教程

注意:完成安装步骤1和步骤2之后,再去使用Matlab2022b 本次安装后的版本信息如下,64位软件,windows系统 Matlab2022a与2022b的比较 MATLAB主要用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险…

Python 中__name__ == ‘__main__‘使用说明

在学习C语言的时候,程序的运行是从main函数开始的,因此,功能代码一般写到main函数中,子程序如果想要调用,也需要在main函数中进行调用。 然而,Python语言中,程序从第一行就开始执行(定义函数除外…

紧急:发现NGINX Ingress Controller for Kubernetes中的新安全漏洞

导语 大家好,今天我要向大家紧急报告一则消息:我们在NGINX Ingress Controller for Kubernetes中发现了三个新的安全漏洞!这些漏洞可能被黑客利用,从集群中窃取机密凭据。在本文中,我们将详细介绍这些漏洞的细节&#…

Jetpack:024-Jetpack中的滚动事件

文章目录 1. 概念介绍2. 使用方法2.1 高级事件2.2 低级事件 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中事件相关的内容,本章回中主要 介绍事件中的滚动事件。闲话休提,让我们一起Talk Android Jetpack吧! 1. 概念介绍 我们在…

ROS自学笔记二十: Gazebo里面仿真环境搭建

Gazebo 中创建仿真实现方式有两种:1直接添加内置组件创建仿真环境2: 手动绘制仿真环境 1.添加内置组件创建仿真环境 1.1启动 Gazebo 并添加组件 1.2保存仿真环境 添加完毕后,选择 file ---> Save World as 选择保存路径(功能包下: worlds 目录),文…

【算法练习Day34】整数拆分不同的二叉搜索树

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 整数拆分不同的二叉搜索树总…

【httpd】 Apache http服务器目录显示不全解决

文章目录 1. 文件名过长问题1.1 在centos中文件所谓位置etc/httpd/conf.d/httpd-autoindex.conf1.2 在配置文件httpd-autoindex.conf中的修改:1.3 修改完成后重启Apache: 1. 文件名过长问题 1.1 在centos中文件所谓位置etc/httpd/conf.d/httpd-autoindex…

论坛搭建.

目录 一.配置软件仓库 二.安装http php miriadb 三.配置数据库 四.源码拖拽并解压 五.防火墙通过 六.浏览器安装测试 七.界面参数设置 一.配置软件仓库 1.进入仓库目录 cd /etc/yum.repos.d 2.创建仓库文件 vim local.repo 3.在 local.repo中写入:(粘贴的时候注意位…

吐血整理,Jmeter接口测试-项目案例场景,直接上高速...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 场景一&#xff1…

如何优雅的开发?低代码搭建应用如此轻松

目录 一、前言 二、低代码平台体验简述 三、关于平台 四、场景及用户分析 五、产品分析 1、着重讲一下JNPF的编辑器 2、业务流程 六、最后,说些心里话 一、前言 低代码平台改变了应用交付和管理的模式,大幅缩减交付周期,最终帮助业务…