zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Objective-C 调用C++,C
    ios项目不能再用UDID了
    xcode 4 制作静态库详解
    Icon specified in the Info.plist not found under the top level app wrapper: Icon.png
    吼吼 尬English
    Redis
    处理android 经典蓝牙发送文件时接收包的问题
    Md5加密的文件流中是否会包含其md5值
    Android gradle buid failed case
    Android GDB 调试
  • 原文地址:https://www.cnblogs.com/kenter/p/1855476.html
Copyright © 2011-2022 走看看