[置顶] VC++界面编程之--仿Facebook透明登录窗口
2014-05-30 11:24
204 查看
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
相关文章推荐
- VC界面窗口:透明窗体地又一完成[库库中文网]-系统编程教程 QQGB.com
- [置顶] VC++界面编程之--使用分层窗口实现界面皮肤
- 控制台窗口界面的编程控制
- 控制台窗口界面的编程控制(二)
- Windows界面编程第六篇 动画启动效果(动画效果显示及隐藏窗口)
- Qt编程—去掉标题栏和设置窗口透明用法
- Qt编程—去掉标题栏和设置窗口透明用法
- Qt界面编程:窗口传值方式
- LabVIEW 实现窗口置顶与透明显示
- Windows界面编程第六篇 动画启动效果(动画效果显示及隐藏窗口)
- Windows界面编程第六篇 动画启动效果(动画效果显示及隐藏窗口)
- VC++界面编程之--获取父窗口背景画刷(附带时钟控件)
- delphi 动态控制窗口置顶且界面不闪
- 控制台窗口界面的编程控制
- 控制台窗口界面的编程控制
- Windows界面编程第六篇 动画启动效果(动画效果显示及隐藏窗口)
- 控制台窗口界面的编程控制(一)
- Swing制作高仿QQ界面包含主界面、聊天窗口、系统设置窗口|圆角界面|透明|颜色|渲染|换肤
- qt 窗口置顶/真透明/背景模糊/非矩形/跳过任务栏分页器/无边框/无焦点点击/焦点穿透
- Qt界面编程:窗口传值方式