使用SkinMagicToolkit美化界面

使用SkinMagicToolkit美化界面
--------------------------------------------------------------------------------

 
 
[準備工作]
1、將SkinMagicTrial.dll放置在調試目錄
2、設置庫文件目錄,在項目[連接器]的[附加依賴項]中加入庫SkinMagicTrial.lib
3、在項目的stdafx.h文件中加入頭文件 #include "SkinMagicLib.h"
 
[創建過程]
1、初始化SkinMagic庫:
要使用SkinMagic,這一步必不可少。在應用程序類的InitInstance()函數中行加入如下代碼(粗體部分):
    CWinApp::InitInstance();
VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL ,
                                     NULL, NULL ));
 
說明:
int InitSkinMagicLib(                             //初始化SkinMagic工具庫
HINSTANCE hInstance,                          //應用程序句柄
char* szApplication ,                              //皮膚文件中定義的應用程序名,置爲NULL即可
char* szRegCode,                                  //SkinMagic的使用註冊碼。若無置爲NULL
char* szReserved2                                 //保留位,爲NULL
);
 
2、調入皮膚文件:
       皮膚的調用有兩種方法,一是直接從皮膚文件中調用,另一種方法是從資源文件中調用,分別說明如下:
       1)從皮膚文件中調用皮膚:緊接上句,加入如下代碼
VERIFY( 1 == LoadSkinFile("corona.smf"));
2)從資源文件中調用皮膚:
VERIFY(1 == LoadSkinFromResource(NULL,"FUTURA","skin"));
 
說明:
int LoadSkinFromResource(
HMODULE hModule,                        //包含皮膚文件的模塊句柄,若NULL表面在本模塊中
char* lpSkinName ,                         //皮膚資源的名稱
char* lpType);                                  //資源的類型
 
3、爲窗口添加皮膚:
1)爲標準窗口(擁有標題欄、系統菜單、可變大小等特徵,比如文檔/視圖結構和有菜單的對話框)添加皮膚,通常用於主窗口。在應用程序類的InitInstance()函數的底部加入如下代碼:
     VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
     m_pMainWnd->ShowWindow(SW_SHOW);
     m_pMainWnd->UpdateWindow();
 
說明:
int SetWindowSkin(
HWND hWnd,                                        //要使用皮膚的窗口句柄
char* lpSkinName                                  //爲skinFrameWnd對象指定的名稱
);
 
2)爲對話框添加皮膚
在對話框顯示之前調用,通常在應用程序初始化函數中調用
     VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
VERIFY( 1 == SetDialogSkin( "Dialog" ) );
     m_pMainWnd->ShowWindow(SW_SHOW);
     m_pMainWnd->UpdateWindow();
 
說明:
int SetDialogSkin( 
char* lpSkinName                                  //爲skinFrameWnd對象指定的名稱
);
使用該函數後,以後程序創建的對話框都將使用該皮膚,但對話框大小不可變。
 
3)爲單個對話框窗口添加皮膚,例如在對話框視圖中:重載對話框視圖的創建函數OnCreate,加入如下代碼:
    VERIFY( 1 == SetSingleDialogSkin( m_hWnd, "Dialog" ) );
    EnableWindowScrollbarSkin( m_hWnd , SB_BOTH );
 
說明:
int SetSingleDialogSkin(
HWND hWnd,                         //要使用皮膚的窗口句柄
char* lpSkinName                  //爲skinFrameWnd對象指定的名稱
);
int EnableWindowScrollbarSkin( //爲滾動條添加皮膚
HWND hWnd,                               //要使用皮膚的窗口句柄
int* fnBar                                      //要使用皮膚的滾動條,SB_BOTH表明是橫豎都是用皮膚
);
 
 
4、釋放SkinMagic資源
重載應用程序的ExitInstance()函數,添加如下代碼:
ExitSkinMagicLib();
 
 
如果您發現什麼錯誤,歡迎與我聯繫:
email: [email protected]
QQ   :37762393 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章