MSCHRT20.OCX使用详解

2024-04-25 05:48
文章标签 使用 详解 ocx mschrt20

本文主要是介绍MSCHRT20.OCX使用详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一步:把MSCHRT20.OCX(下载)和msdatasrc.dll(搜索下系统里有)放在一起,比如D盘根目录下,执行注册控件“regsvr32 D:/MSCHRT20.OCX”。

第二步:成功后,在VC++下“工程->增加到工程->Components and Controls”,打开了文件通用对话框,选择“Registered ActiveX Controls->Microsoft Chart Control, version 6.0 (OLEDB)”,控件插入后就可以开始使用了。

第三步:代码示例

1、先给控件赋予变量m_Chart

2、加入头文件(可以继续加,少什么加什么)

#include   "mschart.h "
#include   "vcplot.h "
#include   "vcseriescollection.h "
#include   "vcseries.h "
#include   "vcdatapoints.h "
#include   "vcdatapoint.h "
#include   "vcdatapointlabel.h "
#include   "vcfont.h "
#include   "vcaxis.h "
#include   "VcValueScale.h"
#include   "VcBackdrop.h"
#include   "VcFill.h"
#include   "VcBrush.h"
#include   "VcColor.h"
#include   "VcPen.h"
#include   "VcCategoryScale.h"
#include   "VcAxisTitle.h"
#include   "VcDataGrid.h"

3、初始化图表:

 m_Chart.GetPlot().GetAxis(1,chart_var).GetValueScale().SetMajorDivision(100);//y轴刻度10等分
 m_Chart.GetPlot().GetAxis(1,chart_var).GetValueScale().SetMinorDivision(0.1);//每刻度一个刻度线
 m_Chart.SetColumnCount(2); //2个项,2条曲线
 m_Chart.SetTitleText("用户消费情况折线图统计");//设置标题栏 
 m_Chart.SetColumnLabel("本地话费");//设置第j列标签
 m_Chart.SetColumn(2);
 m_Chart.SetColumnLabel("长途话费");
 m_Chart.GetPlot().GetAxis(0,chart_var).GetAxisTitle().SetText("消费日期");  //X轴名称
 
 m_Chart.SetShowLegend(TRUE);
 m_Chart.GetPlot().GetSeriesCollection().GetItem(1).GetPen().GetVtColor().Set(0, 0, 255);//线色,蓝色曲线
 m_Chart.GetPlot().GetSeriesCollection().GetItem(1).GetPen().SetWidth(1);//线宽
 m_Chart.GetPlot().GetSeriesCollection().GetItem(2).GetPen().GetVtColor().Set(255, 0, 0);//红色
 m_Chart.GetPlot().GetSeriesCollection().GetItem(2).GetPen().SetWidth(1);//线宽

 m_Chart.GetBackdrop().GetFill().SetStyle(1);
 m_Chart.GetBackdrop().GetFill().GetBrush().GetFillColor().Set(255, 255, 255);//白色背景

 //初始化曲线值
 for(int beginrow=1; beginrow<=5; ++beginrow){ 
  m_Chart.GetDataGrid().SetData(beginrow, 1, 0, 0);//设置第一条曲线的第row个点
  m_Chart.GetDataGrid().SetData(beginrow, 2, 0, 0);//设置第二条曲线的第row个点
 }

4、开始画图:

 int items = m_list_cost.GetItemCount();
 m_Chart.SetRowCount(items); 
 for (int j=0; j<items; j++)   //画图
 { 
  m_Chart.GetDataGrid().SetData(j+1, 1, data_local[j], 0);//设置第一条曲线的第j+1个点
  m_Chart.GetDataGrid().SetData(j+1, 2, data_long[j], 0);//设置第一条曲线的第j+1个点
  m_Chart.SetRow(j+1);
  m_Chart.SetRowLabel(data_time[j]);//设置第i行标签
 } 
  m_Chart.Refresh();

其中data_local和data_long为两条曲线采样点的整数值。datatime为字符串数组。

这篇关于MSCHRT20.OCX使用详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/933831

相关文章

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

MySQL中的交叉连接、自然连接和内连接查询详解

《MySQL中的交叉连接、自然连接和内连接查询详解》:本文主要介绍MySQL中的交叉连接、自然连接和内连接查询,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、引入二、交php叉连接(cross join)三、自然连接(naturalandroid join)四

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

鸿蒙中@State的原理使用详解(HarmonyOS 5)

《鸿蒙中@State的原理使用详解(HarmonyOS5)》@State是HarmonyOSArkTS框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动UI的响应式编程模式,本文给大家介绍... 目录一、@State在鸿蒙中是做什么的?二、@Spythontate的基本原理1. 依赖关系的收集2.

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印