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

【上位机——MFC】视图

相关类

CView及其子类,父类为CWnd类,封装了关于视图窗口的各种操作,以及和文档类的数据交互。

视图窗口的使用

1.定义一个自己的视图类(CMyView),派生自CView,并重写父类成员纯虚函数OnDraw。
2.其余框架类和应用程序类代码不变(可以参考前面的文章)
3.在处理框架窗口的WM_CREATE消息时,定义CMyView类对象,并调用Create函数创建视图窗口。

代码示例


#include <afxwin.h>
#include "resource.h"class CMyView : public CView {public:void OnDraw(CDC* pDC);DECLARE_MESSAGE_MAP()afx_msg void OnNew();
};//如果想要使用OnDraw方法的话,将ON_WM_PAINT()注释掉
void CMyView::OnDraw(CDC* pDC) {pDC->TextOut(100, 100, _T("CMyView::OnDraw()"));
}class CMyFrameWnd :public CFrameWnd {DECLARE_MESSAGE_MAP()
public:afx_msg int OnCreate(LPCREATESTRUCT pcs);
};BEGIN_MESSAGE_MAP(CMyFrameWnd, CFrameWnd)ON_WM_CREATE()
END_MESSAGE_MAP()int CMyFrameWnd::OnCreate(LPCREATESTRUCT pcs) {CMyView* pView = new CMyView;// AFX_IDW_PANE_FIRST : 将视图窗口平铺到框架窗口pView->Create(NULL, _T("MFCView"), WS_CHILD | WS_VISIBLE | WS_BORDER, CRect(0, 0, 200, 200), this, AFX_IDW_PANE_FIRST);//加上这行代码之后默认就会将视图激活,表示CMyView中的OnNew函数生效m_pViewActive = pView;return CFrameWnd::OnCreate(pcs);
}class CMyWinApp : public CWinApp {
public:virtual BOOL InitInstance();
};BOOL CMyWinApp::InitInstance() {CMyFrameWnd* pFrame = new CMyFrameWnd;pFrame->Create(NULL, "MFCView", WS_OVERLAPPEDWINDOW, CFrameWnd::rectDefault, NULL, (CHAR*)IDR_MENU1);m_pMainWnd = pFrame;pFrame->ShowWindow(SW_SHOW);pFrame->UpdateWindow();return TRUE;
}CMyWinApp theApp; BEGIN_MESSAGE_MAP(CMyView, CView)
ON_COMMAND(ID_NEW, &CMyView::OnNew)
END_MESSAGE_MAP()void CMyView::OnNew()
{AfxMessageBox("ON_NEW");
}

相关文章:

【上位机——MFC】视图

相关类 CView及其子类&#xff0c;父类为CWnd类&#xff0c;封装了关于视图窗口的各种操作&#xff0c;以及和文档类的数据交互。 视图窗口的使用 1.定义一个自己的视图类(CMyView)&#xff0c;派生自CView&#xff0c;并重写父类成员纯虚函数OnDraw。 2.其余框架类和应用程…...

Unity:Sprite Shapes(精灵形状)

游戏世界的基本构建单位——精灵&#xff08;Sprite&#xff09; Sprite&#xff08;精灵&#xff09;是什么&#xff1f; Sprite指的是一张小图片&#xff0c;在游戏里代表一个角色、道具、背景元素。 在2D游戏里&#xff0c;比如滑雪游戏&#xff0c;角色、小树、雪地……很…...

火语言RPA--钉钉群通知

【组件功能】&#xff1a;向钉钉群发送文本或markdown消息 在钉钉群创建自定义机器人&#xff08;Webhook&#xff09;&#xff0c;在组件配置Webhook地址、密钥、文本内容即可向钉钉群发送文本或markdown消息&#xff0c;还可以at群成员或所有人。 配置预览 配置说明 Webho…...

详细图解 Path-SAM2: Transfer SAM2 for digital pathology semantic segmentation

