VC界面解决方案

 

VC界面解决方案

关键字:VC皮肤

-、简介

VC采用Delphi里边成熟的界面组件vclskinvclskin有源码,皮肤有一百多个,将它做成Dll来用,效果相当不错。

二、效果预览

实例中的效果如下图:

效果预览

 

三、调用方法

创建VC工程SkinTestVC的创建就不具体介绍了,添加代码如下:

声明 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和皮肤下载链接

https://files.cnblogs.com/kenter/skin.rar

posted @ 2010-10-19 13:24  kenter  阅读(676)  评论(1编辑  收藏  举报