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

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

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

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

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


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

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

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


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

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


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

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

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

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

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


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

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


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

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值