Codejock Skin Framework—Skin Control篇

在vs下编程,为了实现统一的Skin,我们可以通过Codejock的Skin Framework来实现,这里以对话框为例,故采用Skin Control演示程序提供给我们的程序来实现特定的风格,如:Office2007、WinXP.Luna、WinXP.Royale和Vista等风格。下面通过一个自己编写的演示程序来实现这种风格。

 

程序编写前的准备工作:

1、  在新建的MFC工程中的stdafx.h中添加Codejock头文件包含,即:

#include <XTToolkitPro.h>   // Codejock Software Components

2、  在资源文件XTControlTest.RC2中包含CodejockSample.rc

#include "D:/Program Files/Codejock Software/MFC/Xtreme ToolkitPro v12.0.1/Samples/AboutDlg/CodejockSample.rc"

3、  在源程序的Debug路径下新建一个名为Styles的文件夹,并将Office2007.cjstyles、WinXP.Luna.cjstyles、WinXP.Royale.cjstyles、Vista.cjstyles和Normalblue.ini等文件放在其中

 

程序中关键代码如下:

 

在窗口的构造函数

CXTControlTestDlg::CXTControlTestDlg(CWnd* pParent /*=NULL*/)

    : CDialog(CXTControlTestDlg::IDD, pParent)

中,添加Skin的初始化操作代码:

 

TCHAR szStylesPath[_MAX_PATH];

     VERIFY(::GetModuleFileName(

         AfxGetApp()->m_hInstance, szStylesPath, _MAX_PATH));        

     m_strStylesPath = szStylesPath;

     int nIndex  = m_strStylesPath.ReverseFind(_T('//'));

     if (nIndex > 0) {

         m_strStylesPath = m_strStylesPath.Left(nIndex);

     }

     else {

         m_strStylesPath.Empty();

     }

     m_strStylesPath += _T("//Styles//");

     XTPSkinManager()->SetApplyOptions(XTPSkinManager()->GetApplyOptions() | xtpSkinApplyMetrics);

     XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Office2007.cjstyles"), _T("NormalBlue.ini"));   

XTPSkinManager()->SetAutoApplyNewWindows(TRUE);

   

如上即可实现对话框的换肤工作。

文章出处:http://www.diybl.com/course/3_program/c++/cppsl/2008929/146553.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值