✨ 背景动机 数字病理中的语义分割&#xff08;semantic segmentation&#xff09;是非常关键的&#xff0c;比如肿瘤检测、组织分类等。SAM&#xff08;Segment Anything Model&#xff09;推动了通用分割的发展&#xff0c;但在病理图像上表现一般。 病理图像&#xff08;Pa…...

驯龙日记:用Pandas驾驭数据的野性

引言&#xff1a;为什么选择Pandas&#xff1f; "NumPy是手术刀&#xff0c;Pandas是急救箱" 手术刀&#xff08;NumPy&#xff09;&#xff1a;精密的数值计算 急救箱&#xff08;Pandas&#xff09;&#xff1a;处理现实数据的全套工具 维度NumPy数组Pandas Se…...

产品经理面经(1)

今天开一个新的栏目&#xff0c;是关于产品经理方面的。产品经理这个岗位每年的需求都是不少的&#xff0c;尤其是近年来AI的兴起造就了产品经理与AI方面深度融合从而催生了“AI产品经理”这种类型的岗位。具体数据如下 总体规模&#xff1a; 2020 年&#xff1a;受疫情影响&am…...

【黑马JavaWeb+AI知识梳理】前端Web基础02 - JS+Vue+Ajax

JS&#xff08;行为/交互效果&#xff09; JavaScript&#xff08;JS&#xff09;跨平台、面向对象&#xff0c;是用来控制网页行为&#xff0c;实现页面交互效果的脚本语言。 和Java完全不同&#xff0c;但基础语法类似。 组成&#xff1a; ECMAScript&#xff1a;规定了JS…...

Unity Post Processing 小记 【使用泛光实现灯光亮度效果】

一、前言 本篇适用于Unity 2018 - 2019及以上版本&#xff0c;以默认渲染管线为例。文章内容源于个人研究尝试与网络资料收集&#xff0c;可能存在不准确之处。初衷是因新版本制作时老的Bloom插件失效&#xff0c;经研究后分享开启Bloom效果的方法。若在项目中使用Post Proces…...

NFC 碰一碰发视频贴牌技术,音频功能的开发实践与技术解析

在数字化营销与信息交互场景中&#xff0c;NFC 碰一碰技术凭借其便捷性和高效性&#xff0c;成为快速传递多媒体内容的新选择。通过 NFC 实现视频音频的快速传输&#xff0c;不仅能提升用户体验&#xff0c;还能为各类场景带来创新应用。本文将深入探讨该功能开发过程中的关键技…...

新型“电力寄生虫“网络钓鱼攻击瞄准能源企业与知名品牌

本周发布的综合威胁报告显示&#xff0c;自2024年以来&#xff0c;一场名为"电力寄生虫"&#xff08;Power Parasites&#xff09;的复杂网络钓鱼活动持续针对全球能源巨头和知名品牌展开攻击。 该攻击活动主要通过精心设计的投资骗局和虚假招聘信息&#xff0c;冒用…...

如何将数据输入到神经网络中

引言 在前面的文章学习中&#xff0c;我们初步了解到神经网络在人工智能领域扮演着至关重要的角色&#xff0c;它具备实现真正人工智能的潜力。真正的人工智能意味着机器能够像人类一样进行感知、学习、推理和决策等复杂活动。而神经网络作为实现这一目标的关键技术&#xff0c…...

【quantity】2 Unit 结构体(unit.rs)

一、源码 下面代码实现了一个基于类型级别的物理量单位系统&#xff0c;使用Rust的类型系统在编译期保证单位运算的正确性。 use typenum::{Integer, Sum, Diff, Z0, // 0P1, P2, P3, P4, // 1, 2, 3, 4N1, N2, N3 // -1, -2, -3 }; use std::marker::PhantomData; use st…...

