隨著計算機技術普及,軟件界面的美觀性與易用性成為吸引用戶的關鍵。QQ/MSN 等通訊軟件即是典型代表。本文介紹如何使用 Visual C++ 配合換膚庫 SkinBeauty 模擬實現 QQ 風格界面。
市面上知名換膚產品包括 SkinMagic、Skin++、USkin、AppFace、SkinCrafte 等。SkinMagic、AppFace、USkin 部分元素效果不盡如人意;Skin++ 資源佔用優異,SkinCrafte 外觀更酷。但本項目選用 SkinBeauty,因其性能與外觀俱佳,且宣稱支援鍵盤操作、在 Win2K/XP 上實現 Vista 玻璃磨砂效果。關鍵優勢在於:SkinBeauty 自帶編輯器 SkinBeauty Studio,可讓一套皮膚包含多種窗口、按鈕樣式,滿足主界面、聊天對話框等不同窗口風格需求。
使用 SkinBeauty Studio 編輯界面元素皮膚(或下載現成的 BeautyQQ.bsk),準備好開發庫 SkinBeauty.dll、SkinBeauty.lib 及介面文件 SkinBeautyExport.h。下載地址:www.afe-soft.com。
將 SkinBeauty.dll 放入項目運行目錄,SkinBeautyExport.h 與 SkinBeauty.lib 放入項目目錄。在 stdafx.h 中添加引用聲明:
//inside stdafx.h //SkinBeauty Lib Call #include "SkinBeautyExport.h" #pragma comment(lib,"SkinBeauty.lib")
在項目初始化處(如 BeautyQQ.cpp 的 CBeautyQQApp::InitInstance())加入皮膚加載代碼:
BOOL CBeautyQQApp::InitInstance() {
CString exeFullPath, strFilename;
int nLen = GetModuleFileName(NULL, exeFullPath, MAX_PATH);
CString strPath(exeFullPath);
strPath = strPath.Left(strPath.ReverseFind('\\'));
strFilename = strPath + _T("\\beautyQQ.bsk");
SkinLoad(THCAR2char(strFilename.GetBuffer(0)));
......
}
運行後界面將煥然一新,具備 QQ 風格的視覺效果。