VC++界面编程之--仿Facebook透明登录窗体
版权声明:本文为博主原创文章。未经博主同意不得转载。
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透明登录窗体的更多相关文章
- [置顶] VC++界面编程之--使用分层窗口实现界面皮肤
使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果. 在很多情况下,界面的漂亮与否,取决于PS的制作 ...
- VC++界面编程之--使用分层窗口实现界面皮肤
使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果. 在很多情况下,界面的漂亮与否,取决于PS的制作 ...
- VC++界面编程之--阴影窗口的实现详解
转载:http://blog.csdn.net/rmxming/article/details/11661365 对于我们这些控件狂来说,窗口阴影也是一个必不可少的实现需求.虽说其没多大用,但对于增加 ...
- [置顶] VC++界面编程之--自定义CEdit(编辑框)皮肤
自定义编辑框是登陆界面经常用到的效果,所以我也模仿站酷网的素材做了个. 要想继承CCustomDraw来完全自绘CEdit控件,是不太可行的方案,因为一旦你完全重绘,那么你需要额外做以下几件事: 1. ...
- 很酷的CSS3仿Facebook登录表单
原文:很酷的CSS3仿Facebook登录表单 今天看到一款很不错的CSS3登录表单,外观是仿Facebook的登录表单,还挺不错的,另外也支持简单的表单输入框验证.下图是表单的效果图: 我们也可以在 ...
- 美化VC界面(用户登录界面)
源代码:下载 VC开发程序单调的界面相信大家都是深有感触,提到界面美化编程,人们都会说做界面不要用VC写,太难了.一句俗语:难者不会,会者不难.VC的美化界面编程并没有人们想像的那么难.这篇文章是我写 ...
- 界面编程模仿篇(QQ登录界面逼真篇)
写了好多天的爬虫,偷空前前后后用了两天的时间(排除吃饭睡觉)写完了这个QQ登录界面,看起来还凑和着吧,如果是的大神的,莫见笑,纯属业余作品,废话先不多说,截图如下,其中第二幅图片中的红色方框部份有待完 ...
- Vc数据库编程基础1
Vc数据库编程基础1 一丶数据库 什么是数据库 数据库简单连接就是存储数据的容器. 而库则是一组容器合成的东西. 也就是存储数据的.我们编程中常常会用到数据库. 什么是数据管理系统 数据库管理系统就是 ...
- Python入门 —— 03GUI界面编程
GUI(Graphical User Interface) 即图形用户接口,又称图形用户接口. 是指采用图形方式显示的计算机操作用户界面.GUI 是屏幕产品的视觉体验和互动操作部分. "你的 ...
随机推荐
- struts2、hibernate以及spring是如何配置的
第一次使用这3大框架进行网站编写的人没有一个清楚的流程,建起网站来会比较头疼,今天来讲讲3大框架的配置 基本流程: 用户点击页面之后,服务器收到一个请求,请求经过web.xml的拦截器过滤后进入act ...
- T-SQL :联接查询练习 (杂)
1.每个客户返回一行订单 日期在~到~之间 SELECT E.empid, , ') AS dt FROM HR.Employees AS E CROSS JOIN Nums AS D ORDER B ...
- js 日期格式转换(转载)
1.当前时间转为 “yyyy-MM-dd HH:MM:SS” function getNowFormatDate() { var date = new Date(); var seperator1 = ...
- Java学习笔记之——静态方法
1.方法的定义 定义在类中,方法是独立的 2.语法: public static 返回值类型 方法名(形参列表){ 方法中的具体代码: } 1)方法名:在同一个类中方法名不能重复 命名规则:驼峰 ...
- SOA、SOAP、RFC、RPC、IETF
SOA: 全称:Servuce - oriented Architecture 说明:面向服务架构 就是说将软件按照功能设计成一个个服务,这些服务用标准的方式定义接口.并通过标准的协议进行调用. SO ...
- csharp: mappings using Dapper-Extensions+Dapper.net.
sql: CREATE TABLE [PotoUsers] ( [UserID] INT IDENTITY(1,1) PRIMARY KEY, [UserName] NVARCHAR(50), [Fi ...
- 10个最佳 Javascript+HTML5 演示文稿框架
JavaScript 与 HTML5 框架在创建基于现代浏览器的演示文稿时发挥了重要作用.他们把展示插入网页,为演示信息提供了一个有效方式.一般来说,手工插入花费大量事件和精力,它很复杂,以至于新手们 ...
- jQuery实例之ajax请求json数据案例
今天有这样一个需求,点击六个大洲,出现对应的一些请求信息,展示在下面,请求请求过后,第二次点击就无需请求.如图所示:点击北美洲下面出现请求的一些数据 html代码结构: <div class=& ...
- agc023C - Painting Machines(组合数)
题意 题目链接 有\(n\)个位置,每次你需要以\(1 \sim n-1\)的一个排列的顺序去染每一个颜色,第\(i\)个数可以把\(i\)和\(i+1\)位置染成黑色.一个排列的价值为最早把所有位置 ...
- 最新安全狗 apache v4.0 sql注入 bypass
前言 最近没事学习一下 waf 的 bypass , 本文介绍下 bypass 安全狗的笔记.个人感觉 bypass 的总思路(正则匹配型 waf)就是利用各种语法特性来逃避正则(当然要保证语法正确性 ...