OpenCV 图形API(66)图像结构分析和形状描述符------将一条直线拟合到三维点集上函数fitLine3D()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 拟合一条直线到3D点集。 该函数通过最小化 ∑iρ(ri) 来将一条直线拟合到3D点集&#xff0c;其中 ri 是第 i 个点与直线之间的距离&#xff0c;…...

uniapp: 低功耗蓝牙(BLE)的使用

在微信小程序中实现蓝牙对接蓝牙秤的重量功能&#xff0c;主要依赖微信小程序提供的低功耗蓝牙&#xff08;BLE&#xff09;API。以下是一个清晰的步骤指南&#xff0c;帮助你完成从连接蓝牙秤到获取重量数据的开发流程。需要注意的是&#xff0c;具体实现可能因蓝牙秤的协议和…...

谢飞机的Java面试之旅:从Spring Boot到Kubernetes的挑战

场景:互联网大厂Java求职 在一家知名互联网大厂的面试现场,严肃的面试官坐在谢飞机的对面,开始了面试。 第一轮:基础技术与平台 面试官: 谢先生,您能简单介绍一下Java SE 8的主要新特性吗? 谢飞机: 当然,Java 8引入了Lambda表达式、Stream API和新的日期时间API。 …...

Shadertoy着色器移植到Three.js经验总结

Shadertoy是一个流行的在线平台&#xff0c;用于创建和分享WebGL片段着色器。里面有很多令人惊叹的画面&#xff0c;甚至3D场景。本人也移植了几个ShaderToy上的着色器。本文将详细介绍移植过程中需要注意的关键点。 1. 基本结构差异 想要移植ShaderToy的shader到three.js&am…...

基于BenchmarkSQL的OceanBase数据库tpcc性能测试

基于BenchmarkSQL的OceanBase数据库tpcc性能测试 安装BenchmarkSQL及其依赖安装软件依赖编译BenchmarkSQLBenchmarkSQL props文件配置数据库和测试表配置BenchmarkSQL压测装载测试数据TPC-C压测(固定事务数量)TPC-C压测(固定时长)生成测试报告重复测试流程梳理安装Benchmar…...

Flutter 泛型 泛型方法 泛型类 泛型接口

目录 泛型简单使用 泛型类的简单使用 泛型接口的使用 通俗理解:泛型就是解决 类 接口 方法的复用性、以及对不特定数据类型的支持(类型校验) 泛型简单使用 main(){print(getData2("XXX"));getData2<String>("XXX");getData2<int>(1);}Str…...

边缘函数:全栈开发的最后1毫秒性能革命

一、边缘计算的时空折叠术 1. 传统CDN vs. 智能边缘网络 全球电商平台实测数据&#xff1a; 场景云端处理延迟边缘处理延迟转化率提升搜索建议320ms8ms18%个性化推荐450ms12ms27%实时库存检查680ms9ms42%欺诈检测920ms15ms63% 二、边缘全栈架构的量子纠缠 1. 代码的时空分布…...

网店专用版批量转账系统,覆盖淘宝、拼多多、抖店订单信息自动核对+插旗自动备注,支持微信支付宝批量转账

不少电商人在运营过程中&#xff0c;需要用转账工具来解决日常运营过程中的返款问题。 但在实际操作过程中&#xff0c;往往有很多问题。东哥在这里梳理下&#xff0c;方便大家了解&#xff1a; 1.错返/漏返的情况时有发生 为什么会错返和漏返&#xff1f; 实际来看&#x…...

AUTOSAR_RS_ClassicPlatformDebugTraceProfile

AUTOSAR经典平台调试、跟踪与分析支持 AUTOSAR组件调试、跟踪与分析功能详解 目录 简介ARTI核心扩展 核心特定ARTI扩展结构核心参数定义 操作系统和任务扩展 OS特定ARTI扩展任务特定ARTI扩展软件组件特定扩展 总体架构 组件结构接口定义 错误处理 默认错误跟踪器(DET) 总结 1.…...

