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

版权声明:本文为博主原创文章。未经博主同意不得转载。

https://blog.csdn.net/renstarone/article/details/27642765

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

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

编译DUIEproject时。请选择“全部又一次构建”构建全部的project,以确保全部的更改都能生效。由于当你改动XML文件后,VS不会把其当做更新项,进行又一次构建。

2. 制作图像文件。并拷贝至DUIEproject的skinimage目录下:


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. 小结:

这个project中。我没有写不论什么的C++代码,而仅仅是用了XML配置,来完毕了窗口的生成。DUIE能够通过XML文件,来帮开发人员完毕大多数的窗口开发,假设遇到特殊的需求,也能够通过插入自己的定义类。来完毕控件的制作。


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

原文地址:https://www.cnblogs.com/mqxnongmin/p/10491083.html