Click here to Skip to main content
Click here to Skip to main content

Bar Graph Control

By , 26 Jan 2004
 

Introduction

Here is a simple bar graph control class derived from CStatic. It supports displaying real-time data, using any number of bars with different colors, using scale both in cm and inch, etc.

Using the code

How to add this control to your project:

  1. Copy files GraphCtrl.h and GraphCtrl.cpp to your project directory, and add to your project.
  2. Include GraphCtrl.h in files where you need to use this class.
  3. Change CStatic definitions to CGraphCtrl.
  4. Use the API described below.
int SetNumberOfBars(int num)
//Sets the number of bars you want to display. 
//If successful, it returns number of bars set, otherwise -1.
int SetBarColor(int idx, COLORREF clr)
//Sets the color for the bars.  idx is the index of the 
//bar from left to right (1,2,3..etc.)
//If successful, it returns index of the bar for which 
//the color was set, otherwise -1.
void SetUnit(int unit)
//Sets the scale to cm or inch. Send UCM for cm and UINCH for inch
void SetBarValue(int idx, int value)
//Sets the value of a bar.  idx is the index of the bar 
//for which the value to be set and 
//the parameter value is the value we have to set for it.

Example of Use

m_Graph.SetNumberOfBars(18); //Number of bars to be shown

m_Graph.SetBarColor(1,RGB(200,200,200)); 
    //Sets the color to the bar of index 1

m_Graph.SetBarValue(1,22); //Sets value to the bar of index 1

m_Graph.SetUnit(UCM);  //Sets scale to cm

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Shaibujan
Team Leader
India India
Member
Mr. Shaibujan has got 9+ yrs of programming experience in C/C++, on various domains like Cryptography, Biometric Security, Network Security, Pattern Recognition, Image Processing, MPEG2, MPEG4, H.264, AAC etc.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 5memberVinod Viswanath14 Sep '12 - 21:06 
GeneralMy vote of 2memberDRLaverdure18 Sep '10 - 9:27 
GeneralThere is a nice bar chart .Net component as wellmemberoklook14 Aug '09 - 1:40 
Questionlarge number of bars?memberJared CompEng29 Apr '07 - 2:14 
Questionambiguous size of bar ??!!!?membermohsen nourian20 Sep '06 - 20:24 
GeneralSave to Bitmap Filemembervarandas7918 Jun '06 - 3:00 
Generalerror in line : using namespace stdmembermohsen nourian24 Sep '06 - 2:25 
Generalproblem with big valuesmemberKostis Mentzelos4 Apr '04 - 12:32 
GeneralRe: problem with big valuesmembermohsen nourian24 Sep '06 - 19:27 
GeneralSetBarColormemberKostis Mentzelos4 Apr '04 - 3:33 
GeneralRe: SetBarColormemberhucker14 Jun '04 - 11:01 
GeneralRe: SetBarColormemberNiFF8 Dec '04 - 23:44 
General- Memory LeakmemberChaitanya1232 Mar '04 - 9:18 
Hello author,
 
I am learning to write VC++ programs studying the programs given here. Came across your program, seems wonderful. May be this is 2 elementary but the program has memory leaks at two places. I hope other viewrs have spotted it and corrected it.
If not ... at the following in the destructor:
CGraphCtrl::~CGraphCtrl()
{
if(bar)
{
delete [] bar;
bar =0;
}
if(BC)
{
delete [] BC;
BC =0;
}
}
 
Chaitanya123
GeneralRe: - Memory LeakmemberShaibujan3 Mar '04 - 6:07 
GeneralIncorrect Device MapMode ...memberBehzad Ebrahimi3 Feb '04 - 2:49 
GeneralRe: Incorrect Device MapMode ...memberShaibujan3 Feb '04 - 6:21 
GeneralQuestion on OnCustomDrawmemberYoSilver27 Jan '04 - 15:17 
GeneralRe: Question on OnCustomDrawmemberShaibujan28 Jan '04 - 6:49 
GeneralFinally about time...memberSnyp27 Jan '04 - 12:00 
GeneralRe: Finally about time...memberShaibujan27 Jan '04 - 19:27 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web01 | 2.6.130523.1 | Last Updated 27 Jan 2004
Article Copyright 2004 by Shaibujan
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid