WTLVisual C++ 7.1Visual Studio 6Visual C++ 7.0Windows 2003Windows 2000Visual C++ 6.0Windows XPIntermediateDevVisual StudioWindowsC++
A Gradient Static Control






2.75/5 (14 votes)
Oct 7, 2003

51371

1498
A Static control with a gradient
Introduction
The idea was to have a small piece of code which makes it easy to create a
gradient control. I saw a lot of great code, but it was not exactly what I
want. So I decided to create my own CGradientStatic
-class.
Usage of CGradientStatic
To use this control in your application:
- Design the dialog and add the Static control
- Add the GradientStatic.h header file to your project
- Assign a
CGradientStatic
to your static control. - In
OnInitDialog()
, subclassCGradientStatic
control to ID using theSubclassWindow
method.
#include "CGradientStatic.h" //... class CMainDlg : public CDialogImpl<CMainDlg> { BEGIN_MSG_MAP(CMainDlg) ... MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) REFLECT_NOTIFICATIONS() END_MSG_MAP() ... LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); ... CGradientStatic m_GradientBar; ... }; //... LRESULT CMainDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { ... m_GradientBar.SubclassWindow( ::GetDlgItem( IDC_STATIC1 ) ); m_GradientBar.SetColor(RGB(255,0,0)); m_GradientBar.SetGradientColor(RGB(0,0,0)); ... }