65.9K
CodeProject 正在变化。 阅读更多。
Home

一个渐变静态控件

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.75/5 (14投票s)

2003年10月7日

viewsIcon

52198

downloadIcon

1498

一个带有渐变的静态控件。

Sample Image - gradientstatic.jpg

引言

我的想法是创建一个小段代码,以便轻松创建一个渐变控件。 我看到很多很棒的代码,但它并不完全是我想要的。  所以我决定创建我自己的 CGradientStatic 类。

CGradientStatic 的使用方法

要在您的应用程序中使用此控件

  • 设计对话框并添加静态控件
  • GradientStatic.h 头文件添加到您的项目中
  • CGradientStatic 赋值给您的静态控件。
  • OnInitDialog() 中,使用 SubclassWindow 方法将 CGradientStatic 控件子类化到 ID。
#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));

     ...
}
© . All rights reserved.