font> 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; m_poldbitmap = null; m_bmemdc = !pdc->isprinting(); // 图形设备还是打印机设备 if