www.pudn.com > StyleToolkit_demo_src.zip > StyleProgress.h
//
// StyleProgress.h : Version 1.0 - see article at CodeProject.com
//
// Author: Darren Sessions
//
//
// Description:
// StyleProgress is a CProgressCtrl derived control that uses the Style class
// and GDI+ to support different styles
//
// History
// Version 1.0 - 2008 June 20
// - Initial public release
//
// License:
// This software is released under the Code Project Open License (CPOL),
// which may be found here: http://www.codeproject.com/info/eula.aspx
// You are free to use this software in any way you like, except that you
// may not sell this source code.
//
// This software is provided "as is" with no expressed or implied warranty.
// I accept no liability for any damage or loss of business that this
// software may cause.
//
///////////////////////////////////////////////////////////////////////////////
#pragma once
#include "style.h"
class StyleProgress : public CProgressCtrl
{
public:
StyleProgress(void);
~StyleProgress(void);
// for custom bar
void AddStack(Stack stack);
void AddStepStack(Stack stack);
void SetStepLayer(int layerIdx);
// for default bar
void SetBackColor(COLORREF color, int Alpha = 255);
void SetForeColor(COLORREF color, int Alpha = 255);
COLORREF m_ForeColor;
COLORREF m_BackColor;
int m_ForeAlpha;
int m_BackAlpha;
int StepIt();
int SetPos(int pos);
int SetStep(int step);
void SetRange(int lower, int upper);
void CreateDefaultStack();
Style m_Style;
protected:
DECLARE_MESSAGE_MAP()
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnPaint();
afx_msg void OnNcPaint();
void UpdateStack();
private:
int m_Pos;
int m_Step;
int m_Upper;
int m_Lower;
CRect m_ProgRect;
BOOL m_bCreated;
int m_StepStackIdx;
int m_StepLayerIdx;
int m_StepLayerWidth;
};