MFC使用高速绘图控件high-speed Charting Control绘制柱形图

1. 创建MFC单文档工程BarChartDemo。
2. 在工程文件夹下新建文件夹ChartCtrl,将ChartCtrl源码放入,如下图所示。在工程中添加这些项,项目——添加——现有项,全部添加。

3. 添加一个对话框,ID为IDD_DLG_BAR,类名为CBarDlg。
4. 在对话框中添加Custom Control控件,将控件的Style属性设置为0x52010000,Class属性设置为ChartCtrl,如下图所示。

5. 在BarDlg.h中添加头文件引用#include "ChartCtrl\ChartCtrl.h"
6.在步骤4中的控件上右键,选择“添加变量”,变量类型为CChartCtrl(不可修改),变量名为m_ChartCtrl(可自定义),如下图所示。

点击完成,则可以在BarDlg.h中看到,增加了一个变量CChartCtrl m_ChartCtrl;
在BarDlg.cpp中增加了如下语句

至此控件准备就绪,下面编程来实现我们想要的功能。
7. 在BarDlg.h中添加以下变量和函数
CChartBalloonLabel<SChartXYPoint> *label;
CChartBarSerie *barSerie;
void InitChart();
void InitAxis();
void InitBarSerie();
void CreateData();
void
相关文章:
MFC使用高速绘图控件high-speed Charting Control绘制柱形图
1. 创建MFC单文档工程BarChartDemo。 2. 在工程文件夹下新建文件夹ChartCtrl,将ChartCtrl源码放入,如下图所示。在工程中添加这些项,项目——添加——现有项,全部添加。 3. 添加一个对话框,ID为IDD_DLG_BAR,类名为CBarDlg。 4. 在对话框中添加Custom Control控件,将控…...
vue3 H5项目中实现PDF预览
是需要npm i vue-pdf-embed 安装这个插件的,可兼容ios/Android,下面是本人的使用实例 <template><div class"conten_box"><vue-pdf-embed v-if"pdfSource.url" :source"pdfSource" /></div> <…...
【WebRTC---源码篇】(十一:一)采集编码发送期间使用时间戳的详细解读
一、时间戳定义 1、 NTP时间 NtpTime RealTimeClock::CurrentNtpTime() //获取从1900-01-01 00:00.00到当前时刻经过的时间 int64_t RealTimeClock::CurrentNtpInMilliseconds() //获取从1900-01-01 00:00.00到当前时刻经过的毫秒数,ms int64_t rtc::TimeUTCMicros() //获取…...
Python学习路线 - Python语言基础入门 - Python异常、模块与包
Python学习路线 - Python语言基础入门 - Python异常、模块与包 了解异常什么是异常bug单词的诞生异常演示 异常的捕获方法为什么要捕获异常捕获常规异常捕获指定异常捕获多个异常捕获异常并输出描述信息捕获所有异常异常 else异常的finally 异常的传递Python模块什么是模块模块…...
eventbus,在this.$on监听事件时无法在获取数据
问题:vue中eventbus被多次触发,在this.$on监听事件时,内部的this发生改变导致,无法在vue实例中添加数据。 项目场景 一开始的需求是这样的,为了实现两个组件(A.vue ,B.vue)之间的数据传递。 页面A,点击页面…...
【Python必做100题】之第二十五题(统计字符)
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数 代码如下: string input("请输入字符串:")char 0 number 0 space 0 other 0for i in string:if i.isalpha():char 1elif i.isdigit():number 1eli…...
开发语言:ArkTS
简介 ArkTS是华为为鸿蒙操作系统(HarmonyOS)开发的一种应用开发语言。这种语言在TypeScript(简称TS)的基础上进行了扩展,以更好地适应鸿蒙系统的特点和开发需求。ArkTS不仅继承了TS的所有特性,而且还对TS的…...
Qt中字符串转换为JS的函数执行
简介 在 QML 中,将 JavaScript 字符串转换为函数通常涉及使用 Function 构造函数或 eval() 函数。但是,QML 的环境对 JavaScript 的支持有一定的限制,因此不是所有的 JavaScript 功能都可以在 QML 中直接使用。 以下介绍都是在Qt5.12.1…...
TCP/IP:从数据包到网络的演变
引言 TCP/IP协议的起源可以追溯到20世纪60年代末和70年代初,美国国防部高级研究计划局(ARPA)研究开发一种可靠的通信协议,用于连接分散在不同地点的计算机和资源。 在当时,计算机之间的连接并不像现在这样普遍和便捷…...
闪存驱动器与机械硬盘与固态硬盘
目录 U盘(闪存驱动器) 固态硬盘(SSD) 机械硬盘(HDD) 目前主流 U盘(闪存驱动器) U盘是便携式存储设备,内部采用闪存芯片作为存储介质。它们通常具有小巧轻便的外形&am…...
java String转asc码,然后ascII再转四位的16进制数。
理论知识补充: char是Java中的保留字,表示一种数据类型。与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode编码。不过8位的ASCII码包含在Unicode编码中,其值对应十进制的表示范围是0~127。 char是Java八…...
零基础制作宠物用品小程序
随着人们对宠物用品的需求不断增长,越来越多的人开始探索如何制作一个专业的宠物用品小程序。而乔拓云作为一款功能强大的在线商城制作工具,成为了许多商家的首选。本文将详细介绍如何使用乔拓云制作宠物用品小程序,让你轻松上手,…...
【SpringBoot篇】解决缓存击穿问题① — 基于互斥锁方式
文章目录 🌹什么是缓存击穿🌺基于互斥锁解决问题🛸思路 🏳️🌈代码实现 🌹什么是缓存击穿 缓存击穿是指在使用缓存系统时,对一个热点数据的高并发请求导致缓存失效,多个请求同时访…...
系列一、GitHub搜索技巧
一、GitHub搜索技巧 1.1、概述 作为程序员,GitHub大家应该都再熟悉不过了,很多时候当我们需要使用某一项技能而又无从下手时,通常会在百度(面向百度编程)或者在GitHub上通过关键字寻找相关案例,比如我想学…...
35.java后端面试宝典
一、自我介绍。 我叫什么,这次是应聘什么岗位,会什么技术,会什么框架,熟练掌握框架之间的整合技术,做过什么项目并且介绍主要做了什么,并且可以为公司带来什么价值。 总的来说,初级Java工程师岗…...
Linux 磁盘空间占满故障解决方法
故障排查: 使用命令查看磁盘使用量 # 使用人类可读的格式(预设值是不加这个选项的...) df -h # --inodes 列出 inode 资讯,不列出已使用 block df -i # 查看当前目录下各个文件及目录占用空间大小 du -sh / 情况一:一般磁盘空间满了&a…...
让生活更智能,P1600边缘智能网关带你进入智能家居新时代
一、什么是P1600边缘智能网关? 在科技日新月异的今天,我们的生活已经被各种智能产品所包围。而在这个智能化的浪潮中,P1600边缘智能网关以其独特的优势,成为了智能家居的重要组成部分。那么,什么是P1600边缘智能网关呢…...
Java与前端:2023年的真实状况与焦虑解读
一、引言 在2023年,IT圈中流传着一些关于Java和前端的言论,这些言论引起了广泛的关注。有些人认为“Java已死、前端已凉”,而另一些人则持不同观点。那么,这些言论背后的真相是什么?它们是在贩卖焦虑吗?本…...
adb 基本命令合集
1.获取所有的包信息: adb shell pm list packages com.yu.weskul 2.清除APP缓存 adb shell pm clear <package-name> 3.查看当前应用及Activity adb shell dumpsys window | findstr "mCurrentFocus" 4.查看应用详细信息 adb shell dumpsys pack…...
[RK-Linux] RK3399支持M.2 NVMe SSD启动
延续《[RK-Linux] 从主线U-Boot移植PCIe及其PHY驱动到RK3399 U-Boot》 启动流程: maskrom -> loader(从 eMMC 存储器加载) -> u-boot(从 eMMC 存储器加载)-> kernel (从 M.2 NVMe SSD 加载)-> rootfs (从 M.2 NVMe SSD 挂载)配置从 M.2 NVMe SSD 启动: …...
7个实战技巧让你轻松掌握vlayout动态布局:从入门到精通
7个实战技巧让你轻松掌握vlayout动态布局:从入门到精通 【免费下载链接】vlayout Project vlayout is a powerfull LayoutManager extension for RecyclerView, it provides a group of layouts for RecyclerView. Make it able to handle a complicate situation w…...
基于单片机的盲人专用水杯系统(有完整资料)
编号:CJ-32-2022-161设计简介:本设计是基于单片机的盲人专用水杯系统,主要实现以下功能:1,OLED显示水位、温度和倒计时时间; 2,倒计时结束后,语音播报提醒喝药; 3&#x…...
开源漏洞情报自动化分诊系统:从数据采集到智能响应的工程实践
1. 项目概述:一个为开源安全情报而生的“智能爪子”如果你和我一样,长期混迹在开源软件和网络安全社区,那你一定对“漏洞情报”这个词不陌生。每天,成千上万的开源项目在更新,新的漏洞(CVE)在发…...
A*搜索算法原理与工业级优化实践
1. A*搜索算法核心原理与工程实现A搜索算法作为路径规划领域的经典算法,其核心优势在于将Dijkstra算法的完备性与贪心算法的高效性相结合。在实际工程项目中,我经常使用A来解决各类移动机器人的导航问题,它的表现始终稳定可靠。1.1 算法核心三…...
基于WebSocket的企业微信AI助手部署与调优实战
1. 项目概述:一个开箱即用的企业微信AI助手搭建方案最近在折腾如何把Claude Code这个强大的AI编程助手无缝集成到团队日常沟通里,试过一些方案,要么需要公网服务器搞回调配置,要么部署起来一堆依赖让人头疼。直到发现了这个叫Claw…...
Godot 4动态网格切割:实现实时物理破坏效果
1. 项目概述与核心价值 最近在Godot社区里,一个名为 cloudofoz/godot-smashthemesh 的开源项目引起了我的注意。乍一看这个标题,可能会觉得有些抽象——“粉碎网格”?但当你深入了解后,会发现它精准地解决了一个在3D游戏开发&am…...
CXL内存池实现GPU显存零拷贝访问
CXL内存池在大模型训练中实现GPU显存“零拷贝访问”的核心原理,是通过建立缓存一致性的统一内存地址空间,使得GPU能够像访问本地显存(HBM)一样,直接通过加载/存储(Load/Store)指令访问远端的CXL…...
边缘计算中ViT模型的优化技术与医疗应用
1. 边缘计算中的ViT优化挑战与机遇Vision Transformer(ViT)模型在计算机视觉任务中展现出卓越性能,但其庞大的计算量和内存需求给边缘设备部署带来了严峻挑战。边缘计算环境通常面临三大核心约束:有限的计算资源(如移动…...
基于Rust的MCP服务器开发指南:为AI应用构建安全高效的工具扩展
1. 项目概述:一个为AI应用构建的Rust版MCP服务器 如果你最近在折腾AI应用开发,尤其是想让你的AI助手(比如Claude Desktop、Cursor等)能够“看到”并操作你电脑上的文件、数据库,或者调用各种API,那么你很可…...
性能调优与成本控制:Spring AI 的缓存、限流与模型降级策略
系列导读 你现在看到的是《Spring AI 企业级集成与场景实践:从零搭建智能应用》的第 8/10 篇,当前这篇会重点解决:提供一套完整的性能与成本优化工具箱,让 AI 应用在预算内高效运行。 上一篇回顾:第 7 篇《生产级部署:Spring AI 应用的 Docker 容器化与 Kubernetes 编排…...
