天天看點

BCGControlBar:為現有MFC對話框工程換膚

系統環境: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;
 }
           

測試效果: