使用了SkinMagic2.01设置软件界面的一个单文档程序,就三步:
首先拷贝
SkinMagicLib.h、SkinMagic.Lib、SkinMagic.dll和皮肤文件
*.smf到工程文件夹下;
第二步,添加代码在APP文件的
InitInstance()中添加代码:
VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), _T("Demo") , NULL,NULL ) );
VERIFY( 1 == LoadSkinFile( _T("futuraIII.smf") ) ); //皮肤文件可以换成其他的
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , _T("MainFrame") ));//程序的主框架加载皮肤
VERIFY( 1 == SetDialogSkin( _T("Dialog")));//程序内的对话框加载皮肤
还有就是在
stdfax .h文件中添加:
#include "SkinMagicLib.h"
#pragma comment(lib, "SkinMagic.lib")
第三步,取消VC2005默认使用UNICODE,在项目下拉菜单---属性---配置---常规,字符集选择:未设置选项.
只不过我不知道怎么把这些lib和头文件放在网上,没法让大家下载了。
如果要在程序中切换皮肤,可以使用如下的代码:
TCHAR strExt[]= _T("SkinMagic Files(*.smf)|*.smf||");
CFileDialog dlg( TRUE, _T("*.smf"), _T("*.smf") , OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT
, strExt , this );
if( dlg.DoModal() == IDOK )
{
LoadSkinFile( (LPCTSTR)(dlg.GetPathName()) );
}