vue中将html2canvas转成的图片传递给后台 Python Flask 服务

下面将详细介绍如何在 Vue 项目里把 html2canvas 转换得到的图片传递给后台的 Python Flask 服务。 前端&#xff08;Vue&#xff09;步骤 1. 安装依赖 首先要确保已经安装了 html2canvas 和 axios&#xff0c;若未安装&#xff0c;可在终端执行以下命令&#xff1a; npm i…...

基于深度学习的智能交通流量监控与预测系统设计与实现

基于深度学习的智能交通流量监控与预测系统设计与实现 摘要 随着城市化进程的加速和机动车保有量的激增&#xff0c;交通拥堵、事故频发、环境污染等问题日益严峻&#xff0c;对传统的交通管理方式提出了巨大挑战。智能交通系统&#xff08;ITS&#xff09;作为解决这些问题的…...

鸿蒙系统应用开发全栈指南

一、开发环境搭建与工具链配置 1. DevEco Studio深度解析 作为鸿蒙生态的官方IDE&#xff0c;DevEco Studio 4.2版本已集成ArkTS 3.0编译器与AI代码助手功能。安装过程需注意&#xff1a; 系统要求&#xff1a;Windows 10 21H2或macOS Monterey以上环境依赖&#xff1a;Node…...

STC32裸机项目集成FreeRTOS的实战问题解析

目录 &#x1f345;点击这里查看所有博文 随着自己工作的进行&#xff0c;接触到的技术栈也越来越多。给我一个很直观的感受就是&#xff0c;某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了&#xff0c;只有经常会用到的东西才有可能真正记…...

振弦式应变计在混凝土结构长期监测中的应用与特点 久岩传感 GEO-explorer

振弦式应变计在混凝土结构长期监测中的应用与特点 久岩传感 GEO-explorer 振弦式应变计是一种专为长期埋设于水工建筑物及各类混凝土结构内部而设计的测量仪器&#xff0c;可广泛应用于梁体、柱体、桩基、挡土墙、隧道衬砌、桥墩及基岩等结构的应变与应力监测&#xff0c;同时具…...

AVFormatContext 再分析

说明 &#xff1a;将 avfromatContext 的变量依次打印分析&#xff0c;根据ffmpeg 给的说明&#xff0c;猜测&#xff0c;结合网上的文章字节写测试代码分析。 从常用到不常用依次分析 1. unsigned int nb_streams; 代表 avfromatContext 中 AVStream **streams 的个数 /** …...

力扣hot100,739每日温度(单调栈)详解

时隔多久又遇到单调栈的题了&#xff0c;上次记得是接雨水的题&#xff0c;简单讲一下单调栈的适用场景和定义。 意义:看名字就知道单调栈是一个栈里面的数据是单调的 。 解决问题: 单调栈主要用于解决需要**快速找到某个元素附近更大或更小的元素**的问题&#xff0c;其核心…...

怎么检测代理IP延迟?如何选择低延迟代理?

在跨境电商、数据采集以及社交媒体管理等活动中&#xff0c;代理IP的延迟是评估其性能的关键指标之一。高延迟的代理IP可能显著影响任务效率&#xff0c;特别是在需要高并发或大量请求的情况下。本文将介绍几种测试海外代理IP延迟的方法。 一、使用Ping命令测试延迟 Ping命令…...

QEMU 10.0 发布

QEMU 10.0 于 2025 年 4 月 23 日发布。此版本包含 2800 多个提交&#xff0c;来自 211 位作者。以下是一些主要的更新内容&#xff1a; CPU 和主板支持增强 x86 架构&#xff1a;优化了字符串操作指令&#xff0c;显著缩短启动时间。新增了 Intel Clearwater Forest 和 Sierra…...

C++和Java该如何选择?

