MFC使用Skin 外觀美化

2021-05-23 09:54:58 字數 2366 閱讀 2355

skin++

的使用(vs2008可行) 一

.使用**

將skinppwtl.lib 、skinppwtl.dll 、skinppwtl.h三個檔案及相應**(**.ssk)拷貝至工程資料夾下;一般還要將這些檔案放在debug資料夾下。

1.在(vc7)"專案->屬性->鏈結器->輸入->附加依賴項"中加入skinppwtl.lib

或在(vc6)"project->settings->link->object/library"中加入skinppwtl.lib

2.在stdafx.h檔案中加入#include "skinppwtl.h"

//..

#endif // _afx_no_afxcmn_support

#include "skinppwtl.h" //在這個地方加

//}//..

注:以上假定(假定已經將blue.ssk**放在了工程資料夾下),如果不是請更改路徑設定。

4.在**dlg.h中加入標頭檔案"skinppwtl.h"

//如果想再換膚加上這句

5.在工程中加入標頭檔案skinppwtl.h二.

解除安裝skin++

在程式的解除安裝函式中加入exitinstance()

//這個要自己過載了

virtual int exitinstance();

exitskin();三.

更換**

執行函式loadskin即可以實現動態換膚

loadskin(_t("xpcorona.ssk");四.

函式說明

initializeskin是skin++的初始化函式,您可以採用如下引數載入skin++

initializeskin(**檔名);

注:如果**檔名中沒有路徑則採用當前目錄。

loadskin(**檔名);

注:如果**檔名中沒有路徑則採用當前目錄。五.

使用分隔條窗體的應注意的問題

您必須skinplusplus_splitter()和skinplusplus_init_splitter(m_wndsplitter)巨集

注:skinplusplus_init_splitter一般傳入分隔條物件m_wndsplitter

例如:......................

skinplusplus_splitter()

int cmainframe::oncreate(lpcreatestruct lpcreatestruct)

{skinplusplus_init_splitter(m_wndsplitter);

......................六.

檔案說明

readme.htm 你正在看的文件

dll 使用skin++所需的檔案目錄(開啟)

skins **目錄(開啟)

sample 為演示程式目錄

dlg為對話方塊演示程式(開啟)

sdi為當文件介面演示程式,同時也演示了分隔條的使用(開啟)

mdi多文件介面演示程式(開啟)

dockbar演示了停靠視窗(開啟)

注:關於skin++在vs2005中的使用。需要注意的幾點是,skin++免費版是只支援ansi的,但vs2005預設情況下編碼為unicode,如果在編譯鏈結時不把編碼改為ansi則無法正常生成。

選擇 工程-屬性-常規-語言-多位元組字符集。

就是三個檔案(skinppwtl.lib 、skinppwtl.dll 、skinppwtl.h),加上乙個**檔案。總共四個檔案,在執行時,需要將四個檔案放到程式檔案下,但是在生成了debug檔案後,如果想讓debug檔案中的程式可以直接執行,那就需要將**檔案與dll動態連線庫檔案都放到debug檔案中,release檔案中一樣,打包時就將四個檔案一起打包,就可以了!

七、在unicode編碼下的使用

skin++使用起來應該說是比較方便的。

但,官方說法,只有企業版才支援unicode。如果您的程式正好不是ansi。。那麼下面的方法可能會對您有所幫助。。

一般咱們用skin++,只用到了skinpploadskin 與skinppexitskin 。。如果是unicode程式,在編譯時會提示link skinpploadskin 方法錯誤。。

其實咱們只要把skinppwtl.h裡的

skinpploadskin(tchar* szskinfile,bool bfromini = false);

原型改為

skinpploadskin(char* szskinfile,bool bfromini = false);

在呼叫時

skinpploadskin ((char*)

"vladstudio.ssk");

就ok了。。。哈哈。。

源文件

使用Skin 美化介面

個人測試 windows 7系統 visual studio 2008 sp1 環境 步驟一 新建基於對話方塊的工程,本次測試在vs2008sp1下,工程名任意 步驟二 將換膚庫標頭檔案和鏈結庫檔案 skinh.h skinhu.lib 拷貝到工程的目錄下 步驟三 在工程的stdafx.h 標頭檔案...

MFC介面美化

一般來說,預設的按鈕只能支援按鈕上的文字修改 但是可以通過以下操作來製作顯示為bmp圖示的按鈕,從而美化按鈕介面 準備好 bmp圖示檔案,以16 16畫素,24位真彩色格式檔案為例。在工程匯入圖示檔案。新建按鈕,修改按鈕屬性 owner draw true。為按鈕控制項新建 cbitmapbutto...

使用SkinMagic美化MFC對話方塊

我在看一本王艷平的 windows程式設計 裡面第七章提到了使用skinmagic美化介面的問題。書上講的不明不白網上也有各種教程,幾天終於自己把skinmagic應用到了mfc程式中,快哉快哉!一 開啟vc6.0,新建乙個mfc基於對話方塊的應用程式。把工程命名為skin。include skin...