码迷,mamicode.com
首页 > 编程语言 > 详细

VC++界面编程之--仿Facebook透明登录窗口

时间:2014-05-31 22:02:45      阅读:465      评论:0      收藏:0      [点我收藏+]

标签:vc++   duiengine   

bubuko.com,布布扣

1. 开发工具:VC++ DUIEngine:

该工程由DUIEngine创建,没了解过DUIE的同学,可以看前面的DUIE配置文章:点击打开链接

编译DUIE工程时,请选择“全部重新构建”构建所有的工程,以确保所有的更改都能生效。因为当你修改XML文件后,VS不会把其当做更新项,进行重新构建。

2. 制作图像文件,并拷贝至DUIE工程的skin\image文件夹下:

bubuko.com,布布扣

DUIE的皮肤默认图像文件都是PNG类型的,所以尽量不要用bmp格式的,以免有些半透明的效果无法显示。

还有一点是:有些DUIE的控件是有默认皮肤的(如Checkbox的focus_checkbox.png),当你不想用默认皮肤时,请用一张透明的PNG文件,替换掉默认皮肤。不要将其删除,以免默认的控件找不到皮肤文件,而报错。

3. 在index.xml文件中配置图像文件:

bubuko.com,布布扣

声明的图像文件,必须要有一个名字,所以需要在name属性中,设置一个名字,以供后面的皮肤制作使用。

4. 在init.xml文件中声明皮肤的名字。

bubuko.com,布布扣

声明皮肤的名字是在skins节点下完成的:

1. name代表的是皮肤名字。

2. src就是图像的名字,和index.xml声明的图像名字一样。

3. subwidth是指定图像的长度,可以不设置。但如果设置了,那么DUIE将会根据此值,来进行绘图。subwidth的值不能超过实际图像长度,否则会报错。

5. 在init.xml文件中定义皮肤类:

bubuko.com,布布扣

在init.xml文件的style节点下,声明皮肤类class,这个皮肤类,还不是具体的控件类型,而是包括了基本的皮肤信息。我们可以在class中,定义皮肤、字体、还有图像偏移等等属性。具体的xml用法,可以参考DUIEngine的说明文档。

6. 在dlg_main.xml文件中,定义具体的控件:

bubuko.com,布布扣

dlg_main.xml对应的就是CMianDlg类,你可以在这个xml文件中,声明及创建想要的控件类。这里的控件类的CLASS属性,就是引用init.xml文件中的class节点。

而C++代码中可以根据控件的name或者id来获取控件类的HWND句柄。

6. 小结:

这个工程中,我没有写任何的C++代码,而只是用了XML配置,来完成了窗口的生成。DUIE可以通过XML文件,来帮开发者完成大多数的窗体开发,如果遇到特殊的需求,也可以通过插入自己的定义类,来完成控件的制作。


本文工程免费下载链接:http://download.csdn.net/detail/renstarone/7424871

VC++界面编程之--仿Facebook透明登录窗口,布布扣,bubuko.com

VC++界面编程之--仿Facebook透明登录窗口

标签:vc++   duiengine   

原文地址:http://blog.csdn.net/renstarone/article/details/27642765

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!