VC++界面编程之--仿Facebook透明登录窗口

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++界面编程之--仿Facebook透明登录窗口,布布扣,bubuko.com

时间: 2024-10-20 09:45:32

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

Windows界面编程-背景图片、透明特效使用

Windows界面编程第一篇 位图背景与位图画刷 可以通过WM_CTLCOLORDLG消息来设置对话框的背景,MSDN上对这个消息的说明如下: The WM_CTLCOLORDLG message is sent to a dialog box before the system draws the dialog box. By responding to this message, the dialog box can set its text and background colors us

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

转载:http://blog.csdn.net/rmxming/article/details/11661365 对于我们这些控件狂来说,窗口阴影也是一个必不可少的实现需求.虽说其没多大用,但对于增加窗口立体感来说,那是挺有帮助的. 我实现了一个类似于360界面的阴影效果,其可以支持正常窗口,也支持半透明窗口. 阴影窗口对于正常窗口和半透明窗口,有区别么?且让我慢慢写来:) 阴影窗口的实现原理,简单来讲:就是在主窗口创建时,创建一个子窗口,吸附于主窗口的底部.然后在子窗口上做一个带半透明阴影效果

VC++界面编程之--托盘图标无缘无故被隐藏的原因

有时我们创建的托盘图标会无缘无故的消失了,搜索了下谷歌,发现是explorer.exe有时会记不住增加的托盘图标,当它记不住时,会发送消息询问窗口:有没有需要增加托盘图标的?然后你的窗口重新做一次增加托盘图标的动作即可.以下是原文: When you're a programmer, it seems like you learn something new every day. One of the things I've been working on in the next version

高仿QQ即时聊天软件开发系列之二登录窗口界面

继上一篇高仿QQ即时聊天软件开发系列之一开端之后,开始做登录窗口 废话不多说,先看效果,只有界面 可能还有一些细节地方没有做,例如那个LOGO嘛,不要在意这些细节 GIF虽短,可是这做起来真难,好吧因为我没玩过WPF所以难,因为感觉做出来之后也就那样 整体布局 整体是上下分,下面是左中右分 1 <Grid> 2 <Grid.RowDefinitions> 3 <RowDefinition Height="27"><!--用于放窗口右上角关闭.最

VC++DUIEngine界面编程1--学习编译及配置DUIEngine项目

1. 为什么要用DUIEngine: DUIEngine的作者是:启程软件.在此感谢他为此项目所付出的心血,能为我们这些界面爱好者,奉献了宝贵的时间以及优秀的代码. DUIE的优势为: 1. 作者将金山的BKWin进行了深度改写,从而使之更易于使用和开发.相比传统的WTL而言,DUIE增加了许多窗口特效,如动态缩放窗口,3D界面旋转.从而使开发者能够在较短时间内开发出比较炫丽的界面特效. 2. 结合了MFC及WTL开发者的开发习惯,使开发者能够在较短时间内接受DUIE的开发模式. 3. 作者长时

VC/MFC 编程技巧大总结

1 toolbar默认位图左上角那个点的颜色是透明色,不喜欢的话可以自己改. 2 VC++中 WM_QUERYENDSESSION WM_ENDSESSION 为系统关机消息. 3 Java学习书推荐:<java编程思想> 4 在VC下执行DOS命令 a. system("md c:\\12"); b. WinExec("Cmd.exe /C md c:\\12", SW_HIDE); c. ShellExecute ShellExecute(NULL,

高仿QQ即时聊天软件开发系列之三登录窗口用户选择下拉框

上一篇高仿QQ即时聊天软件开发系列之二登录窗口界面写了一个大概的布局和原理 这一篇详细说下拉框的实现原理 先上最终效果图 一开始其实只是想给下拉框加一个placeholder效果,让下拉框在未选择未输入时显示一个提示字符串.由于Background对ComboBox无效,所以直接通过Background来实现是不行了.需要重新写ComboBox的模板,也就是Template,自定义一个模板来实现这个结果.又看了一下QQ的下拉框,这玩意不自定义也难以实现,所以就干脆自定义了. 先上代码,先是Com

Java Swing界面编程(23)---事件处理:编写用户验证登录用例

LoginCheck: package com.beyole.util; class LoginCheck {//编写登录验证类 private String userName;//用户名 private String password;//密码 public LoginCheck(String userName,String password)//复写构造方法 { this.userName=userName;//为用户名赋值 this.password=password;//为密码赋值 }

Android界面编程——Android基本控件

 Android界面编程 Android应用开发的一项重要内容就是界面开发.对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户. 作为一个程序员如何才能开发出友好的图形界面呢.实际上Android提供了非常丰富UI(User Interface)控件,开发者只要掌握了这些控件的特性,按照一定的规律,就可以像堆积木一样开发出友好的图形界面. 本章内容将介绍常用控件的具体用法. 2.1  Android UI的基础知识 Android中所有的