zoukankan      html  css  js  c++  java
  • MFC皮肤使用详细说明

    首先将SkinMagic.dll,SkinMagic.lib,SkinMagicLib.h,xpsteel.smf文件复制到工程目录下。
    1、在StdAfx.h末尾中加入
    #include "SkinMagicLib.h"
    #pragma comment(lib, "SkinMagic.lib")
    2、在C**App的头文件中添加成员变量m_blnSkinLoaded
    class C**App : public CWinApp
    {
       bool m_blnSkinLoaded;
    }
    3、在C**App的源文件中添加如下此代码
    BOOL C**App::InitInstance()
    {
    AfxEnableControlContainer();
            CWinApp::InitInstance();
    //skinmagic  
    //////////////////////////////////////////////////////////////////////////
    VERIFY( 1 == InitSkinMagicLib(AfxGetInstanceHandle(), NULL, NULL, NULL));
    if(0==LoadSkinFile("xpsteel.smf"))
    {
    m_blnSkinLoaded=FALSE;
    AfxMessageBox("加载皮肤失败。");
    }
    else
    m_blnSkinLoaded=TRUE;
    if(m_blnSkinLoaded)
    {
    VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));
       //对话框类型的工程不要加这句话。
    VERIFY( 1 == SetDialogSkin( "Dialog" ) );
    }
    注意:当创建对话框类型的工程,把这一段代码放在函数体的前面位置;
    当创建文档类型的工程,把这一段代码放在函数体的后面位置,等待系统把窗口都初始化完毕。
    3、在类向导为C**App添加ExitInstance消息,编辑函数。
    即在source Files文件夹中的FloppyImage.cpp中加入
    int CFloppyImageApp::ExitInstance()
    {
    // TODO: Add your specialized code here and/or call the base class
    //skinmagic
    //-----------------------------------------
    if(m_blnSkinLoaded)
    ExitSkinMagicLib();
    //------------------------------------

    return CWinApp::ExitInstance();

  • 相关阅读:
    通用应用程序设计
    咫尺与天涯
    SQL SERVER 自定义函数 split
    asp.net 页面实践执行顺序
    asp.net UpdatePanel 不能局部刷新问题汇总
    DataGrid GridView 单页javascript 表头排序
    存储过程分页方案
    数据库名、数据表名、字段名、主键、标识列相关查询
    c# web 缓存管理
    js笔记---拖动元素
  • 原文地址:https://www.cnblogs.com/soga--/p/3170628.html
Copyright © 2011-2022 走看看