我真诚的建议你选择C。因为国内Java程序员内卷太严重了&#xff0c;某些公司发布一个Java岗位&#xff0c;立刻就有几百人打招呼&#xff1b;而发布一个C岗位&#xff0c;打招呼的人数就那么十几个。 要知道&#xff0c;无论什么时候&#xff0c;只要你能够学得动C&#xff0c…...

Javase 基础入门 —— 06 final + 单例

本系列为笔者学习Javase的课堂笔记&#xff0c;视频资源为B站黑马程序员出品的《黑马程序员JavaAI智能辅助编程全套视频教程&#xff0c;java零基础入门到大牛一套通关》&#xff0c;章节分布参考视频教程&#xff0c;为同样学习Javase系列课程的同学们提供参考。 01 final 关…...

web 开发中,前端部署更新后,该怎么通知用户刷新

web 开发中&#xff0c;前端部署更新后&#xff0c;该怎么通知用户刷新&#xff1f; 浏览器为什么存在刷新按钮&#xff1f;&#x1f518; 因为需要重新加载js&#xff0c;css&#xff0c;html。但为何需要重新加载这些东西&#xff1f;直白点说这些东西其实就是一个文档&…...

LaTex、pdfLaTex、XeLaTex和luaLaTex的区别和联系

之前一直搞不懂这些乱七八糟的Tex到底有啥区别&#xff0c;不同引擎不同编译器换来换去&#xff0c;查了些资料又问了下AI&#xff0c;总算是搞懂了。 大概是这样&#xff0c;很久以前有人写了个Tex排版引擎&#xff0c;输入一些代码命令&#xff0c;输出dvi文件&#xff08;设…...

深入解析 npm 与 Yarn:Node.js 包管理工具对比与选型指南

在 Node.js 生态中&#xff0c;依赖管理是项目开发的核心环节。npm&#xff08;Node Package Manager&#xff09;和 Yarn 作为两大主流包管理工具&#xff0c;虽目标一致但各有特色。本文将从技术实现、使用场景、生态整合等维度深度对比&#xff0c;助你选择更适合的工具。​…...

PDF嵌入图片

