如何使用SkinMagic2.2来为VC程序界面进行美化

【MFC串口】对话框界面的美化——基于SkinMagic MFC窗口界面一般都比较粗糙,这里采用SkinMagic来进行美化。SkinMagic 好用的第三方界面库,通过加载皮肤的方式来美化界面。如果对现有皮肤不满意,还可以通过SkinMagicBuilder修改皮肤。 阅读详情

由于毕业设计的需要,我使用VC开发一个程序,由于VC6.0是98年的产品,开发出来的标准程序界面在当下VISTA盛行的年代实在不敢让人恭维。而程序的UI对于一个软件的价值又是非常之巨大。所以我决定对软件界面进行美化。一般来说,进行美化有两种方法,第一种是从MFC的各个控件基类开始继承,重载所有控件的绘制函数,或者通过消息响应和消息反射,截获界面重绘时的消息,编写消息响应函数来修改掉默认的绘制样式。这对于一个编程高手来说当然不是什么问题,但是对于新手或者时间有限的人来说,则比较费力。第二种就是使用现成的一些界面库,来完成界面的美化。这样的库现在也有不少。但是大多数是国外的,国内的这方面产品比较少,而且大多数功能不是很强大,对于VC下的这些库,大多数不支持文档视图结构,只在对话框下有用。看来这方面是需要国内的程序员努力的。说不定以后,我会和我一位朋友合作开发一个类似于USKIN的国产皮肤库,免费提供给大家使用。呵呵:)

   话入正题,这里我们选用了SkinMagic,这个库不错,支持SDI和MDI,同时有很多不错的界面文件。而且网上也有不少的破解版。当然,在经济许可的情况下,我绝对支持正版。不过这里是在学习,所以只讨论技术。不涉及其他。这里我们选用了2.2版本。如果你需要最新版,请到www.skinspeed.com看看。这里需要的文件如下图所示:

两个库文件,一个头文件,一个皮肤文件。

最终的效果图如下图所示:

这个是SDI界面。MDI类似。

在vc工程中,切换到资源文件夹,新建一个资源,点击自定义,资源类型定义为SKINMAGIC,然后再该类型资源中引入smf皮肤文件。设置该引入的皮肤文件的资源ID为皮肤的名字,比如说KROMO。

将四个文件都复制到项目根文件夹,点击工程菜单,添加到当前工程,文件,将除皮肤外的文件都添加到项目中。

在CWinAPP类的initinstance函数中添加如下代码:


BOOL CFgdsApp::InitInstance()
{
//===================加载皮肤并且设置皮肤窗口================*/
    VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), NULL ,
        NULL,
        NULL ) );//初始化
   
    VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle(), "KROMO" ,"SKINMAGIC") ); //导入资源
//==================================//    
   
AfxEnableControlContainer();

然后在该函数下面添加下列代码:

if (!ProcessShellCommand(cmdInfo))

   return FALSE;
//////////////////=============================================//

VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd , "MainFrame" ));//对DOC/VIEW结构程序体进行换肤。
    VERIFY( 1 == SetDialogSkin( "Dialog" ) );//对对话框进行换肤
    /*==========================END===========================*/
// The one and only window has been initialized, so show and update it.
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
然后在stdafx.h下方添加#include "SkinMagicLib.h"

然后编译,链接,运行。就可以了。

现在,运行的时候,你会发现美化后的程序上有Powered By SkinMagic字样,这对于我们来说,并不是必要的。对于破解版的控件来说,那么如何去除呢?这里采用“暴力破解”。也就是说,直接修改二进制文件的方法。

首先,我来介绍一下UltraEdit这个工具,这个工具是一个非常强大的十六进制编辑器。可以在十六进制模式下打开文件。因为无论是什么样的软件,无论如何加密,最终都会以二进制流的方式写入文件。这时候一般来说,可以通过修改二进制的方式来完成一些修改。比如版权之类的信息。但是需要注意的一点是必须是十六进制的模式下修改,而且修改前的信息和修改后的信息所占据的空间必须一致,否则,对于可执行文件来说,可能导致函数入口点地址的改变,也就无法正常运行了。

首先,使用UltraEdit打开SkinMagicLib.lib文件,选择搜索替换命令,弹出替换对话框,设置查找信息为[Powered By SkinMagic]。同时勾选查询ASCLL码。

替换对话框设置如下图所示:

下面是使用UltraEdit打开后进行搜寻的情形:

然后再次点击搜索->替换命令,弹出上图所示的替换对话框,在替换为文本框中输入22个空格,之所以是22个,是因为[Powered By SkinMagic]是22个字符,占据22个字节,我们必须也填满这个空间,保证地址不会发生改变。这里因为我们不希望在程序标题栏看到这些字符串,我们可以将这些内容变为空格,这样就看不到了,这就是为什么用22个空格替换的原因。输入22个空格之后,点击全部替换。填充之后,刚刚显示的5B 50 6F等数据就会全部变为20 20 20 等数据,说明替换完毕。之所以20,是因为空格键的ASCII码是32,ASCII为十进制的,换算成十六进制就是0x20。这里不再解释,请参阅计算机组成与结构等书籍。

保存。然后重新组建你的程序,现在那几个烦人的字母是不是已经消失了?呵呵。

如下图所示:


MFC使用SkinMagic使用详解【中级】 好了,前面我们讲解了初级的Skinmagic的应用,现在我们来学习SkinMagic的其他一些技巧。 1.SkinMagic常用函数介绍 2.SkinMagic三种界面加载皮肤方法介绍 3.SkinMagic错误处理 4.其他Skinmagic技巧  1.SkinMagic常用函数介绍 (1)InitSkinMagicLib函数:初始化SkinMagic int InitSkinM... 阅读详情

相关推荐

SkinMagic Toolkit 2.21(mfc完美破解皮肤)

SkinMagic Toolkit 2.21 Trial 完美破解版 ,包括皮肤编辑 及已做好的皮肤库,美化自己的vc程序,你能hold吗?

SkinMagic、Skin++和VCLSkins皮肤库的使用

在进行开发的过程中发现MFC本身的界面比较丑,查阅资料说可以直接借用第三方界面库。使用(SkinMagic、Skin++、VCLSkins)皮肤库,来直接美化界面。 一、开发环境 VS 2017 SkinMagic、Skin++、VCLSkins皮肤库 二、SkinMagic的使用方法 1. 制作SkinMagic 需要自己使用SkinMagic提供的SkinMagicBuildr设计自定义风格的一套皮肤。这里我使用的是网上已经制作好的,若自己有兴趣可以去进行制作。 2. 往项目中添加SkinMagic

qq_43630810的博客 4263

SkinMagic2.4+使用说明书+通俗易懂(mfc皮肤)

SkinMagic2.4+使用说明书+通俗易懂(mfc皮肤),内含说明书和插件

SkinMagic——MFC界面换肤美化

SkinMagic——MFC界面换肤美化(完整步骤)一. 下载并解压SkinMagichttps://pan.baidu.com/share/link?shareid=1666255608&uk=3794066601二. 解压后相关文件放置路径1. SkinMagic.dll 2. SkinMagic.lib 3. SkinMagicLib.h 4. corona.smf(将要替换的皮肤)...

zjl-wgf 1万+

Rust嵌入式开发环境搭建指南(基于Stm32+Vscode)

本文档旨在指导开发者如何搭建基于Rust语言的STM32嵌入式开发环境。相比传统的C/C++开发方式,Rust提供了更强的内存安全保障和现代化的语言特性,非常适合嵌入式系统开发。本指南将详细介绍从环境搭建到项目配置的全过程,特别关注VSCode作为IDE的配置以及STLink和DAPLink调试器的使用。

u014627020的博客 2601

如何在SendWS实现WhatsApp批量群发设置管理?WhatsApp群发超链有什么好处?

WhatsApp群发顾名思义就是对WhatsApp上的用户好友进行群发消息,给他们群发想要发送的消息。及时不认识对方也可以对他进行群发超链。越来越多做跨境出海运营的工作者利用WhatsApp进行营销推广,因为他能做到低成本高回报,向客户发送消息曝光自己的品牌或产品,使得更多人了解,拓展新客户,提高成交率。

SendWS-WS云控群控拓客聊天翻译 1170

美化您的程序——SkinMagic使用方法完美总结

一直以来总想为自己用VC6做的程序美容一下,于是便找到这款skinmagic,虽然网上有许多关于此软件的使用说明,但实际使用过程中总会遇到一些问题,经过反复摸索和总结,于是便有了此文,希望对您有所帮助。 使用步骤:1。把SkinMagicLib.h, SkinMagicLibMT6.lib, SkinMagicLibMD6.lib放到你的VC6工程目录下2。在StdAfx.h中添加

qzmguy's Blog 7027

永磁同步电机高效标定技术:从理论到实践的全面解析

本文全面解析永磁同步电机高效标定技术,从MTPA标定、弱磁区优化到初始角校准,详细介绍了理论原理和实战技巧。针对新能源汽车应用场景,提供标定系统集成要点和AI辅助优化方案,帮助工程师提升电机性能标定效率与精度。

weixin_28452161的博客 503

一分钟学会使用SkinMagic美化界面

   网络上的SkinMagic版本繁多,而且试用版,破解版并存,各版本之间支持的皮肤文件也不尽相同,因此经常有人在网上询问为何添加了SkinMagic没有效果甚至导致程序崩溃之类的问题。这里有一个可用的破解版本(包含VC6使用的库和支持的常用皮肤文件)SkinMagicToolkitV2.2.31。请注意这个包的大小为1.31M,如果小于1.31M说明下载不完全,则无法使用,建议使用迅雷下载。

陈敏的博客 2万+

华为服务器RAID配置避坑指南:如何通过iBMC快速识别阵列卡型号并完成初始化

本文详细解析华为服务器RAID配置全流程,重点介绍通过iBMC快速识别阵列卡型号、硬盘健康诊断及RAID级别选择的场景化策略。提供从iBMC登录到缓存策略调优的实战技巧,帮助工程师避免常见配置陷阱,提升服务器存储系统性能和稳定性。

weixin_28475533的博客 492

为 ABAP BSP 与 ICF 量身打造的错误页实践:从 CX_ROOT 到 SICF 的端到端落地指南

摘要 本文系统讲解SAP ABAP平台中BSP与ICF层的错误页定制方法。在BSP层,通过标记错误页属性和绑定ERROR_OBJECT异常对象,实现友好的错误展示与日志记录。ICF层通过SICF事务码统一配置错误页、登录与登出逻辑,支持服务树继承。文章包含可直接落地的代码示例,并针对现代Fiori架构给出演进建议,帮助开发者提升用户体验与系统安全性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 227

利用SkinMagic美化VC程序详解

       利用SkinMagic美化VC程序详解    这两天在网上看到给VC程序换肤的文章,自己也试了一下,因为版本的问题,忙了整整一天,才算搞出点头绪。废话不说了,下面我们一步步地来实现这个功能!(1)下载SkinMagic的开发包,我用的开发包需要下面几样东西:SkinMagicLib.lib,DETOURS.lib两个库文件;.smf文件(皮肤文件);还有个SKinMagicL

2118

YOLOv11改进 - 卷积Conv | SPD-Conv空间深度转换卷积优化空间信息编码,攻克小目标检测难题

本文介绍了一种名为SPD-Conv的新型CNN构建块及其在YOLOv11中的结合。传统CNN在处理低分辨率图像或小物体时,因使用步长卷积和池化层导致细粒度信息丢失、性能下降。SPD-Conv由空间到深度(SPD)层和非步长卷积(Conv)层组成,完全消除卷积步长和池化层,避免信息损失。SPD层重排特征图元素将空间信息转换到深度维度,非步长卷积层进一步处理特征图。我们将SPD-Conv集成进YOLOv11,实验证明其在低分辨率图像和小物体检测任务上显著优于现有模型。

魔改工程师的博客 1141

使用SkinMagic Toolkit美化界面(II)

使用SkinMagic Toolkit美化界面(II)by mythma 每个人都希望自己的程序看起来漂亮些,一切都自己来做显得不太现实,选择一个成熟的第三方界面库是一条快速的捷径。关于界面美化的第三方程序库也有很多,如BCGControlBar、XTP、SkinMagic等。对于新手而言,能快速上手的程序库是首选。在众多的界面程序库中, SkinMagic是最容易上手,最容易使用的。本文介绍了如

力为的博客 5197

DMDiff(2025):一种基于SAR光学数据融合的双分支多模态条件引导扩散模型-k学长深度学习专栏

DMDiff提出了一种基于扩散模型的多模态遥感图像去云方法,通过双分支网络分别提取SAR的结构信息和光学图像的光谱特征,再利用跨模态注意力机制实现特征融合。创新性地采用IAP策略直接预测无云图像而非噪声,有效解决了传统方法在遥感图像处理中易出现的光谱失真问题。实验表明该方法在PSNR等指标上显著优于现有技术,但存在计算量大、生成速度慢等不足。未来可结合加速采样策略和几何约束进一步优化。

424

手把手教你学Simulink——基于Simulink的CLLC谐振变换器双向对称控制

本文介绍了一种基于Simulink的CLLC谐振变换器双向对称控制方法。针对CLLC拓扑的多阶谐振特性,采用固定频率、50%占空比、仅调节相位差的对称控制策略,实现了宽电压范围调节和全负载ZVS软开关。详细阐述了Simulink建模步骤,包括功率级搭建、相位差生成逻辑和双向切换实现,并通过仿真验证了稳态性能和双向无缝切换能力。该方法解决了传统PFM控制的不足,具有控制简单、效率高、易于工程实现的优势,适用于车载充电和储能系统等双向功率应用场景。

