您的位置:首页 > 其它

BCGControlBar:为现有MFC对话框工程换肤

2015-12-06 19:25 417 查看
系统环境:Windows 10 (10586.17)

软件环境:Visual Studio 2010

本次目的:为已有的MFC对话框程序(实例工程:BCGTest)换肤

------------------------------------------------------------- 华丽的分割线 -------------------------------------------------------------

第一步、 在stdafx.h文档中包含头文件
<BCGCBProInc.h>

// stdafx.h
......
#include <BCGCBProInc.h>


第二步、 将对话框类的父类改为CBCGPDialog,也可以采取简便的方法:

// BCGTestDlg.h
#pragma once

// 可以在这里添加一个宏
#define CDialogEx CBCGPDialog

class CBCGTestDlg : public CDialogEx
{ ...... }


第三步、 为CBCGTestApp再添加一个父类CBCGPWorkspace

// BCGTest.h
#pragma once
......

class CBCGTestApp : public CWinApp, public CBCGPWorkspace
{ ...... }


第四步、 打开BCGTestDlg.cpp,添加如下代码:

// BCGTestDlg.cpp
......
CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
{
EnableVisualManagerStyle();
}

BOOL CBCGTestDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
......
CBCGPVisualManager2007::SetStyle(CBCGPVisualManager2007::VS2007_LunaBlue);
// 使Office 2007皮肤可用
CBCGPVisualManager::SetDefaultManager(RUNTIME_CLASS(CBCGPVisualManager2007));
// 使Office 2007风格有效
EnableVisualManagerStyle();

return TRUE;
}


第五步、 在CBCGTestApp::InitInstance()结束前,添加BCGCBProCleanUp()

// BCGTestDlg.h

BOOL CBCGTestApp::InitInstance()
{
......
BCGCBProCleanUp();
return FALSE;
}


测试效果:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: