zoukankan      html  css  js  c++  java
  • 界面换肤

      

      利用VC中的MFC进行界面设计时,发现界面上的各控件无法简易地进行调整,比如字体大小、颜色、格式等。

      为了改变外观,小小地美化一下,今天决定动手一试。

      网上提供的库和方法不计其数,我选择了SkinMagic的破解版http://ishare.iask.sina.com.cn/f/34174084.html

      其实具体用时,只需其中的几个文件,下面简单介绍一下整个流程:

    1、打开VC6.0,新建一个MFC基于对话框的应用程序Skin;

    2、在CSkin.cpp(.h文件添加在StdAfx.h中也可行)中添加:
      #include "SkinMagicLib.h"
      #pragma comment(lib,"SkinMagic.lib") 
      //这一步是添加SkinMagic.lib库文件,和第七步两者有其一即可

    3、将SkinMagicLib.h,SkinMagic.dll,SkinMagic.lib,和皮肤文件"corona.smf"添加到当前目录
      //或将皮肤资源添加到res资源目录(文件)中,直接通过资源名导入,皮肤资源文件名称自行改变

    4、在CSkinApp类的InitInstance()函数创建主窗口之前,就是在此函数开始位置添加:
      //初始化SkinMagic库,此函数的第二个参数 "Skin"是当前工程名
      VERIFY(InitSkinMagicLib(AfxGetInstanceHandle(),"Skin", NULL, NULL));
      //从资源中加载皮肤文件LoadSkinFromResource(AfxGetInstanceHandle(),(LPCTSTR)IDR_SKINMAGIC1,   "SKINMAGIC")
      //上面的函数的第二个参数IDR_SKINMAGIC1是自己添加到工程中的资源
      //在此我采用直接从文件中加载的方式:
      if(LoadSkinFile("SkinName.smf"))
      { 
        //设置对话框默认皮肤
        SetDialogSkin("Dialog");
      }

    5、在CSkinApp类中重载虚函数ExitInstance(),添加:ExitSkinMagicLib()即:

    BOOL CSkinApp::ExitInstance()
    {
      ExitSkinMagicLib();
      return CWinApp::ExitInstance();
    }

    6、 修改资源文件:
      单击菜单命令Insert/Resource..弹出插入资源对话框;单击按钮”Import“,导入资源皮肤“corona.smf”到工程中;
      因为这不是标准资源,所以会弹出自定义资源类型对话框,这里输入SKINMAGIC单击OK按钮。

    7、选择菜单栏工程/ 设置,在连接—>对象/库模块处,添加库文件SkinMagic.lib,

    运行,界面外观得到了很大的改善,具体的方案我们可以根据.smf皮肤文件调整。

  • 相关阅读:
    JavaWeb学习(17):优化三层(加入接口和 DBUtil)
    [每日一题]:The Lazy Cow(silver)
    JavaWeb学习(16): 三层架构模式实现简单的学生管理系统(内含数据库)
    BZOJ3275Number——二分图最大权独立集
    BZOJ3438小M的作物——最小割
    BZOJ2127happiness——最小割
    BZOJ3894文理分科——最小割
    BZOJ2150部落战争——最小路径覆盖
    BZOJ4205卡牌配对——最大流+建图优化
    BZOJ4032[HEOI2015]最短不公共子串——序列自动机+后缀自动机+DP+贪心
  • 原文地址:https://www.cnblogs.com/liangxiaofeng/p/3472127.html
Copyright © 2011-2022 走看看