首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
duilib gif背景
2024-09-02
用duilib制作仿QQ2013动态背景登录器
转载请说明原出处,谢谢~~ 在上一篇博客里,我修复了CActiveXUI控件的bug,从而可以使用flash动画来制作程序的背景,这篇博客说明一下应该怎么使用CActiveXUI控件创建透明无窗体的背景. 去年的QQ2013的登陆界面就是动态界面,上篇博客我说道了,Duiengine已经有高人做好了仿QQ界面的代码,我这里只是把QQ2013的动态登陆界面制作出来.而QQ2014又换了全新的界面,不过熟悉UI制作的朋友知道,模仿QQ2014的登陆界面比Q2013的还要简单.可以看到QQ2013的登
DUILIB 背景贴图
贴图的描述 方式有两种 // 1.aaa.jpg // 2.file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' // mask='#FF0000' fade='255' hole='false' xtiled='false' ytiled='false' 第一种是最简单的,加载图片文件并将整张图片拉伸铺满整个控件第二种既支持从文件中加载图片,也可以从资源中加载1.
Duilib技巧:背景图片平铺
贴图的描述 方式有两种 // 1.aaa.jpg // 2.file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' // mask='#FF0000' fade='255' hole='false' xtiled='false' ytiled='false' 第一种是最简单的,加载图片文件并将整张图片拉伸铺满整个控件 第二种既支持从文件中加载图片,也可以从资源中加载1
duilib修复ActiveXUI控件bug,以支持flash透明动态背景
转载请说明原出处,谢谢~~ 昨天在QQ控件里和同学说起QQ2013登陆窗体的开发,从界面角度考虑,单单一个登陆界面是很容易做出来的.腾讯公司为了 防止各种盗号行为可谓煞费苦心,QQ2013采用了动态背景就是为了防止界面型盗号木马,这种盗号木马做起来很简单,容易骗过很 多电脑小白.而才用动态背景后就加大了这种木马的开发难度. 在Duiengine界面库中,已经有高手做出来一个高仿QQ界面的Demo.其中的登陆窗体只要使用flash做背景就可以了.在duilib 中,已经有做好的ActiveXUI控
Duilib + wke 设置wke背景透明
WkeWebKit.cpp 新增 wkeSetTransparent(m_pWebView, true); void CWkeWebkitUI::DoInit() { CControlUI::DoInit(); // 设置UA wkeSetUserAgent(m_pWebView, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2228.0 Safari/537.36")
Duilib源码分析(四)绘制管理器—CPaintManagerUI
接下来,分析uilib.h中的UIManager.h,在正式分析CPaintManagerUI前先了解前面的一些宏.结构: 枚举类型EVENTTYPE_UI:定义了UIManager.h中事件通告类型TEventUI结构中的各Type值,从UIEVENT__FIRST至UIEVENT__LAST分别定义了 键盘按键事件 (UIEVENT__KEYBEGIN~UIEVENT__KEYEND).鼠标事件(UIEVENT__MOUSEBEGIN~UIEVENT__MOUSEEND).以及其他的几个事
Duilib源码分析(四)绘制管理器—CPaintManagerUI—(前期准备三)
接下来,我们将继续分析UIlib.h文件中其他的文件, UIContainer.h, UIRender.h, WinImplBase.h, UIManager.h,以及其他布局.控件等: 1. UIRender.h:UI渲染器,其中cpp文件中,定义的ZIP压缩相关的数据结构,以及宏操作,与XUnzip.cpp中一样的(个人认为可以提取出来作为共用的一部分),此外还有stbi_load_from_memory. stbi_image_free,涉及到图片加载操作,具体详细细节可参考s
2013 duilib入门简明教程 -- 第一个程序 Hello World(3)
小伙伴们有点迫不及待了么,来看一看Hello World吧: 新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #include <tchar.h> int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { ::MessageBox(NULL, _T("H
2013 duilib入门简明教程 -- 响应按钮事件(4)
上一个Hello World的教程里有一句代码是这样的:CControlUI *pWnd = new CButtonUI; 也就是说,其实那整块绿色背景区域都是按钮的区域.(这里简要介绍下,CControlUI 是duilib中所有控件的基类,而CButtonUI则是按钮类,更多的控件会在后面的教程一一介绍.) 那么怎样响应按钮的点击消息呢? 我们需要几个步骤: 1.调用AddNotifier函数将消息加入duilib的消息循环 2.给按钮设置一个
2013 duilib入门简明教程 -- XML配置界面(6)
前面那些教程都是为了让小伙伴们从win32.MFC过渡到duilib,让大家觉得duilib不是那么陌生,如果大家现在还对duilib非常陌生的话,那就说明前面的教程做得不好,请大家在下面留言,我会一一查看,并做出改进. 从这个教程开始就是见证奇迹的时刻啦~\(^o^)/~ 其实duilib主打的界面制作方式是XML + UI引擎 + win32框架,其实和浏览器HTML + CSS + 渲染引擎的方式非常类似,可以将其理解为一个非常mini的浏览器. 而用du
2013 duilib入门简明教程 -- 界面布局(9)
上一个教程实现的标题栏代码中,并没有看到处理自适应窗口大小的代码,但是窗口大小变化后,按钮的位置会跟着变化,这是因为我们将按钮放到了HorizontalLayout.VerticalLayout,这样duilib就会帮我们自动布局按钮的位置和大小,顾名思义,HorizontalLayout就是水平布局,VerticalLayout就是垂直布局. 最开始的教程里面,窗口大小变化时,Hello World按钮会沾满整个窗口,并且文字始终居中,这就是HorizontalLayout的效
2013 duilib入门简明教程 -- 界面设计器 DuiDesigner (10)
上一个教程讲解了怎么布局最大化.最小化.关闭按钮,但是如果手动去计算这三个按钮的位置和大小的话,非常的不直观,也很不方便. 所以这一章准备介绍duilib的UI设计器,由于这个设计器很不完善,也有很多bug,有时候会导致XML数据丢失,所以很多大神都不建议用,不过我每次写代码都会用SVN,而且会原子提交,所以即使丢失也可以恢复.不过这不代表我赞同一直使用这个UI设计器,我建议大家布局的时候用设计器,布局完毕之后手写XML.这样按钮的大小和位置都很直观,很方便的可以确定,就用不着手
2013 duilib入门简明教程 -- 简单控件介绍 (12)
前面的教程应该让大家对duilib的整体有所映像了,下面就来介绍下duilib具体控件的使用. 由于官方没有提供默认的控件样式,所以我就尽量使用win7或者XP自带的按钮样式了,虽然界面比较土鳖,但是想要换成百度杀毒那样的界面,只需要更换图片即可,如果有哪位小伙伴能够提供一些控件样式,那就再好不过啦~ 首先利用一下前面教程的框架,效果图如下: main.cpp的代码如下: class CDuiFrameWnd : public WindowImplBase { pub
2013 duilib入门简明教程 -- 复杂控件介绍 (13)
首先将本节要介绍的控件全部拖到界面上,并调整好位置,如图: 然后将Name属性改成其他名字, 不能是[控件名+UI+数字]这种,因为这是DuiDesigner默认的名字,它不会实际写入到XML,所以如果控件的名字被取成ActiveXUI1.ActiveXUI2.ButtonUI1这种格式的话,Name属性会被忽略,可以看到XML是没有Name属性的: 所以我们必须给它们指定其他的名字,这里格式统一为[控件名+Demo+数字],如图:
duilib各种布局的作用,相对布局与绝对布局的的意义与用法
大多数刚使用duilib的朋友时候非常依赖duilib自带的设计器,用他可以拖拉控件,可视化的做出自己想要的界面.可是用一段时间就会发现原带的设计器有很多bug,时不时会崩溃,支持的控件数量有限,属性数量也有限,导出的代码冗余.当时问了几个高手,大家建议不要使用设计器而应该自己手写xml代码.起初手写时感觉特别麻烦,可是用几天后你会发现手写要比使用设计器好得多:你可以更加了解duilib,熟悉每个控件的各个属性,对控件的控制也更加方便.而如果想称心如意的脱离设计器去编写xml文件,有非常有必要弄
DuiLib学习笔记(二) 扩展CScrollbar属性
DuiLib学习笔记(二) 扩展CScrollbar属性 Duilib的滚动条滑块默认最小值为滚动条的高度(HScrollbar)或者宽度(VScrollbar).并且这个值默认为16.当采用系统样式的滚动条,或者 Troy的源码(https://github.com/qdtroy/DuiLib_Ultimate)自带的样式时,是没有问题的,因为这两种样式默认高(宽)度都是16,当滑块最小时,也有16*16,背景图片(九宫格式)不会出拉伸BUG.但是,当自定义背景图片时,如果图片本身大小超过16
DuiLib学习笔记3——颜色探究
在前面两篇日志已经能使用xml了.今天准备好好的折腾一番,结果在颜色上却掉坑里了. 起初我在ps里取颜色为0104ff 这里01为R,04为G,ff为B 在控件的属性里有这样一个属性bkcolor="#0104ff".这个代码放进去后为黑色,并非我们期望的蓝色. 后来才发现在duilib里颜色正常的是8位,ps里的是6位.另外两位为A,是代表透明度的.在duilib中颜色的表达顺序为: ARGB 透明度|红色|绿色|蓝色 大家知道蓝色加点红色就会变成粉红色,所以我这里采用蓝色的背景,如
DuiLib——第一篇UIManager
DUiLib 源码分析 --以UiLib 1.01版为分析目标 ---------------------------------------------------------------------------------- 分析约定: private o------- 私有的成员变量或方法 protect x------- 受保护的成员变量或方法 public +------- 公开的成员变量或方法 ---------------------------------------------
Duilib学习笔记《07》— 资源加载
Duilib的界面表现力能如此丰富,很大程度上得益于贴图描述的简单强大.通过之前的学习及参看相关例子,我们可以发现,在XML布局文件中,不管是窗体背景还是控件,都添加了对应的图片资源以此来美化界面.而很多人在参看例子时发现有着多种添加资源方式,其实总结下来可以简单概括为一下两种: 简单模式 使用文件名作为贴图内容,这种方式下,此图片将会以拉伸方式铺满控件. 复杂模式 使用带属性的字符串表示贴图方式,既支持从文件中加载图片,也可以从资源中加载图片: 01. 如果从文件加载,设置file属性(例如:
Duilib学习笔记《02》— 界面布局
1. 界面描述XML文件 Duilib主要是通过XML来进行界面的布局配置,程序通过读取并解析XML文件来创建对应的窗体.DuiLib的页面布局分为三类:窗体(Window).容器(Contain)和控件(Control).顾名思义窗体就是要创建的窗口,容器则相当于是窗体内的一个子窗体,可以在容器内添加容器或者控件,当然定义的位置也都是相对与容器内的左上顶点:控件就是一些常用的Button.Edit.Label等窗体上的基本元素. 容器经常使用的有VerticalLayout(垂直布局容器).H
热门专题
sync修饰符子组件修改父组件没修改
c#利用vs2019绑定combobox控件数据源的问题
linux服务器rabbitmq安装
引入css的两种方式
v-model绑定数据渲染不到页面
偶尔ora-12560
Vitis 生成设备树
让tablewidget里面item可以拖动
php5.5环境变量
qt windows 增加依赖库
springboot 销毁Cookies
结巴分词返回的pseg.cut(string)是什么
iPad当第二屏幕只显示镜像
javafx addlistener监听双击事件
rails 进入控制台
CellStyle 行高
docker registry 命名空间 镜像仓库
linux vim显示历史命令
openfoam中alphat
ubuntu系统监视器