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 ...
随机推荐
- 深入理解CSS中的层叠上下文和层叠顺序(转)
by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 零.世间的道 ...
- Mysql大量数据快速排序方案
日常开发中经常需要对数据进行排序,通常可以讲数据库中的数据获取到后通过程序在内存中进行排序,但是这样排序需要将排序内容从数据库中查询到内容,同时使用程序算法进行排序,然后将排序结果更新入数据库,这样排 ...
- flex 布局 初次接触这个好使又不是特别好用的布局方法
刚开始学前端的童鞋们应该也是一样先学习的table然后再学习了盒子模型,感觉终于学会了简单的网页布局,使用各种display,float,position绞尽脑汁给页面布局成自己想要的页面样式,然而, ...
- 服务 在初始化安装时发生异常:System.IO.FileNotFoundException: "file:///D:\testService"未能加载文件或程序集。系统找不到指定文件。
@echo.@if exist "%windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" goto INSTALL ...
- 1.系统生命开发周期(SDLC)
哎,首先我恭喜我,这学期学了一门老师们都说非常重要,而学生们都说哪里重要的课,它就是与<软件工程>课齐名的<系统分析与设计>!!骚年,不背不记,你就死定了!! 首先俺领你认识一 ...
- LVM在线扩容
我虚拟机根分区已经使用了35%,现在需要对他进行在线扩容,扩容之后使用率降到30% [root@localhost ~]# dfFilesystem 1K-blocks Used Available ...
- TRIGGER_15.8.3BACKUP
1 CREATE OR REPLACE TRIGGER "XMV502"."ADDAREA12" before insert on bd_areacl for ...
- modelsim操作流程
1.File->Change Directory2.File->New->Library 在弹出的对话框中选择 a new library and a logical mapping ...
- HTTP返回码总结(转)
HTTP协议状态码表示的意思主要分为五类 ,大体是 : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1×× 保留 2×× 表示请求成功地接收 3×× 为完成请求客户需进一步 ...
- PMIC RTC 寄存器
RTC_PDN1 bit 0 - 3 : Android bits bit 4 - 5 : Recovery bits (0x10: factory data reset) bit 6 : Bypas ...