Codejock.Xtreme.Toolkit.Pro.v15.3.1 for MFC 15种皮肤切换

99 篇文章 0 订阅

Codejock.Xtreme.Toolkit.Pro.v15.3.1 for MFC 15种皮肤切换
1.要进行编译请先自行安装Codejock.Xtreme.Toolkit.Pro.v15.3.1 (正常安装并完整编译出工程时所需函式库才能继续以下步骤)
2.大致上这样~有缺变量声明的自己补上~因为是撷取自某程序中一小段代码~

3.15种皮肤是内建的~当然还能自行设定更多种类~

4.其实没有15个皮肤文件,只是一个皮肤文件包含了几种不同颜色风格的而已



先创建一个MFC工程~再开启StdAfx.h加入一行代码~
#include <XTToolkitPro.h>    // Xtreme Toolkit Pro components
直接编译~若有正常完整安装15.3.1~编译完工程内会多一堆.h档~
再到工程源码选单中新增Styles资料夹并加入皮肤设置档案~

然后再到继承CDialog的自订Class原型定义下声明2个Public变量~


int    m_nVisualTheme;
CString  m_strStylesPath;


再到Class本体下加入一串代码

    m_nVisualTheme=-1;
    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("Vista.cjstyles"), _T("NormalBlack2.ini"));    


在窗口里使用向导新增鼠标左键事件~并在事件中加入一串代码~

    UpdateData();
    
    if(m_nVisualTheme!=16)
        m_nVisualTheme++;
    else
        m_nVisualTheme=0;
    
    switch (m_nVisualTheme)
    {    
        case 0:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("WinXP.Luna.cjstyles"), _T("NormalBlue.ini"));
            break;
        case 1:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("WinXP.Luna.cjstyles"), _T("NormalAqua.ini"));
            break;
        case 2:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("WinXP.Royale.cjstyles"), _T("NormalRoyale.ini"));
            break;
        case 3:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Office2007.cjstyles"), _T("NormalBlue.ini"));
            break;
        case 4:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Office2007.cjstyles"), _T("NormalAqua.ini"));
            break;
        case 5:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Office2007.cjstyles"), _T("NormalSilver.ini"));
            break;
        case 6:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Office2007.cjstyles"), _T("NormalBlack.ini"));
            break;
        case 7:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Vista.cjstyles"), _T("NormalBlue.ini"));
            break;
        case 8:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Vista.cjstyles"), _T("NormalSilver.ini"));
            break;
        case 9:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Vista.cjstyles"), _T("NormalBlack.ini"));
            break;
        case 10:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Vista.cjstyles"), _T("NormalBlack2.ini"));
            break;
        case 11:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Codejock.cjstyles"), _T("NormalBlue.ini"));
            break;
        case 12:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Codejock.cjstyles"), _T("NormalBlack.ini"));
            break;
        case 13:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Office2010.cjstyles"), _T("NormalBlue.ini"));
            break;
        case 14:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Office2010.cjstyles"), _T("NormalSilver.ini"));
            break;
        case 15:
            XTPSkinManager()->LoadSkin(m_strStylesPath + _T("Office2010.cjstyles"), _T("NormalBlack.ini"));
            break;
        default:
            XTPSkinManager()->LoadSkin(_T(""), _T(""));    
            break;
    }
    RedrawWindow(0, 0, RDW_INVALIDATE|RDW_UPDATENOW|RDW_ERASE|RDW_ALLCHILDREN);

再重新编译就完成了~若是使用静态编译法~程序拿到WIN7 64bits的OS中仍可运行~
但是档案会很大~

尝试过把已完成的MFC工程如上加入代码~编译后程序就多了皮肤切换的功能~
如果编译时出现找不到???.lib档时~

一则可能是15.3.1安装不完全~
二则可能是要去VC6环境设置中把lib目录路径手动设进去~
三则可能是要去VC6环境设置中把.h目录路径手动设进去~
四则可能是lib版本为Unicode或ASCII Code的问题~

初学MFC还没法像VB6用起来那么顺手~代码就长了~求缩短法~

P.S v15.0.1记得内建皮肤少了Office 2010的~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
☆ 资料说明:☆ 专业级MFC界面控件套装,包含命令工具栏、浮动面板和属性网格,支持最近的Visual Studio 2010和Windows7风格; 压缩包内包括安装程序和注册机; ☆ 软件简介:☆ Codejock Software 创建于 1998 年,专业开发 MS Visual Studio 开发环境下的组件,便于 VC 开发人员轻松开发出各界面,如类似 VC++6.0 的开发界面、 Outlook 界面等,并支持 XP 风格。由于功能的完善, Extreme Toolkit 被许多大公司采用。 2003 年 Codejock 公司加快开发,开发出一系列界面组件,包括 Extreme Toolkit 4.1 , Extreme Toolkit Pro , Extreme Suite 等组件包,支持开发环境也从 VC++5/ 6 升 级到 VC++.NET 和 VB ,而且支持 Windows XP 、 OfficeXP/2003 、 Outlook2003 、 Visual Studio 2005 等风格主题。目前是 VC/VB 和 .NET 开发环境下最好的界面开发组件之一。 Codejock 软件公司的 Xtreme Toolkit Pro 提供了 Xtreme Toolkit 标准版的所有特性,以及 Xtreme Suite 中的所有高级特性,包括 Xtreme 控制栏(Xtreme Command Bars)—— 把需要创建的具有改进对接算法的所有组件提供给 Windows 的图形用户界面(GUI)工程师,这些组件用来创建具有 Microsoft Office XP 风格的工具栏和菜单、 Xtreme 浮动面板(Xtreme Docking Pane)—— 把所有组件提供给 Windows 的图形用户界面(GUI)工程师,这些组件用来创建具有改进 Visual Studio.NET 风格的浮动面板、 Xtreme 属性网格(Xtreme Property Grid)—— 把完善的 Visual Studio.NET 风格的属性网格提供给 Windows 的图形用户界面(GUI)工程师。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值