在 Windows XP 普及視覺樣式之前,軟體「換膚」是高難度技術。USkin 作為國產免費換膚庫,憑藉「零成本、三行代碼、支援 MDI/SDI/Dialog、相容 Windows Blinds 萬款皮膚」等優勢,成為 MFC 開發者的首選。本文詳細記錄其特性、整合步驟與實戰技巧。
#include "uskin.h"
BOOL CMyApp::InitInstance()
{
InitCommonControls();
CWinApp::InitInstance();
if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; }
AfxEnableControlContainer();
// ★ 核心:初始化 USkin 並載入 .u3 皮膚檔
USkinInit(NULL, NULL, _T("media.u3"));
SetRegistryKey(_T("Local App"));
LoadStdProfileSettings(4);
// ... 文檔模板、主視窗建立等標準流程 ...
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
return TRUE;
}
int CMyApp::ExitInstance()
{
USkinExit(); // 必須呼叫,否則可能殘留 GDI 物件
return CWinApp::ExitInstance();
}


USkinBuilder.exe,開啟或新建 .u3 專案。.u3 檔,放置於執行檔同目錄,供 USkinInit 載入。USkinInit(NULL, NULL, _T("newskin.u3")) 即時切換,無需重啟。WM_PAINT 自繪,或暫時停用該控制項皮膚。CMainFrame 中確保 EnableDocking 等佈局代碼在 USkinInit 之後執行。WS_EX_LAYERED 配合)USkin 以「免費、強大、易用」重新定義了 MFC 界面美化門檻。無論是企業級 ERP、個人小工具,接入 USkin 皆能以最小成本獲得專業視覺體驗。建議開發者下載最新版體驗 USkinBuilder 的所見即所得編輯樂趣。