开发平台: VC6 SkinMagic2.21
l 准备工作
1 、下载 SkinMagic Toolkit ,复制 SkinMagicTrial.dll 、 SkinMagicTrial.lib 、 SkinMagicLib.h 以及皮肤文件 corona.smf 至项目的目录下。 ( 这样比较简单 J ,可以 在这下载。 )
2 、在 stdafx.h 中加入头文件和库的引用,如下:
#include "SkinMagicLib.h"
#pragma comment(lib, "SkinMagicTrial.lib")
l 使用 SkinMagic
1、 初始化 SkinMagic 库:
int __stdcall InitSkinMagicLib( HINSTANCE hInstance,
LPCTSTR lpApplication ,
LPCTSTR lpReserved1,
LPCTSTR lpReserved2 );
在 CxxxApp::InitInstance() 中加入初始化 SkinMagic 库的代码:
VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));
2 、调入皮肤文件:
皮肤的调用有两种方法,一是直接从皮肤文件中调用,另一种方法是从资源文件中调用,分别说明如下:
1) 从 皮肤文件中调用皮肤:
i nt __stdcall LoadSkinFile ( LPCTSTR lpSkinFile );
2 )从资源文件中调用皮肤:
int __stdcall LoadSkinFromResource (HMODULE hModule,
LPCTSTR lpSkinName ,
LPCTSTR lpType);
现在 CxxxApp::InitInstance() 中的代码如下:
BOOL CxxxApp::InitInstance()
{
VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));
VERIFY( 1 == LoadSkinFile("corona.smf"));
AfxEnableControlContainer();
//….. 下略
}
3 、将皮肤应用到 程序上
int __stdcall SetWindowSkin( HWND hWnd , LPCTSTR lpSkinName );
int __stdcall SetDialogSkin( LPCTSTR szSkinName );
1 )对话框程序代 码位置:
BOOL CxxxApp::InitInstance()
{
//... 上略
m_pMainWnd = &dlg;
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
VERIFY( 1 == SetDialogSkin( "Dialog" ) );
int nResponse = dlg.DoModal();
//… 下略
}
2 )文档视图程 序代码的位置
BOOL CxxxApp::InitInstance()
{
//… 上略
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
VERIFY( 1 == SetDialogSkin( "Dialog" ) );
return TRUE;
}
4 、 释放 SkinMagic 资源
void __stdcall ExitSkinMagicLib();
重载应用程序的 ExitInstance() 函数,添加如下代码:
int CxxxApp::ExitInstance()
{
ExitSkinMagicLib();
return CWinApp::ExitInstance();
}
界面美化SkinMagic使用(转)
最新推荐文章于 2018-05-08 22:24:16 发布