CDialogSK 繼承自 MFC 的 CDialog,提供完整的對話框皮膚化支援,適用於 Windows 2000/XP 及以上系統。核心功能包括:
CDialogSK.h、CDialogSK.cpp 加入專案#include "CDialogSK.h"CDialog 改為 CDialogSKOnInitDialog() 末尾呼叫皮膚初始化方法:BOOL CSkinDialog_DemoDlg::OnInitDialog()
{
CDialogSK::OnInitDialog(); // 呼叫基類
EnableEasyMove(); // 允許點擊任意處拖曳
SetBitmap(IDB_BACKGROUND); // 設定背景位圖 (資源 ID)
SetStyle(LO_RESIZE); // 視窗大小自動適應圖片
SetTransparentColor(RGB(0, 255, 0)); // 設定透明色 (綠色)
return TRUE;
}
SetBitmap("path\\round.bmp") 載入SetTransparentColor(RGB(0, 255, 0)) 移除綠色背景| 方法 | 說明 |
|---|---|
DWORD SetBitmap(HBITMAP hBitmap) | 從 HBITMAP 句柄設定背景 |
DWORD SetBitmap(int nBitmap) | 從資源 ID 設定背景 |
DWORD SetBitmap(LPCTSTR lpszFileName) | 從 BMP 檔案路徑設定背景 |
void SetStyle(LayOutStyle style) | 佈局模式:LO_DEFAULT、LO_TILE(平鋪)、LO_CENTER(置中)、LO_STRETCH(拉伸填滿)、LO_RESIZE(視窗縮放適應圖片) |
void EnableEasyMove(BOOL bEnable = TRUE) | 啟用/停用點擊任意處拖曳移動 |
BOOL SetTransparent(BYTE bAlpha) | 整體視窗透明度 (0 完全透明 ~ 255 不透明),需 Win2000+ |
BOOL SetTransparentColor(COLORREF col, BOOL bTrans = TRUE) | 指定透明色 (Color Key),需 Win2000+ |