【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以网络为核心的设计思想,是一个…

kafka-consumer-groups.sh

通过 kafka-consumer-groups.sh 脚本查看或变更消费组的信息。 查看消费者组信息 ./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list 查看指定消费者组的消费位移 ./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group g…

吃瓜教程3|决策树

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

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

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

13.计算机视觉

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 数据增广一、数据增广二、D2L代码注意点三、QA No.2 微调一、微调二、D2L代码注意点三、QA No.3 第二次竞赛 树叶分类结果No.4 实战 Kaggle 比赛:图像分类(CIFAR-10)一、Kaggle Cifar…

java实现定时任务

java实现定时任务 1.Timer定时器 构造方法: Timer() 创建一个定时器 Timer(boolean isDaemon) isDaemon为true为守护线程定时器 Timer(String name) 创建一个定时器,其线程名字为name Timer(String name, boolean isDaemon) 结合2、3 方法:…

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

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

双亲委派模型

双亲委派模型 JVM自带的三个类加载器什么是双亲委派模型?双亲委派模型的优点 JVM自带的三个类加载器 BootstrapClassLoader负责加载标准库中的类,Java有一个标准文档,描述了都要提供哪些类 ExtensionClassLoader负责加载JVM扩展的库,除了标准库之外,实现JVM的厂商…

k8s 资源预留

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

虚拟化的基础知识

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

YOLO8实战:yolov8实现行人跟踪计数

本篇文章首先介绍YOLOV8实现人流量跟踪计数的原理,文末附代码 引言:行人跟踪统计是智能监控系统中的重要功能,可以广泛应用于人流控制、安全监控等领域。传统的行人跟踪算法往往受到光照、遮挡等因素的干扰,难以实现准确跟踪。随着深度学习技术的发展,目标检测模型逐渐成为…

Matlab2022b图文安装保姆级教程

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

83. 删除排序链表中的重复元素、Leetcode的Python实现

博客主页:🏆看看是李XX还是李歘歘 🏆 🌺每天分享一些包括但不限于计算机基础、算法等相关的知识点🌺 💗点关注不迷路,总有一些📖知识点📖是你想要的💗 ⛽️今…

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

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

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

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

百度文心一言搞起来

要快速使用文心一言,可以按照以下步骤: 了解文心一言:首先,你需要了解文心一言的基本功能和特点,包括它的语言处理能力、应用场景和优势等。这样可以帮助你更好地理解如何使用它。注册和登录:在开始使用文…