update for HEAD-2003091401
[reactos.git] / subsys / system / explorer / Seashell / SeaShellExt / Include / TextProgressCtrl.h
1 #if !defined(AFX_TEXTPROGRESSCTRL_H__4C78DBBE_EFB6_11D1_AB14_203E25000000__INCLUDED_)
2 #define AFX_TEXTPROGRESSCTRL_H__4C78DBBE_EFB6_11D1_AB14_203E25000000__INCLUDED_
3
4 #if _MSC_VER >= 1000
5 #pragma once
6 #endif // _MSC_VER >= 1000
7
8 // TextProgressCtrl.h : header file
9 //
10 // Written by Chris Maunder (cmaunder@mail.com)
11 // Copyright 1998.
12 //
13 // TextProgressCtrl is a drop-in replacement for the standard 
14 // CProgressCtrl that displays text in a progress control.
15 //
16 // This code may be used in compiled form in any way you desire. This
17 // file may be redistributed by any means PROVIDING it is not sold for
18 // profit without the authors written consent, and providing that this
19 // notice and the authors name is included. If the source code in 
20 // this file is used in any commercial application then an email to
21 // the me would be nice.
22 //
23 // This file is provided "as is" with no expressed or implied warranty.
24 // The author accepts no liability if it causes any damage to your
25 // computer, causes your pet cat to fall ill, increases baldness or
26 // makes you car start emitting strange noises when you start it up.
27 //
28 // Expect bugs.
29 // 
30 // Please use and enjoy. Please let me know of any bugs/mods/improvements 
31 // that you have found/implemented and I will fix/incorporate them into this
32 // file. 
33 #include "UIData.h"
34 /////////////////////////////////////////////////////////////////////////////
35 // CTextProgressCtrl window
36
37 class CTextProgressCtrl : public CUIODColumnCtrl
38 {
39         DECLARE_DYNAMIC(CTextProgressCtrl)
40 // Construction
41 public:
42         CTextProgressCtrl();
43
44 // Attributes
45 public:
46
47 // Operations
48 public:
49     int  SetPos(int nPos);
50     int  StepIt();
51     void SetRange(int nLower, int nUpper);
52     void GetRange(int& nLower, int& nUpper) const;
53     int  OffsetPos(int nPos);
54     int  SetStep(int nStep);
55 // Attributes
56     void SetShowText(BOOL bShow);
57     COLORREF SetTextColor(COLORREF crTextClr = CLR_DEFAULT,COLORREF crSelTextClr=CLR_DEFAULT);
58     COLORREF GetTextColor() const;
59     COLORREF GetSelTextColor() const;
60     COLORREF SetBarColor(COLORREF crBarClr = CLR_DEFAULT,COLORREF crSelBarClr = CLR_DEFAULT);
61     COLORREF GetBarColor() const;
62     COLORREF GetSelBarColor() const;
63     COLORREF SetBgColor(COLORREF crBgClr = CLR_DEFAULT,COLORREF crSelBgClr = CLR_DEFAULT);
64     COLORREF GetBgColor() const;
65     COLORREF GetSelBgColor() const;
66 public:
67 // Overrides
68         virtual void DoPaint(CDC *PaintDC,CRect rcClient,bool bSelected);
69
70 // Implementation
71 public:
72         virtual ~CTextProgressCtrl();
73
74         // Generated message map functions
75 protected:
76     int      m_nPos, 
77              m_nStepSize, 
78              m_nMax, 
79              m_nMin;
80     CString  m_strText;
81     BOOL     m_bShowText;
82     int      m_nBarWidth;
83 private:
84     COLORREF m_crBarClr,
85                          m_crSelBarClr,
86                          m_crTextClr,
87                          m_crSelTextClr,
88              m_crBgClr,
89              m_crSelBgClr;
90 };
91
92 /////////////////////////////////////////////////////////////////////////////
93
94 //{{AFX_INSERT_LOCATION}}
95 // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
96
97 #endif // !defined(AFX_TEXTPROGRESSCTRL_H__4C78DBBE_EFB6_11D1_AB14_203E25000000__INCLUDED_)