从资源中加载皮肤, 使用免费界面库 AppFace For VC 0.2 美化您的软件

VC 界面库皮肤 阅读详情

由于单位上最近要开发一个内部使用的小型项目,我需要一个运行稳定的,能够将皮肤文件放到资源里的并且易于使用的界面开发包,当然,免费的最好。于是利用google一阵狂搜,嘿,真还找到了这样的一个开发库:AppFace For VC 0.2 。


AppFace For VC 支持Win9X/NT/2K/XP,UNICODE/ANSI,能够对目标进程里的所有Widows标准控件,系统菜单,通用对话框等实现换肤,对非商业用途而言,它是完全免费的。关键的是AppFace的使用非常简单,很容易添加到已有的工程中。我使用的是 0.2 版,你也可以到它的网站 http://www.appface.com 去下载最新版本 。


AppFace 支持三种皮肤加载方式,从磁盘文件加载,从资源加载,从内存加载。下面我就说说如何从资源加载URF皮肤文件:

首先,要确保你下载了AppFace for VC 开发包,我们要用到其中的三个文件: "appface.h", "appface.dll" ,"gtclassic.urf" 。

接着,创建一个 VC 可执行文件工程, MDI/SDI/DIALOG/WIN32 类型的都可以,我以创建一个DIALOG 工程 ResSkin 进行说明 。将"appface.h" 拷贝到该工程目录下,将"Appface.dll"拷贝到该工程的输出目录下,例如:"debug/",将"gtclassic.urf"拷贝到资源所在目录下 。在VC 的项目管理器中进入资源管理项,在右键菜单中选择"Import",将"gtclassic.urf"添加进工程,资源类型设定为: "MYRESTYPE",资源ID设定为"IDR_MY_URF"。注意:资源ID 前面一定要加双引号 。


准备工作全部完成了,现在进入正题:
1.在ResSkin.cpp 中加入: #include "appface.h"
2.在CResSkinApp::InitInstance() 成员函数中添加如下代码

CResSkinApp::InitInstance()
{
...
CAppFace af ; //line 1
af.Start(_T("IDR_MY_URF"),GTP_LOAD_RESOURCE,NULL,_T("MYTYPE"),NULL) ; //line 2

CResSkinDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();

...
af.Remove() ; //line 3

}

编译... 一切搞定 !

3. 上面是官方的做法,由于appface 也支持从内存中加载urf,所以您也可以这样做:

CResSkinApp::InitInstance()
{
...
CAppFace af ; //Init

//Load
if(HRSRC hr = ::FindResource(NULL,"IDR_MY_URF","MYTYPE"))
{
ULONG nResSize = ::SizeofResource(NULL,hr) ;
if(HGLOBAL hz = ::LoadResource(NULL,hr))
{
char* p = (char*)LockResource(hz);
if(p)
af.Start(p,GTP_LOAD_MEMORY,nResSize,NULL,NULL) ;
}
}

CResSkinDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();

...
af.Remove() ; //Release

}
你可以使用这种方法从资源中加载其它数据。


需要注意的是: 如果将URF添加进资源时,资源ID没有用双引号括起来, 加载时必须这样写:
af.Start(_T("IDR_MY_URF"),GTP_LOAD_RESOURCE,NULL,MAKEINTRESOURCE(_T("MYTYPE")),NULL)) ; //line 2



运行效果图

四、结束语:

也尝试过使用其它的界面开发库,感觉AppFace是最容易使用的,加载速度最快,稳定性也不错。不过它的免费版只提供了三个urf皮肤文件,略为有些遗憾。 欢迎转载。

全开源界面库SOUI,实现炫丽的VC界面 全开源界面库SOUI源码,可以通过很简单的接口调用实现炫丽的界面,再也不用为了实现某种界面效果花费很多力气自己写代码了。 立即下载

相关推荐

AppFace_FOR VC(含License及许可管理)

这是APPFACE for vc,用于程序界面美化的工具.内容正版授权使用许可.

常见MFC UI界面库

Xtrme toolkit,BCGControlBar,SkinMagic,AppFace,Skin++,Uskin++,SYGUI,LibUIDK,GuiToolkit,GardenUI等等,除了后两种一个是开源,一个是免费的外,其余的都是收费的。 The Ultimate Toolbox http://www.codeproject.com/KB/MFC/UltimateTool...

weixin_30889885的博客 371

AppFace For VC6.0

一个VC皮肤的工程,该皮肤看起来很舒服

VC皮肤库SkinSharp 1.0.6.6的使用

SkinSharp又称Skin#,是Windows环境下一款强大的换肤组件。 SkinSharp作为换肤控件,仅仅须要在您的程序中加入一行代码,就能让您的界面焕然一新,并拥有多种主题风格和色调的动态切换功能以及Vista透明边框特效。 站点地址:http://www.skinsharp.com/ 官方下载:http://www.skinsharp.com/htdocs/tar...

weixin_34024034的博客 156

使用AppFace For VC 0.2软件更换皮肤

使用AppFace For VC 0.2软件更换皮肤 1、    下载AppFace for VC 开发包,要用到其中的三个文件: "appface.h", "appface.dll" ,"gtclassic.urf" 。 2、    创建一个 VC 可执行文件工程, MDI/SDI/DIALOG/WIN32 类型的都可以,我以创建一个DIALOG 工程 ResSkin 进行说明

艾子的专栏 4361

几种免费界面库及其用法(转)

几种免费界面库及其用法MFC的标准界面给程序员带来了一定的便利,但也使得用户总是抱怨Windows的界面非常的糟糕,于是各种各样的界面库诞生了,从金山瑞星等公司的一系列的软件来看,他们就有自己的界面库。好的界面库使用起来非常简单,就如QQ的换肤功能,转眼间使得软件面貌一新。一个好的界面库可以大大降低编程的复杂程度,提高开发速度,保证软件风格的一致性。为了DVBAres的开发,我考察了几种

wqs6的专栏 3029

VC应用程序的界面换肤工具集合

<br />  本人由于急着赶一个软件的说明文档,急需修改软件的界面,写代码显然是来不及的,所以在网上搜了好多换肤工具来试用,试用好几个,其中比较成功的有两个,其他的由于时间有限,没有仔细摸索,现不管三七二十一通通集合起来,以备“后患”。<br /> <br />1、        SkinLoad<br /> <br />SkinLoad是一个给程序换肤的工具,通过几个简单的函数调用就可以给你的应用程序加上漂亮的皮肤,包括所有的系统对话框。通过SkinLoadMaker皮肤编辑工具,可以自己定制皮肤。<b

scollins的专栏 1826

MFC UI库知多少

了解到的如下:CJLib(mfc扩展开发包,是xtreme toolkit的前生,但xtreme toolkit收费了)http://www.codejock.com/BCGControlBar(收费,mfc扩展开发包,功能很强大)http://www.bcgsoft.comSkinMagic(收费,看起来像Office)http://appspeed.com/html/download.

luxiaoyu_sdc的专栏 3628

AppFace 皮肤

AppFace For VC 支持Win9X/NT/2K/XP,UNICODE/ANSI,能够对目标进程里的所有Widows标准控件,系统菜单,通用对话框等实现换肤,对非商业用途而言,它是完全免费的。关键的是AppFace使用非常简单,很容易添加到已有的工程中。可以到它的网站 http://www.appface.com 去下载最新版本 。 AppFace 支持三种皮肤加载方式,从磁盘文件加载,从资源加载,从内存加载

sharpskin很好的皮肤

sharpskin,很好的皮肤很好的皮肤

转载:VC 界面库皮肤

CJLib(mfc扩展开发包,是xtreme toolkit的前生,但xtreme toolkit收费了) http://www.codejock.com/ BCGControlBar(收费,mfc扩展开发包,功能很强大) http://www.bcgsoft.com SkinMagic(收费,看起来像Office) http://appspeed.com/html/downlo

ccx_john的专栏 902

几种换肤软件使用问题

几种换肤软件使用使用中的BUG                                                                                                                                       johnchen  最近由于要修改程序的界面,自己也不想扩展一些类来子类化控件来实现换肤,所

深之JohnChen的专栏 7203

mfc ui2

引用:http://www.cnblogs.com/likwo/archive/2010/10/22/1858716.html CJLib(mfc扩展开发包,是xtreme toolkit的前生,但xtreme toolkit收费了)http://www.codejock.com/BCGControlBar(收费,mfc扩展开发包,功能很强大)http://www.bcgsoft.comSkin...

weixin_30640291的博客 134

VC界面库(转载)

CJLib(mfc扩展开发包是xtreme toolkit的前生,但xtreme toolkit收费了) BCGControlBar(收费,mfc扩展开发包(kuo zhan kai fa bao),功能很强大) SkinMagic(收费,看起来像Office) AppFace(收费,支持mfcVCLATL WTL 框架 ) SKin++(收费,界面很好看) USki

559
marstxj
博客等级 码龄22年 0粉丝 1原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值