- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Skinmagic 2.4使用帮助文档
*这篇文章是为了针对Skinmagic 2.4的帮助文档所存在的几点不足所写。 -ActL
1、复制到工程目录下skinmagiclib.h,skinmagic.lib,skinmagic.dll (注:我用的是2.5.1.1版dll)
2、在stdafx.h中加入头文件和库的引用,如下:
#include SkinMagicLib.h
#pragma comment(lib, SkinMagic.lib)
3初始化SkinMagic库:
int __stdcall InitSkinMagicLib( HINSTANCE hInstance,
LPCTSTR lpApplication ,
LPCTSTR lpReserved1,
LPCTSTR lpReserved2 );
在 CxxxApp::InitInstance()中加入初始化SkinMagic库的代码:
VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));
2、调入皮肤文件:
皮肤的调用有两种方法,一是直接从皮肤文件中调用,另一种方法是从资源文件中调用,分别说明如下:
1) 从皮肤文件中调用皮肤:
int __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();
}
1.skinmagiclib.h,skinmagic.lib,skinmagic.dll. 2.当一切做好,编译器可能会报错 : 已包含windows.h头文件,不必再包含。找到这3条条件编译语句,删了,就OK了。3.一定要是release版的程序。满足以上3条,就可以成功换肤了。。呵呵
网上查到的资料没提到这些,要是按照那样的去做,要很费周折。 所以总结了以上经验。。
EG:
原创力文档


文档评论(0)