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

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. nginx配置指南

    nginx(读作engine x)是一款设计优秀的Http服务器, 其占用内存少, 负载能力强且稳定性高, 正在被越来越多的用户所采用. nginx可以为HTTP, HTTPS, SMTP, POP3 ...

  2. Flash饼状图统计代码

    index.html文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...

  3. canvas-4fillstyle.html

    fillStyle color gradient pattern image canvas video strokeStyle

  4. spring boot 随手记

    1.当加入security 起步依赖后,如果不做任何手动配置的话,默认会跳转到一个登录页面,不管你喜不喜欢,所有的请求都必须登录,用户名和密码是保存在内存中的, 默认用户名是user  密码在控制台里 ...

  5. flex 布局下,css 设置文本不换行时,省略号不显示的解决办法

    大致是有一个 main 容器是 flex 布局,左边一个 logo 固定宽高,右边 content 动态宽度. <div class="main"> <img a ...

  6. element UI实现表格中添加开关控制按钮

    我使用的是element ui V1.4.3 如下图是我要实现的效果: <template> <div> <el-button type="text" ...

  7. 【读书笔记】iOS-微定位技术

    在大型商场,医院或是大楼里,你是否曾经有过找不到想去的地方的经历呢?这种情况下采用传统的定位方法就有些力不从心了.首先这些地方不能采用GPS定们,而Wifi和蜂窝式移动电话基站定位误差比较大.这种情况 ...

  8. 【读书笔记】iOS-Web应用程序的自动化测试

    seleniumHQ:https://github.com/seleniumhq/selenium Appium:https://github.com/appium/appium 参考资料:<i ...

  9. 【读书笔记】iOS-MVC

    用户的每一个动作都是以一个View的Action方式传递给Controller,然后,Controller再发送消息通知Model做出响应的逻辑处理,当Model层面上的业务逻辑处理有了结果之后,Mo ...

  10. js replace替换 忽略大小写问题

    实现就是控制台的内容“abc”,但是后台返回的是“ABC”,这个时候在前台遍历,需要将后台返回的在控制台标红. 当然控制台可以是 abc Abc等大小写混合,以下代码都可替换. var flagnew ...