使用Xtreme Toolkit Pro创建自定义主题

原创|其它|编辑:龚雪|2012-11-06 10:29:41.000|阅读 283 次

概述:使用Xtreme Toolkit Pro创建自定义主题步骤,附加源码。

通过继承toolkit中的任一可用的主题类,你可以制作自定义主题。步骤如下:

1、新建一个类,派生自 toolkit中的预定义主题,我们将使用CXTPDefaultTheme;

class CDoubleGripperTheme : public CXTPDefaultTheme
{
    ...
};

2、覆盖 CXTPDefaultTheme 基类(查看XTPPaintManager.h)的DrawCommandBarGripper函数.  可以画命令栏把手添加定制外观:

class CDoubleGripperTheme : public CXTPDefaultTheme
{
    virtual CSize DrawCommandBarGripper(
        CDC* pDC, CXTPCommandBar* pBar, BOOL bDraw);
};

// DrawCommandBarGripper函数.
//  bDraw 为假返回 gripper size.
//  bDraw 为真,绘制gripper.
CSize CDoubleGripperTheme::DrawCommandBarGripper(CDC *pDC, CXTPCommandBar *pBar, BOOL bDraw)
{
  // If 工具栏垂直停靠    
  if (pBar->GetPosition() == xtpBarRight ||        
      pBar->GetPosition() == xtpBarLeft)    
  {        
    if (bDraw)        
    {            
        CXTPClientRect rc(pBar);            
        Draw3dRect(pDC, CRect(3, 3, rc.right - 3, 6),                
               COLOR_BTNHILIGHT, COLOR_3DSHADOW);            
        Draw3dRect(pDC, CRect(3, 7, rc.right - 3, 10),                
               COLOR_BTNHILIGHT, COLOR_3DSHADOW);        
    }        
    return CSize(0, 10);    
  }    
  // if 工具栏水平停靠    
  elseif (pBar->GetPosition() == xtpBarTop ||
         pBar->GetPosition() == xtpBarBottom)
  {
    CXTPClientRect rc(pBar);
    if (bDraw)
    {
        Draw3dRect(pDC, CRect(3, 3, 6, rc.bottom - 3),COLOR_BTNHILIGHT, COLOR_3DSHADOW);
        Draw3dRect(pDC, CRect(7, 3, 10, rc.bottom - 3),COLOR_BTNHILIGHT, COLOR_3DSHADOW);
    }
    return CSize(10, 0);
  }
  else 
  return CXTPDefaultTheme::DrawCommandBarGripper(pDC, pBar, bDraw);
}
											

3、在CMainFrame::OnCreate()方法中调用 CXTPPaintManager::SetCustomTheme 使用我们刚创建的主题风格:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    ...

    //使用自己的主题风格绘制命令栏grippers.
    CXTPPaintManager::SetCustomTheme(new CDoubleGripperTheme());
    return 0;
}

展示自定义主题风格的MDI 示例程序:

使用Xtreme Toolkit Pro创建自定义主题



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:慧都控件

登录慧都网发表评论登录


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Xtreme Toolkit Pro

专为Windows平台开发人员提供最全面的Visual C++界面开发组件

在线客服 在线QQ 电话咨询
400-700-1020
在线客服系统
live chat