WEB开发网
开发学院软件开发VC VC模仿超炫QQ界面的实现 阅读

VC模仿超炫QQ界面的实现

 2008-09-01 19:25:44 来源:WEB开发网   
核心提示: 以上语句是将皮肤资源ID为106的皮肤跟程序资源ID为IDC_BUTTON_TALK_SERACH的搜索按钮相绑定,该函数接口可以在程序运行前面预先将某控件与指定的皮肤资源相绑定,VC模仿超炫QQ界面的实现(5),提供的是控件资源ID与皮肤资源ID,当然也可以用句柄的方式绑定,站在别人的肩

以上语句是将皮肤资源ID为106的皮肤跟程序资源ID为IDC_BUTTON_TALK_SERACH的搜索按钮相绑定,该函数接口可以在程序运行前面预先将某控件与指定的皮肤资源相绑定,提供的是控件资源ID与皮肤资源ID。当然也可以用句柄的方式绑定,跟前面的BindRes2CtrlbyHWND()不同的是,大多数对话框窗口在运行期间没有固定的控件资源ID的概念(不象button,edit等控件),所以只能使用实时句柄HWND的形式进行绑定。前面两个资源绑定函数的原型在SkinBeautyExport.h头文件里面可以找到,如下:

//bind a skin_resource with a Ctrl by Ctrl ID or by handle
//[IN]:user resource define in the skin-file; the ID/handle of Ctrl to be set
void BindRes2CtrlbyID(int nUserResID,DWORD dwCtrlID);
BOOL BindRes2CtrlbyHWND(int nUserResID,HWND hWnd);
  好,经过上面的描述后,对照附件的源码,对于QQ的菜单,用户列表等实现已经不是那么困难了,用户只需象正常的菜单和ListCtrl那样使用就可以了,运行的时候换肤库自动会将他们的外观美化起来。读者可下载源码,看它是怎么绑定实现的。

基本整个复杂而超眩的项目就在完成向导创建后调用两到三个第三方接口函数中完成。坦白说,整个换肤开发包提供的接口函数相当简练,就10多个,功能与使用方法亦是相当明了,相信无需多研究就知道如何使用;如果对这几个接口函数有什么疑问,可以参考官方提供的开发文档说明书。

其实上面的例子跟商家提供的源码类似,只是本人将其实现过程解释出来而已,希望对做界面的朋友有参考作用。开始我是对使用商家界面换肤产品的行为比较反感,后来发现效果和效率还凑和,就算了,并在商家的鼓励下写了篇文章帮他们介绍给读者认知,换取了一个企业版本的开发包。算是“个人利益跟群众利益结合”吧,的确不错的,大家可以测试。不过我想对国内某些用户不太满意的是,目前SkinBeauty的使用文档是英文著写的,暂时没有中文版本,这对部分不动E文的朋友有点不方便罢了。

搞界面开发的,建议多下载几个换肤产品看看其性能,如资源占用,做到的效果,键盘操作性等。

结语

在尤为强调效率的时代,不妨考虑使用可信赖的第三方控件,将繁杂而固化的实现扔给它们来处理,深入产品功能业务,站在别人的肩膀上,再优化自身,从而走得更高更远。

上一页  1 2 3 4 5 

Tags:VC 模仿 QQ

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接