zoukankan      html  css  js  c++  java
  • 使用SkinMagic Toolkit美化界面(II)

    使用SkinMagic Toolkit美化界面(II

    by mythma

     

    每个人都希望自己的程序看起来漂亮些,一切都自己来做显得不太现实,选择一个成熟的第三方界面库是一条快速的捷径。关于界面美化的第三方程序库也有很多,如BCGControlBarXTPSkinMagic等。对于新手而言,能快速上手的程序库是首选。在众多的界面程序库中, SkinMagic是最容易上手,最容易使用的。本文介绍了如何建立一个简单的SkinMagic程序以及几个基本的SkinMagic API,当然,仅仅是作为入门之用 J

           开发平台:VC6 + SkinMagic2.21

    示例代码+SkinMagic下载

    l       准备工作

    1、下载SkinMagic Toolkit,复制SkinMagicTrial.dllSkinMagicTrial.libSkinMagicLib.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)  从皮肤文件中调用皮肤:

    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();

    }

    l       结论

    经过简短的4步,程序就换上了新装。我没有骗你吧!如果还有什么疑问,可以联系我mythma@163.comJ

    l       参考资料

    使用SkinMagic Toolkit美化界面

  • 相关阅读:
    程序员修炼之道——从小工到专家 读书笔记
    Spring5 IOC原理
    2021下期末总结
    十年风雨,一个普通程序员的成长之路(五) 成长:得到与教训
    UmbracoXslDevelopmentTemplate CQ
    Asp.net中的数据绑定 CQ
    Building the DotNetNuke Module in Normal Asp.net Application CQ
    UmbracoDataTypeFirstGlance CQ
    Umbraco Home CQ
    UmbracoColor Picker–Demo CQ
  • 原文地址:https://www.cnblogs.com/aiwz/p/6333154.html
Copyright © 2011-2022 走看看