VC界面解决方案
时间:2010-10-19 来源:kenter
关键字:VC皮肤
-、简介
VC采用Delphi里边成熟的界面组件vclskin,vclskin有源码,皮肤有一百多个,将它做成Dll来用,效果相当不错。
二、效果预览
实例中的效果如下图:
效果预览
三、调用方法
创建VC工程SkinTest,VC的创建就不具体介绍了,添加代码如下:
声明 HMODULE m_hModule;
下面声明全局extern CSkinTestApp theApp;
在应用程序类里添加加载Dll,卸载Dll的代码:
m_hModule = LoadLibrary ( "Skin.dll" );
……加载工程文件
FreeLibrary ( m_hModule );
在程序的第一个对话框初始化的时候调用LoadSkin函数:
void InitSkin (CString skinFile);
typedef int ( CALLBACK * FUNC ) ( PCHAR );
void CSkinTestDlg::InitSkin (CString skinFile)
{
//加载皮肤skin文件
CHAR szName [ MAX_PATH ];
CString strName = GetAppPath () + "skins\\" + skinFile + ".skn";
FUNC pFunc = ( FUNC ) GetProcAddress ( theApp.m_hModule, "LoadSkin" );
strcpy ( szName, strName );
pFunc ( szName );
}
CString CSkinTestDlg::GetAppPath ()
{
CString strPath;
CHAR szPath [ MAX_PATH + 1 ];
if ( GetModuleFileName ( NULL, szPath, MAX_PATH ) )
{
strPath = szPath;
int nPos = strPath.ReverseFind ( '\\' );
if ( nPos >= 0 ) strPath = strPath.Left ( nPos + 1 );
}
return strPath;
}
调用加入
InitSkin ("skin03");//初始化时候加载皮肤文件
dll和皮肤下载链接
http://files.cnblogs.com/kenter/skin.rar