设为首页 加入收藏

TOP

VC改变DialogBar的背景色
2013-05-14 09:15:15 来源: 作者: 【 】 浏览:188
Tags:改变 DialogBar 景色

  折腾了一上午帮别人搞定了这个问题,记录一下,其实问题的关键就是需要从CDialogBar派生一个新类,在新类里面处理一下DoPaint事件就可以了

  1.MainFrm.h添加#include "DialogBarEx.h"

  class CMainFrame : public CFrameWnd

  {

  ....

  private:

  CDialogBarEx m_wndDlgBar;

  }

  2.MainFrm.cpp添加

  if (!m_wndDlgBar.Create(this, IDD_DIALOG1,

  CBRS_TOP|CBRS_TOOLTIPS|CBRS_FLYBY, IDD_DIALOG1))

  {

  TRACE0( "Failed to create DlgBar\n ");

  return -1; // fail to create

  }

  3.添加新类,CDialogBarEx,派生自CDialogBar

  4.CDialogBarEx重载DoPaint

  代码如下供参考:

  DialogBarEx.h

  class CDialogBarEx : public CDialogBar

  {

  DECLARE_DYNAMIC(CDialogBarEx)

  public:

  CDialogBarEx();

  virtual ~CDialogBarEx();

  virtual void DoPaint(CDC* pDC);【添加这句】

  protected:

  DECLARE_MESSAGE_MAP()

  };

  DialogBarEx.cpp

  void CDialogBarEx::DoPaint(CDC* pDC)

  {

  CRect rc;

  GetClientRect(&rc);

  CBrush br(RGB(255, 0, 0));

  pDC->FillRect(rc, &br);

  }

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C/C++如何获取系统时间 下一篇C++字符串高效查找替换

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: