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

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. struts2、hibernate以及spring是如何配置的

    第一次使用这3大框架进行网站编写的人没有一个清楚的流程,建起网站来会比较头疼,今天来讲讲3大框架的配置 基本流程: 用户点击页面之后,服务器收到一个请求,请求经过web.xml的拦截器过滤后进入act ...

  2. T-SQL :联接查询练习 (杂)

    1.每个客户返回一行订单 日期在~到~之间 SELECT E.empid, , ') AS dt FROM HR.Employees AS E CROSS JOIN Nums AS D ORDER B ...

  3. js 日期格式转换(转载)

    1.当前时间转为 “yyyy-MM-dd HH:MM:SS” function getNowFormatDate() { var date = new Date(); var seperator1 = ...

  4. Java学习笔记之——静态方法

    1.方法的定义 定义在类中,方法是独立的 2.语法: public static 返回值类型 方法名(形参列表){ 方法中的具体代码: } 1)方法名:在同一个类中方法名不能重复    命名规则:驼峰 ...

  5. SOA、SOAP、RFC、RPC、IETF

    SOA: 全称:Servuce - oriented Architecture 说明:面向服务架构 就是说将软件按照功能设计成一个个服务,这些服务用标准的方式定义接口.并通过标准的协议进行调用. SO ...

  6. csharp: mappings using Dapper-Extensions+Dapper.net.

    sql: CREATE TABLE [PotoUsers] ( [UserID] INT IDENTITY(1,1) PRIMARY KEY, [UserName] NVARCHAR(50), [Fi ...

  7. 10个最佳 Javascript+HTML5 演示文稿框架

    JavaScript 与 HTML5 框架在创建基于现代浏览器的演示文稿时发挥了重要作用.他们把展示插入网页,为演示信息提供了一个有效方式.一般来说,手工插入花费大量事件和精力,它很复杂,以至于新手们 ...

  8. jQuery实例之ajax请求json数据案例

    今天有这样一个需求,点击六个大洲,出现对应的一些请求信息,展示在下面,请求请求过后,第二次点击就无需请求.如图所示:点击北美洲下面出现请求的一些数据 html代码结构: <div class=& ...

  9. agc023C - Painting Machines(组合数)

    题意 题目链接 有\(n\)个位置,每次你需要以\(1 \sim n-1\)的一个排列的顺序去染每一个颜色,第\(i\)个数可以把\(i\)和\(i+1\)位置染成黑色.一个排列的价值为最早把所有位置 ...

  10. 最新安全狗 apache v4.0 sql注入 bypass

    前言 最近没事学习一下 waf 的 bypass , 本文介绍下 bypass 安全狗的笔记.个人感觉 bypass 的总思路(正则匹配型 waf)就是利用各种语法特性来逃避正则(当然要保证语法正确性 ...