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

  • 相关阅读:
    #Linux 系统管理命令 | top命令
    Linux 操作文件目录
    背包问题(1)背包的引入
    硬币找零问题
    输入一个正数 n,输出所有和为 n 连续正数序列。 java实现
    张小二求职记之 单例模式(三)之决战多线程
    张小二求职 之单例模式(一)
    张小二求职记之 单例模式(二)
    待修改 nyoj 412 又是一个遗留问题
    nyoj 904 hashmap
  • 原文地址:https://www.cnblogs.com/soga--/p/3170628.html
Copyright © 2011-2022 走看看