Click here to Skip to main content
13,295,987 members (54,888 online)
Click here to Skip to main content
Add your own
alternative version


56 bookmarked
Posted 18 Aug 2001

Pie Chart Control

, 18 Aug 2001
Rate this:
Please Sign up or sign in to vote.
This control creates a simple Pie Chart in a dialog
<!-- Download Links --> <!-- Article image -->

Sample Image - pie_chart_ctrl.gif

<!-- Main HTML starts here -->


This control class CPieChartCtrl is derived from CWnd. The purpose is to create a simple 2D pie chart in a dialog. The code 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 "PIE_CHART_CTRL" as the Class name.

  2. Add a CPieChartCtrl class member in the header file
    #include "PieChartCtrl.h"
    CPieChartCtrl m_wndChart;
  3. Subclass the class member with the control in InitDialog()
    m_wndChart.SubclassDlgItem(IDC_PIECHART1, this); //IDC_PIECHART1 is the control ID
  4. Use these functions to edit to chart
    // SetTitle(CString) - Set the chart title text
    m_wndChart.SetTitle("Chart Title");
    // Reset() - Reset the chart and delete all pieces
    // AddPiece(COLORREF colorBack, COLORREF colorText, 
    //            int nAngle, int strInfo = "");
    // Add one piece into the chart
    m_wndChart.AddPiece(colorBack, colorText, nAngle, strInfo);


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

Yuheng Zhao
United States United States
No Biography provided

You may also be interested in...


Comments and Discussions

GeneralUse the PieChartCtrl.cpp for Commercial Application Pin
mayocheng6-Jan-10 17:47
membermayocheng6-Jan-10 17:47 
GeneralUse for commercial app Pin
minimal_objects25-Aug-08 6:07
memberminimal_objects25-Aug-08 6:07 
Questionadding this to an already existing MFC project? Pin
Member #35202051-Feb-07 12:10
memberMember #35202051-Feb-07 12:10 
GeneralFix to draw complete circle Pin
bkowald27-Oct-04 6:30
memberbkowald27-Oct-04 6:30 
Generallets add more to it Pin
aeropriest9-Apr-02 9:20
memberaeropriest9-Apr-02 9:20 
this pie control works just perfect but i thought to make some additions to it e.g. ability to skin the contol.

for this i created the following function

SetSkin(short nCursor, short nImageComplete, short nImageIncomplete);

now i loaded these images which are full circles of 2 different colors with their background of certain color so that they can be painted tranparently.

now in the approach i took, i draw the background image in the OnPaint and then the incomplete image in memory. Over this incomplete image i draw i pie using the standard Pie funtion and then i try to make the pei potion transparent so that the incomplete image is drawn over the background image.

but i could't do that ( i just don know why my mind does't work, i tried to mask the potion drawn by pie function )

can you help me it.
(im not registered on the site yet so if u reply to this message pls let me know at

thanks n cheers
les keep the good work goingRoll eyes | :rolleyes: Cry | :(( Smile | :)


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

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.171207.1 | Last Updated 19 Aug 2001
Article Copyright 2001 by Yuheng Zhao
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid