VS中基于对话框的MFC利用换肤改变边框颜色及格式
第一版本:
http://ishare.iask.sina.com.cn/f/13836420.html?from=like
2. http://www.cnblogs.com/phinecos/archive/2008/04/14/1152696.html
3. http://www.emsky.net/bbs/archiver/?tid-28229.html
4. http://hi.baidu.com/wdmzslh/item/af389ef068779d28743c4c2e
5. http://www.lewensky.cn/read.php/113.htm
想添加一个皮肤以美化页面怎么办,现如今有很多的换肤工具,不过几乎都是收费的,很无奈呀!地址1中可以下载Skin++2.1破解版的50个皮肤,不知道破解的彻底否,尽量不要用于商业,否则可能会有麻烦的。然后地址2、3、4、5主要介绍如何将Skin++应用于MFC的,请关注。
如何使用皮肤
其大致的步骤如下:
1. 将skinppwtl.dll、SkinPPWTL.lib、SkinPPWTL.h及选择的皮肤(**.ssk)copy至工程文件夹下;
2. 在项目-属性-配置属性-连接器-附加依赖项中添加Skin++的库文件(SkinPPWTL.lib);
3. 在文件stdafx.h中添加Skin++的头文件(#include "SkinPPWTL.h");
4. 在文件“工程名.cpp”中的函数InitInstance中添加语句skinppLoadSkin(_T("blue.ssk"));;
按照以上步骤差不多就可以使用Skin++的免费皮肤了,我是应用在VS2010基于对话框的MFC中的,在使用的过程中步骤3和4都需要在解决方案资源管理器下查找相应的而文件,在VC6.0中只需要在类视图中就可以查找。
另外,Skin++免费版是只支持ANSI方式,但VS2010在默认情况下编码为UNICODE方式,如果在编译链接时不把编码改为ANSI方式则无法正常生成,故更改:项目-属性-配置属性-常规-字符集-使用多字节字符集,如此,便可以正常使用Skin++的皮肤了。
但是,有可能项目在使用多字节字符集下编译出现其他的错误,如不能将CString转化为LPCWSTR等。解决方法如地址2所述,将字符集改回为原来的UNICODE方式,然后将skinppLoadSkin(_T("blue.ssk"));改为skinppLoadSkin("blue.ssk");。
然后在SkinPPWTL.h头文件里定义一个typedef char MYCHAR变量,并替换所有的TCHAR,并将语句TCHAR_tcscpy(szResImageName,_T(""));改为strcpy(szResImageName,"");即可,编译即可通过。至于其他的卸载、更换,有待探索。
第二版本:
1.新建基于对话框的MFC程序pifuTest。
void CPifuTestDlg::OnDestroy()
{
SkinH_Detach();//这句是核心
PostQuitMessage (0) ;
CDialog::OnDestroy();
// TODO: Add your message handler code here
}
6.这样子编译成功就能运行了,效果如下。


VS中基于对话框的MFC利用换肤改变边框颜色及格式的更多相关文章
- 如何在VS2010的VC++ 基于对话框的MFC程序中添加菜单
方法1:亲测 成功 转载自https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/48338f6b-e5d9-4c0c-8b17-05ca3ef ...
- 基于对话框的MFC应用程序基本结构
新建一个基于对话框的MFC应用程序,假设命名为 Test:则该应用程序在刚创建的时候,有4个非常重要的文件和3个类: 4个非常重要的文件 1.Test.h 2.Test.cpp (应用程序类头文件) ...
- VC6.0中MFC界面换肤简例
利用VC中的MFC进行界面设计时,发现界面上的各控件无法简易地进行调整,比如字体大小.颜色.格式等. 为了改变外观,小小地美化一下,今天决定动手一试. 网上提供的库和方法不计其数,我选择了SkinMa ...
- VS2008基于对话框的MFC上位机串口通信(C++实现)简单例程
首先,在 vs2008 环境下创建 MFC 运用程序 设置项目名称为 ComTest(这个地方随意命名,根据个人习惯),点击确定后,点击下一步 出现如下界面 选择"基于对话框"模式 ...
- 基于webpack4+vue-cli3项目的换肤功能
起因 最近因公司需求,需要实现主题换肤功能,不仅仅是颜色的更改,还需要包括图片,字体等文件等更换,因此在百度里各种实现方案后,决定根据scss+style-loader/useable做换肤. 项目开 ...
- 如何将基于对话框的MFC工程改成基于BCG的
1.stdafx.h 加入如下内容.BCGCBProInc.h间接导入了lib. 2.应用程序类的父类由CWinApp改成CBCGPWinApp.构造函数增加如下代码: 3.对话框的父类有CDialo ...
- 给基于对话框的MFC程序添加状态栏并实时显示时间
转载自丝雪儿 1.首先在string table 里添加两个字串,ID分别为IDS_INDICATOR_MESSAGE and IDS_INDICATOR_TIME 2.在你的 dlg.h 类里面加个 ...
- 基于对话框的Opengl框架
转自:http://blog.csdn.net/longxiaoshi/article/details/8238933 12-11-29 14:55 1198人阅读 评论(6) 收藏 举报 分类: ...
- Android项目中的换肤总结
纵观现在各种Android app,其换肤需求可以归为 白天/黑夜主题切换(或者别的名字,通常2套),如同花顺/自选股/天天动听等,UI表现为一个switcher. 多种主题切换,通常为会员特权,如Q ...
随机推荐
- clientX、pageX、scrollLeft、offsetLeft、clientWidth、screen.width的用法和区别
一.定义和用法 1.event.clientX:事件对象的水平偏移量: event.clientY:事件对象的垂直偏移量: 2.event.pageX:事件对象加上滚动距离后的水平偏移量: event ...
- securityCRT mongoDB 命令行删除(backspace/delete)无效问题
1.MongoDB Shell中退格键使用的问题. 利用SecureCRT工具访问linux的时候,在使用MongoDB的交互式shell的时候,退格键(Backspace)无法使用,导致无法修改输入 ...
- jquery特效大全
http://www.oschina.net/project/tag/300/jquery-effects
- winform基本控件的使用2(用户登录界面的设计)
首先还是通过例子来讲解,这次的实验主要是使用messageBox的使用方法,关于messageBox的使用方法在我的博客里面有相关的转载,请自己查看,下面说一下实验要求. 功能要求:模拟一个用户登陆的 ...
- 【Telnet】使用Telnet协议连接到远程Shell执行脚本
介绍 本文介绍如何通过Telnet协议连接到远程Shell,执行脚本,并获取执行结果: 相关文章: <[Jsch]使用SSH协议连接到远程Shell执行脚本>http://www.cnbl ...
- FLASH结构
mergedir/code.tmp.bin 压缩未加密文件的FLASH文件 mergedir/sfs/nvm.bin shareData数据文件,未加密.未压缩 数据克隆:DATA/ALL APP ...
- stanford NLP学习笔记3:最小编辑距离(Minimum Edit Distance)
I. 最小编辑距离的定义 最小编辑距离旨在定义两个字符串之间的相似度(word similarity).定义相似度可以用于拼写纠错,计算生物学上的序列比对,机器翻译,信息提取,语音识别等. 编辑距离就 ...
- 【菜鸟学习jquery源码】数据缓存与data()
前言 最近比较烦,深圳的工作还没着落,论文不想弄,烦.....今天看了下jquery的数据缓存的代码,参考着Aaron的源码分析,自己有点理解了,和大家分享下.以后也打算把自己的jquery的学习心得 ...
- C++ 几种构造函数的区分和调用
class A { public: A(); //默认构造 A( A& a ); //copy构造 const A& operator=( const A& a ); //赋值 ...
- 测不准的程序员(Heisenberg Developers)
摘译自http://mikehadlow.blogspot.co.uk/2014/06/heisenberg-developers.html ——“你无法在不改变他们状态的情况下观察一个开发者” ...