Sollyu

  • 捐赠
  • 关于
  1. 首页
  2. 原创文章
  3. 正文

使用Xtreme ToolkitPro给MFC应用换肤

2014年8月22日 12568点热度 4人点赞 1条评论

安装说明

本篇文章的加载方式为静态加载皮肤,也就是程序在发布的时候不需要Xtreme ToolkitPro的DLL文件。

首先我们要先要编译一个静态库,具体操作如下:

使用Xtreme ToolkitPro给MFC应用换肤

然后就是等待编译完成,这个编译速度和你的机器有关系,一般情况下差不多需要10-20分钟就可以编译完成,还请耐心等待。

新建MFC工程

我这里新建一个MFC的基本对话框工程,其他的工程也是类似操作,具体的构建过程如下。

使用Xtreme ToolkitPro给MFC应用换肤

增加皮肤资源

可以说这里是我们的重头戏,打开开始菜单-Codejock Software-Xtreme ToolkitPro 2012 (15.3.1)-Utilities-Skin Builder应用,然后随便将一个皮肤到处到我们的工程中。

使用Xtreme ToolkitPro给MFC应用换肤

可以看到Office.rc是我们的导出的主题资源

使用Xtreme ToolkitPro给MFC应用换肤

代码实现

引用资源

首先我们需要在rc2文件中添加资源#include "res\Office.rc"

使用Xtreme ToolkitPro给MFC应用换肤

问题处理

这时编译程序会发现RC2135这些错误,这些错误主要是我们把资源放到res文件夹下了,解决办法很简单。

Copyright (C) Microsoft Corporation.  All rights reserved.
.\res\Office.rc(12) : error RC2135 : file not found: res\NormalBlue.ini
.\res\Office.rc(13) : error RC2135 : file not found: res\Blue_FrameCaption.png
.\res\Office.rc(14) : error RC2135 : file not found: res\Blue_FrameCaptionSizing.png
.\res\Office.rc(15) : error RC2135 : file not found: res\Blue_SmallFrameCaption.png

打开Office.rc

然后操作如下,就可以解决这个问题。

使用Xtreme ToolkitPro给MFC应用换肤

添加代码

打开XtremeThemeDemoDlg.cpp文件,并定位到XtremeThemeDemoDlg的构造函数,然后添加下面代码

CXtremeThemeDemoDlg::CXtremeThemeDemoDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CXtremeThemeDemoDlg::IDD, pParent)
{
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

    // 使用Xtreme ToolkitPro加载皮肤资源
    XTPSkinManager()->GetResourceFile()->SetModuleHandle(AfxGetInstanceHandle());
    XTPSkinManager()->SetApplyOptions(xtpSkinApplyFrame | xtpSkinApplyColors | xtpSkinApplyMetrics | xtpSkinApplyMenus);
    XTPSkinManager()->LoadSkin(NULL, _T("NormalBlue.ini"));
}

编译运行

可以看到这是我的运行结果,换肤成功。

使用Xtreme ToolkitPro给MFC应用换肤

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: C++ MFC VC++ Xtreme ToolkitPro 皮肤
最后更新:2014年8月22日

sollyu

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2021 sollyu.com. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

苏ICP备15007531号