MHD0815的博客 302

界面美化SkinMagic使用(转)

开发平台:VC6 SkinMagic2.21l     准备工作 1、下载SkinMagic Toolkit,复制SkinMagicTrial.dll、SkinMagicTrial.lib、SkinMagicLib.h以及皮肤文件corona.smf至项目的目录下。(这样比较简单J

老马 816

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SkinMagic Toolkit 美化VC界面

<br />1。 在SkinMagic包里拷贝:SkinMagicLib.h、SkinMagicLib.lib、SkinMagicLib.dll 到当前的工作目录下<br /><br />2。 在VC的Project目录下选择“Add To Project” 菜单的“Files...”。把这三个文件添加到工程中。<br /><br />3。在Stdafx.h文件,添加:#include "SkinMagicLib.h"<br /> <br />关键的开始喽~<br /><br />4。在你的***。cpp中

朵猫猫 962

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

使用SkinMagic美化VC界面

使用SkinMagic美化VC界面 博客分类:  VC VC++HTML  目前网上SkinMagic的破解版有三种,一种是1.0的,第二种是2.01的,还有一种是2.21的。1.0版有一个比较大的Bug,在列表控件上无法显示中文。而2.21版就太复杂了,有四个不同的库,因此推荐使用2.01版。 2.0b1版破解Dll下载地址 http://www.cppblo

bhj5787的专栏 1042

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

SkinMagic2.0b1试用

 VC程序的界面美化是个大难题,虽然windows有重绘方法,但对于我这种没有美术细胞的人,图片都配不好,每个按钮有焦点、正常、按下、不可用4种状态,另外还有n多种控件,加上窗体。。。最最可怕的是全部都要插入代码处理,想着都恐怖,每个写个程序的人都应该强烈反对。SkinMagic暂时缓解了我的需求,简单的使用方法,尚可的界面,不太高的资源消耗,挺不错的。我下载的是SkinMagic2.0b

ziyoufeng_的专栏 729

使用SkinMagic美化界面

使用SkinMagic美化界面   2010-01-11 17:28:46|  分类: VC手记 |  标签: |字号大中小 订阅 首先从http://www.vckbase.com/tools/assist/SkinMagic2.21TrialCracked.rar下载skinMagic 2.21。 基本的使用方法可以查得到。但是具体到一个特定的程序,查到的资料是不够的。从下载

chan_52的专栏 1699

VC_SkinMagic使用方法总结

一直以来总想为自己用VC6做的程序美容一下,于是便找到这款skinmagic,虽然网上有许多关于此软件的使用说明,但实际使用过程中总会遇到一些问题,经过反复摸索和总结,于是便有了此文,希望对您有所帮助。  使用步骤: 另附自己找到的builder2.3版本 1。把SkinM

优快云-MarkYang 1900

skinmagic对VC中程序窗口的换肤

一直以来没怎么关心过程序界面的开发,最近想对程序界面的美化学习一下。下面先展示一下这次开发所实现的效果:程序我已经上传到优快云上面了,同时我所使用的skinmagic包也已经上传。程序主要实现了:1. 窗口的基本美化:菜单,窗口2. 换肤菜单3. 主窗口和子窗口同时换肤下面先引用别人的我认为相当全面的一个总结(引自:http://cool.worm.blog.163.com/blog/static/64339006200952503917995/):文件说明SkinMagicLib.h 必须的头文件,请添

WangIcter的专栏 6409

MFC 界面美化 Skinmagic

转载来自:https://my.oschina.net/lvguidong/blog/542326  用MFC写的这个应用程序,写出来的界面实在是看不下去,于是乎到就像来在界面添加一些图片来美化,于是找了图片,还是太丑,又看到网上的帖子说有皮肤库啊,那个界面更好看,于是搜,也没有什么干货,大家也是从一个地方抄过来的,我这里记录一下, 我的环境是vs2005,下载一个SkinMagic,我也

songyimin1208的博客 2789

使用SkinMagic美化MFC对话框

我在看一本王艳平的《Windows程序设计》里面第七章提到了使用SkinMagic美化界面的问题。书上讲的不明不白网上也有各种教程,几天终于自己把SkinMagic应用到了MFC程序中,快哉快哉!!!!     SkinMagic的开发包可以在http://download.csdn.net/source/3292405下载。 一、 打开VC6.0,新建一个MFC基于对话框的应

1万+
上一篇: opengl中天空盒缝隙消除的解决办法!
下一篇: 各种流行的界面换肤控件库比较
纯属虚构
博客等级 码龄17年 86粉丝 194原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值