一直以來總想為自己用vc6做的程式美容一下,於是便找到這款skinmagic,雖然網上有許多關於此軟體的使用說明,但實際使用過程中總會遇到一些問題,經過反覆摸索和總結,於是便有了此文,希望對您有所幫助。
使用步驟:1
。把skinmagiclib.h, skinmagiclibmt6.lib, skinmagiclibmd6.lib
放到你的
vc6工程目錄下 2
。在stdafx.h
中新增
#include "skinmagiclib.h" 3
。在工程設定中新增對應的庫
特別注意:
1、 使用
dll時,程式發布時需要
skinmaigc.dll
與程式打包
2、若使用靜態庫,則無需依賴
dll檔案。具體做法是:
前提條件1:在
project/settings/general/
選擇了use mfc in a static lirary,
此時對於
debug
版本和release
版本,都必須使用靜態庫:
skinmagiclibmt6.lib。
1)debug
版本:project/setting
的c++ / code
generation
下選擇:「
debug multithreaded」。
2)release
版本:選擇:「
multithreaded」
前提條件2:在
project/settings/general/
選擇了use mfc in a shared dll,
此時對於
debug
版本和release
版本都必須使用靜態庫:
skinmagiclibmd6.lib。
3)debug
版本:project/setting
的c++ / code
generation
下選擇:「
debug multithreaded dll」。
4)release
版本:選擇:「
multithreaded dll」
其中的mt
代表multithreaded
,而md
代表multithreaded dll
,需要在
msdev
的project/setting
的c++ / code
generation
標籤下選擇,如果你的工程要用
mt型別的靜態庫,則
debug
版要選擇
"debug multithreaded",release
版要選擇
"multithreaded";
如果要用
md型別的靜態庫,則
debug
版需要選擇
"debug multithreaded dll"
,release
版要選擇
"multithreaded dll"。
引自http://www.pediy.com/bbshtml/bbs6/pediy6615.htm
4。在initinstance()
函式的開始處新增初始化
skinmagic
資源的**。
verify( 1 == initskinmagiclib( afxgetinstancehandle(), "demo" ,
null,
null ) );
verify( 1 == loadskinfile( "devior.**f" ));
verify( 1 == setdialogskin( "dialog" ) );//
設定對話方塊的**
5。在initinstance()
函式中載入**檔案並設定程式**。
你可以選擇新增**檔案到資源中,並編譯到程式中。或者程式在執行時動態載入**檔案
a. 比如新增
corona.**f,
設定資源型別為
"skinmagic",
資源id
為idr_skin_corona
cbosskeydlg dlg;
m_pmainwnd = &dlg; //
載入skinmagic**
verify(1 == loadskinfromresource(null, (lpstr)idr_skin_corona, "skinmagic"));
verify(1 == setwindowskin(m_pmainwnd->m_hwnd, "mainframe"));//
設定視窗的**
verify(1 == setdialogskin("dialog"));//
設定對話方塊的**
int nresponse = dlg.domodalex(bstartshow);
if (nresponse == idok)
else if (nresponse == idcancel)
b. 程式在執行時動態載入**檔案
cbosskeydlg dlg;
m_pmainwnd = &dlg; //
載入skinmagic**
verify(1 == loadskinfile("corona.**f"));
verify(1 == setwindowskin(m_pmainwnd->m_hwnd, "mainframe"));
verify(1 == setdialogskin("dialog"));
int nresponse = dlg.domodalex(bstartshow);
if (nresponse == idok)
else if (nresponse == idcancel)
6。在exitinstance()
函式中釋放
skinmagic資源
//釋放
skinmagic
資源:
exitskinmagiclib();
使用SkinMagic美化VC介面
vc html 1 skinmagiclib.h拷貝到工程目錄下 2 將skinmagiclib.lib及smf 檔案放到vc工程的res目錄下 3 將lib檔案鏈結到工程中 4 在stdafx.h中加入 5 用文字編輯器開啟工程的rc檔案,在裡面加入 skinmagic xpblue skinma...
使用SkinMagic美化MFC對話方塊
我在看一本王艷平的 windows程式設計 裡面第七章提到了使用skinmagic美化介面的問題。書上講的不明不白網上也有各種教程,幾天終於自己把skinmagic應用到了mfc程式中,快哉快哉!一 開啟vc6.0,新建乙個mfc基於對話方塊的應用程式。把工程命名為skin。include skin...
MFC程式的快速美化
首先在res目錄下建乙個檔案,命名 windows.manifest 字尾為 manifest 然後用記事本開啟放入 copy開始 name microsoft.windows.x processorarchitecture x86 version 5.1.0.0 type win32 window...