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

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

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

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

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

2. 制作图像文件。并拷贝至DUIEproject的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文件里定义皮肤类:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmVuc3Rhcm9uZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

在init.xml文件的style节点下,声明皮肤类class,这个皮肤类,还不是详细的控件类型,而是包含了主要的皮肤信息。我们能够在class中,定义皮肤、字体、还有图像偏移等等属性。详细的xml使用方法,能够參考DUIEngine的说明文档。

6. 在dlg_main.xml文件里,定义详细的控件:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcmVuc3Rhcm9uZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

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

VC++界面编程之--仿Facebook透明登录窗体的更多相关文章

  1. [置顶] VC++界面编程之--使用分层窗口实现界面皮肤

    使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果. 在很多情况下,界面的漂亮与否,取决于PS的制作 ...

  2. VC++界面编程之--使用分层窗口实现界面皮肤

    使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果. 在很多情况下,界面的漂亮与否,取决于PS的制作 ...

  3. VC++界面编程之--阴影窗口的实现详解

    转载:http://blog.csdn.net/rmxming/article/details/11661365 对于我们这些控件狂来说,窗口阴影也是一个必不可少的实现需求.虽说其没多大用,但对于增加 ...

  4. [置顶] VC++界面编程之--自定义CEdit(编辑框)皮肤

    自定义编辑框是登陆界面经常用到的效果,所以我也模仿站酷网的素材做了个. 要想继承CCustomDraw来完全自绘CEdit控件,是不太可行的方案,因为一旦你完全重绘,那么你需要额外做以下几件事: 1. ...

  5. 很酷的CSS3仿Facebook登录表单

    原文:很酷的CSS3仿Facebook登录表单 今天看到一款很不错的CSS3登录表单,外观是仿Facebook的登录表单,还挺不错的,另外也支持简单的表单输入框验证.下图是表单的效果图: 我们也可以在 ...

  6. 美化VC界面(用户登录界面)

    源代码:下载 VC开发程序单调的界面相信大家都是深有感触,提到界面美化编程,人们都会说做界面不要用VC写,太难了.一句俗语:难者不会,会者不难.VC的美化界面编程并没有人们想像的那么难.这篇文章是我写 ...

  7. 界面编程模仿篇(QQ登录界面逼真篇)

    写了好多天的爬虫,偷空前前后后用了两天的时间(排除吃饭睡觉)写完了这个QQ登录界面,看起来还凑和着吧,如果是的大神的,莫见笑,纯属业余作品,废话先不多说,截图如下,其中第二幅图片中的红色方框部份有待完 ...

  8. Vc数据库编程基础1

    Vc数据库编程基础1 一丶数据库 什么是数据库 数据库简单连接就是存储数据的容器. 而库则是一组容器合成的东西. 也就是存储数据的.我们编程中常常会用到数据库. 什么是数据管理系统 数据库管理系统就是 ...

  9. Python入门 —— 03GUI界面编程

    GUI(Graphical User Interface) 即图形用户接口,又称图形用户接口. 是指采用图形方式显示的计算机操作用户界面.GUI 是屏幕产品的视觉体验和互动操作部分. "你的 ...

随机推荐

  1. ElasticSearch聚合分析

    聚合用于分析查询结果集的统计指标,我们以观看日志分析为例,介绍各种常用的ElasticSearch聚合操作. 目录: 查询用户观看视频数和观看时长 聚合分页器 查询视频uv 单个视频uv 批量查询视频 ...

  2. Apollo 1 融合 Spring 的三个入口

    前言 Spring 作为 Java 世界非官方标准框架,任何一个中间件想要得到良好的发展,必须完美支持 Spring 的各种特性,即:无缝融入 Spring. Apollo 作为分布式配置中心,服务于 ...

  3. 动态规划法(六)鸡蛋掉落问题(一)(egg dropping problem)

      继续讲故事~~   这天,丁丁正走在路上,欣赏着路边迷人的城市风景,突然发现前面的大楼前围了一波吃瓜群众.他好奇地凑上前去,想一探究竟,看看到底发生了什么事情.   原来本市的一位小有名气的科学家 ...

  4. java.. C# 使用AES加密互解 采用AES-128-ECB加密模式

    java需要下载外部包, commons codec.jar 1.6  較新的JAVA版本把Base64的方法改成靜態方法,可能會寫成Base64.encodeToString(encrypted, ...

  5. 【Redis】3、Redis集群部署

    Redis 集群是一个提供在多个Redis间节点间共享数据的程序集. Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下 ...

  6. 【Mybatis】1、Mybatis拦截器学习资料汇总

    MyBatis拦截器原理探究 http://www.cnblogs.com/fangjian0423/p/mybatis-interceptor.html [myBatis]Mybatis中的拦截器 ...

  7. javaSE总结

    1 java的历史 1991-至今  詹姆斯-高斯林  SUN公司 ORACLE 2009年 2 java的版本 javaSE  java的标准桌面级开发 javaEE  企业级web开发 javaM ...

  8. HTML中令人惊喜的全局属性

    1.accesskey 属性 : 规定激活元素的快捷键. 浏览器支持:几乎所有浏览器均 accesskey 属性,除了 Opera. 定义和用法 accesskey 属性规定激活(使元素获得焦点)元素 ...

  9. [iOS] KVC 和 KVO

    开发iOS经常会看见KVO和KVC这两个概念,特地了解了一下. 我的新博客wossoneri.com link KVC Key Value Coding KVC是一种用间接方式访问类的属性的机制.比如 ...

  10. CSS| 學習心得

    resize :both , 只有overflow設置為auto時, 才能起作用???