所需依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-core</artifactId><version>9.0.0</version><type>pom</type> </dependency>源码 /*** PDF工具*/ public class PdfUtils {/*** 嵌入图…...

Coding Practice,48天强训(24)

Topic 1&#xff1a;判断是不是平衡二叉树&#xff08;递归&#xff09; 判断是不是平衡二叉树_牛客题霸_牛客网 /*** struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ /*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&…...

技术分享 | Oracle-RAC修改IP信息

本文为墨天轮数据库管理服务团队第61期技术分享&#xff0c;内容原创&#xff0c;作者为技术顾问胡振兴&#xff0c;如需转载请联系小墨&#xff08;VX&#xff1a;modb666&#xff09;并注明来源。 在生产中有时候会遇到网络变更&#xff0c;Oracle RAC IP信息更换等情况&…...

北京工业大学25计专上岸经验分享

1.个人情况介绍 本科就读于河北双非&#xff0c;专业为计算机科学与技术&#xff0c;四级三次498&#xff0c;六级两次460&#xff0c;拿过几次校级奖学金&#xff0c;竞赛经历有蓝桥杯国三、数学竞赛省二。本科成绩排名靠前&#xff0c;保研保7排8&#xff0c;遗憾选择考研继…...

rabbitmq常用命令

目录 1.查看集群状态 2.查看消息对列的堆积 3.重启mq服务 4.清理mq队列消息 1.查看集群状态 rabbitmqctl cluster_status 2.查看消息对列的堆积 rabbitmqctl list_queues rabbitmqctl list_queues | grep -v 0$ 3.重启mq服务 systemctl status rabbitmq-server.servic…...

Spring Cloud Alibaba 整合 Sentinel:实现微服务高可用防护

一、Sentinel 简介 Sentinel 是阿里巴巴开源的面向分布式服务架构的流量控制组件&#xff0c;主要提供以下核心功能&#xff1a; 流量控制&#xff1a;针对不同的调用关系&#xff0c;以不同的运行指标&#xff08;如 QPS、线程数、系统负载等&#xff09;为基准&#xff0c;对…...

机器人抓取位姿检测——GRCN训练及测试教程(Pytorch)

机器人抓取位姿检测——GRCN训练及测试教程(Pytorch) 这篇文章主要介绍了2020年IROS提出的一种名为GRCN的检测模型,给出了代码各部分的说明,并给出windows系统下可以直接复现的完整代码,包含Cornell数据集。 模型结构图 github源码地址:https://github.com/skumra/robo…...

《一键式江湖:Docker Compose中间件部署108式》开篇:告别“配置地狱”,从此笑傲云原生武林!》

&#xff08;&#x1f5e1;️江湖险恶&#xff0c;少侠可曾受困&#xff1f;&#xff09; 深夜&#x1f319;&#xff0c;你盯着屏幕泛红的终端报错&#xff0c;第3次从GitHub某个无名仓库扒下残缺的docker-compose.yaml&#xff0c; 却发现&#xff1a; RabbitMQ连不上&#…...

C语言内敛函数

目录 1、内敛函数的定义 2、内敛函数的特点 2.1 减少函数调用开销 2.2 代码膨胀 2.3 编译器决定 2.4 适用于小型函数 3、示例 4、注意事项 在C语言中&#xff0c;内敛函数&#xff08;Inline Function&#xff09;是一种通过编译器优化来减少函数调用开销的机制。它通过…...

DAY8-GDB调试及打桩

GDB打桩 1.类成员函数打桩 // example1.cpp #include <iostream>class Calculator { public:int add(int a, int b) {return a b;} };int main() {Calculator calc;std::cout << "Result: " << calc.add(2, 3) << std::endl;return 0; }(…...

三、UI自动化测试03--操作方法API

目录 一、元素操作⽅法二、浏览器操作⽅法1. Part1: 设置最⼤化/⼤⼩/位置扩展: Web/APP 项⽬⻚⾯布局坐标系示意2. Part2: 后退/前进/刷新3. Part3: 关闭/退出/获取⻚⾯标题和 URL 地址 三、获取元素信息⽅法1. Part1: 获取⼤⼩/⽂本/属性值2. Part2: 判断元素是否可⻅/可⽤/可…...

人工智能—— K-means 聚类算法

目录 摘要 16 K-means 聚类算法 16.1 本章工作任务 16.2 本章技能目标 16.3 本章简介 16.4 编程实战 16.5 本章总结 16.6 本章作业 本章已完结&#xff01;&#xff01;&#xff01; 摘要 本章实现的工作是&#xff1a;首先采用Python语言读取样本数据(学生的语文、数…...

使用XMLSpy校验xml是否合法

# 背景说明 近期大部分地区都在做或将要做数据迁移&#xff0c;基本所有产品的迁移工具底层都依赖了XSD文件对迁移的结构化数据对应XML文件进行初步校验&#xff0c;但有些XSD的问题提示不太容易理解&#xff0c;正好N年前我做XX数据上报时用过XMLSpy可以直接校验每个xml是否合…...

游戏引擎学习第248天:清理数据块显示

启动代码&#xff0c;构建游戏&#xff0c;回顾并为今天的工作做好准备 今天还需要做一些额外的调整。具体来说&#xff0c;我们希望能编辑一些调试值&#xff0c;而这个结构在当前的调试系统中已经有了&#xff0c;所以今天主要是清理一些无关的部分&#xff0c;并进行一些连…...

基于Pytest接口自动化的requests模块项目实战以及接口关联方法详解

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、基于pytest单元测试框架的规则 1.1 模块名&#xff08;即文件名&#xff09;必须以test_开头或者_test结尾 1.2 类名必须以Test开头且不能有init方法 1.3 用…...