Multi Line Chart Control

 

Download Source Code

Download Example Project

This control class CLineChartCtrl is derived from CWnd. The original idea and part of the code are from Ken C. Len's CHistogramCtrl. I did some changes to make the control work in multi lines. I was trying to make a CPU usage app that would work both under Windows95/98 and NT, but I failed. I know now how to get CPU usage under Windows 95/98 through the registry (See the article Q174631 from Microsoft). But the code does not work under NT:-).

I found something very interesting in Ndis.vxd(Win95/98) and Ndis.Dll(NT) - there is a function called NdisGetCurrentProcessorCpuUsage(). Will this function solve all the problems? I don't know. I can load the library and receive the address for the function, but I don't have the parameters. If anyone knows anything about it, I will appreciate if you let me know!

The sample project is created and compiled with Visual C++ 5.0 SP3 under Windows 98.

How to use

1. Use the MS Visual C++ dialog editor to place a custom control on the dialog, and enter "LINE_CHART_CTRL" as the Class name.

2. Add a CPieChartCtrl class member in the header file

#include "LineChartCtrl.h"
...
CLineChartCtrl m_wndLineChart;

3. Subclass the class member with the control in InitDialog()

//IDC_LINE_CHART_CTRL is the control ID
m_wndLineChart.SubclassDlgItem(IDC_LINE_CHART_CTRL, this);

4. Initiate the control

m_wndLineChart.Add(RGB(0,255,0),100, 0);
m_wndLineChart.Add(RGB(255,255,0),100, 0);
m_wndLineChart.Add(RGB(0,255,255),100, 0);

SetTimer(1, 500, NULL); // Create a timer to update the control

5. Add update code in OnTimer(UINT nIDEvent)

m_wndLineChart.SetPos(0,nPos0); // nPos0 is the currect postion
m_wndLineChart.SetPos(1,nPos1); // nPos1 is the currect postion
m_wndLineChart.SetPos(2,nPos2); // nPos2 is the currect postion
m_wndLineChart.Go(); // Make sure that the control updates with the new value

Last updated: 13 August 1998



Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: October 29, 2014 @ 11:00 a.m. ET / 8:00 a.m. PT Are you interested in building a cognitive application using the power of IBM Watson? Need a platform that provides speed and ease for rapidly deploying this application? Join Chris Madison, Watson Solution Architect, as he walks through the process of building a Watson powered application on IBM Bluemix. Chris will talk about the new Watson Services just released on IBM bluemix, but more importantly he will do a step by step cognitive …

  • In this webinar, IDC featured speaker Steve Conway, Vice President of High Performance Computing, will present an update on the global x86 HPC cluster market. The presentation will include IDC's five-year forecast for the medium- to large-scale technical computing and data analysis emerging markets by systems, processors and application middleware. Cray's featured speaker, John Lee, Vice President of Cray Cluster Advanced Technology Systems, will present the new Cray® CS400™ cluster series based on …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds