












//=========================================================
//
// Copyright (c) 2000-2004 iWise Technologies,Co. Ltd.
// All Rights Reserved.
//
// Product: iW988
// File: GradientProgressCtrl.h
// Created: 天衣有缝
//
// Description:2004.12.28 20:12:00
// ValueAdded main program for iW988.
// Contact:
// waterpub@mail.csdn.net
//
//=========================================================
#pragma once class CGradientProgressCtrl : public CProgressCtrl
{
public:
CGradientProgressCtrl() ; // 构造
virtual ~CGradientProgressCtrl() ; // 析构
int SetPos(int nPos) ; // 设置位置
int SetStep(int nStep) ; // 设置步进值
void SetRange(int nLower, int nUpper) ; // 设置范围
int SetText(const char * pText, BOOL bRepaint = TRUE) ; // 设置显示文字
public:
void ShowPercent(BOOL bShowPercent = TRUE) { m_bShowPercent = bShowPercent; } // 显示百分比
void ShowText(BOOL bShowText = TRUE) { m_bShowText = bShowText; } // 显示文字
public:
COLORREF GetTextColor(void) { return m_clrText ; } // 取得字体颜色
COLORREF GetBkColor(void) { return m_clrBkGround ; } // 取得背景颜色
COLORREF GetStartColor(void) { return m_clrStart ; } // 取得开始颜色
COLORREF GetEndColor(void) { return m_clrEnd ; } // 取得结束颜色
void SetStartColor(COLORREF color) { m_clrStart = color ; } // 设置字体颜色
void SetEndColor(COLORREF color) { m_clrEnd = color ; } // 设置背景颜色
void SetTextColor(COLORREF color) { m_clrText = color ; } // 设置开始颜色
void SetBkColor(COLORREF color) // 设置结束颜色
{
m_clrBkGround = color ;
m_BKGroundBrush.DeleteObject();
m_BKGroundBrush.CreateSolidBrush(m_clrBkGround);
}private:
void Draw(CPaintDC* pDC, const RECT& rectClient, const int& nMaxWidth);
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP()private:
// 变量定义
int m_nLower ; // 最小值
int m_nUpper ; // 最大值
int m_nStep ; // 步进值
int m_nCurPos ; // 当前值
COLORREF m_clrStart ; // 起始颜色
COLORREF m_clrEnd ; // 结束颜色
COLORREF m_clrBkGround ; // 背景颜色
COLORREF m_clrText ; // 文本颜色
BOOL m_bShowPercent ; // 显示百分比
BOOL m_bShowText ; // 显示文字
char m_Text[32] ; // 文字:如显示拷贝速度
char m_Percent[4] ; // 文字:百分比
CBrush m_BKGroundBrush ; // 背景刷子
CBrush m_TempBrush ; // 临时刷子
private:
// 内嵌类
class CMemDC : public CDC // 内存设备环境
{
public:
CMemDC(CDC* pDC):CDC()
{
ASSERT(pDC != NULL);
m_pDC
= pDC;};
//=========================================================CGradientProgressCtrl::CGradientProgressCtrl()
{
m_BKGroundBrush.CreateSolidBrush(m_clrBkGround) ;
memset(m_Text,
CGradientProgressCtrl::
~CGradientProgressCtrl()BEGIN_MESSAGE_MAP(CGradientProgressCtrl, CProgressCtrl)
ON_WM_PAINT()
END_MESSAGE_MAP()
CProgressCtrl::SetRange(nLower, nUpper);
CProgressCtrl::SetPos(nLower);
}
r
= GetRValue(m_clrStart);VERIFY(m_TempBrush.CreateSolidBrush(RGB(r
+ rStep * iOnBand,此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。