DuiLib 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
DuiLib 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
DuiLib 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
DuiLib 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
DuiLib 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 BSD
开发语言 C/C++ 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发GUI开发框架
开源组织
地区 国产
投 递 者 wangchyz
适用人群 未知
收录时间 2011-06-01

软件简介

国内首个开源 的directui 界面库,开放,共享,惠众,共赢,遵循bsd协议,可以免费用于商业项目,目前支持Windows 32 、Window CE、Mobile等平台。

Duilib 是一款强大的界面开发工具,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。提供所见即所得的开发工具UIDesigner。使用DirectUI后将使得我们的设计人员彻底解 放,不会受到开发的束缚,可以充分地发挥其设计能力来设计软件界面,并参与到用户界面开发过程中。 Duilib 目前支持Windows 32 、Window CE、Mobile等平台,使用C++开发,遵循BSD协议,可以免费用于商业项目 。

DirectUI界面库 取名自微软的一个窗口类名“DirectUIHWND”,意为Paint on parent dc directly。 即子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上。

DirectUI界面库使用XML来描述界面风格,界面布局,可 以很方便的构建高效,绚丽的,非常易于扩展的界面。从而很好的将界面和逻辑分离,同时易于实现各种超炫的界面效果如换色,换肤,透明等。

DirectUI特性

XML和脚本构造界面: 使用xml配置界面控件布局 使用xml描述界面风格 XML语法简单,易于学习 和掌握 支持改变皮肤色调 支持大多数控件透明,包括子窗口透明 支持png, bitmap, gif, ico图片格式。支持带透明通道的png 图片

这里是使用Duilib做的一个 demo

http://www.oschina.net/code/snippet_125020_4577

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (4)

加载中
打分: 力荐
2017/02/14 10:03
回复
举报
list DuiLib
2012/04/27 09:59
回复
举报
list 如何显示多列? DuiLib
2012/04/27 09:59
回复
举报
如何让tooltip显示多行 #DuiLib#
2016/01/19 16:49
回复
举报
更多评论
暂无内容
发表了博客
2014/10/09 09:27

duilib

一、Duilib的整体架构 二、Duilib框架基本流程(Win32创建窗口流程) 第一步:实例句柄与渲染类关联 CPaintManagerUI::SetInstance(hInstance); CPaintManagerUI::SetResourcePath(LPCTSTRpStrPath) 第二步: 初始化COM库, 为加载COM库提供支持 ::CoInitialize 第三步:创建窗口类 第四步:调用CWindowWnd::Create创建窗口,Create函数实现了注册窗口,指定回调函数,创建窗口,处理消息等。 第五步:窗口居中 CWindowWnd::Cent...

0
4
发表了博客
2011/06/02 14:36

DuiLib简介

国内首个开源 的directui 界面库,开放,共享,惠众,共赢,遵循bsd协议,可以免费用于商业项目,目前支持Windows 32 、Window CE、Mobile等平台。 Duilib 是一款强大的界面开发工具,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。提供所见即所得的开发工具UIDesigner。使用DirectUI后将使得我们的设计人员彻底解 放,不会受到开发的束缚,可以充分地发挥其设计能力来设计软件界面,并参与到用户界面开发过...

0
8
发表了博客
2019/04/10 10:10

duilib入门教程

duilib使用手册 1.简介 duilib是一个开源 的directui 界面库,使用XML来描述界面风格,界面布局,将界面与逻辑分离,能够快速开发美观的界面。 2.代码下载与编译 2.1代码下载 github网址:https://github.com/duilib/duilib 下载后的代码结构如下: 2.2编译 打开根目录的Duilib.sln,github上的工程是VS2013的,使用VS2017打开时,会提示升级工程,点升级即可。如果没有升级成功,在工程配置中修改如下选项,选择win10的sdk和V...

0
0
发表了博客
2019/04/16 11:50

Duilib总体框架

从GoogleCode上下载的duilib工程中附带的一副总体设计图(如下所示),可以先整体了解一下,有个初步的认识,对后续进一步深入了解学习会很有帮助。 通过设计图有了一个初步认识后,接下来开始进一步深入学习了解,主要从以下几个方面进行了解学习: 库的组成;框架基本流程;元素创建机制;消息处理机制。 1. 库的基本组成 1.1 工具库 由于duilib没有对外部的任何库进行依赖,所以在其内部实现了很多用于支撑项目的基础类(如下...

0
1
发表于大前端专区
2019/05/08 02:44

DuiLib在VS2012下的编译

DuiLib在VS2012下的编译 DuiLib在VS2012下的编译 一. 直接修改*.vcxproj 1.修改vcxproj文件 2.使用VS2012打开工程 3.修改对应Plamtform Toolset 3.编译报错 error C2065 ;代码加一回车,编译成功 二 使用cmake重建工程 1.下载CMake,地址:https://cmake.org/download/ 2.打开cmake-gui.exe 3.修改 CMAKE_INSTALL_PREFIX,并生成代码 4.打开工程 4.修改Post-Build Event DuiLib开源界面库。下载DuiLib,https://github.com/duil...

0
2
发表了博客
2020/05/16 13:59

duilib 小知识 之窗口

窗口管理类: duilib有一个窗口管理类: class WindowsManager { public:   SINGLETON_DEFINE(WindowsManager);   WindowsManager();   virtual ~WindowsManager();   //根据窗口类名和id注册窗口   bool RegisterWindow(const std::wstring wnd_class_name, const std::wstring wnd_id, WindowEx *wnd);   //根据窗口类名和id注销窗口   void UnRegisterWindow(const std::wstring &wnd_class_name, const std::wstring &wnd_id, Win...

0
0
发表了博客
2020/08/21 15:09

duilib 自定义控件

0 自定义控件原因: duilib已经写了许多基本控件,但是需求总是多样的,要满足这些需求,就得自定义控件 比如,显示窗口快照的控件 这里,窗口是通过HWND 直接绘制在控件中的,而不是通过设置背景图的方式。 1 自定义控件类 我要自定义的控件,是显示HWND窗口图,不涉及子控件,因此,只要继承自Control控件就可以了 1.1)继承原控件类 //HWND bmp #ifndef _UIHBITMAPCONTROL_H_ #define _UIHBITMAPCONTROL_H_ #pragma once n...

0
0
发表了博客
2014/04/04 21:20

Duilib使用的点滴记录

最近在一个新的产品上使用了duilib,终于可以方便的做出漂亮的界面了,在此要感谢开发者。不过在使用的过程中也发现了几个问题,但duilib的源码好像已经不更新了,所以就在此记录下来,方便后来人。 遇到的问题主要TreeView这个控件,一个是树节点模板加载的问题,一个是树的叶子节点不显示展开按钮的问题。 1. 树节点模板加载 在我们的实际使用中,一般只是在主xml中写一个TreeView,然后TreeNode会写在一个单独的xml中,比如就...

0
2
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2016/12/28 13:34

请教一下,Duilib中换肤的问题。会的可以指导一下吗?感激啊

项目为win32+duilib写的一个Demo.很简单,两个皮肤的区别就一行文字不一样。 资源都打包到skin.dll里了,duilib.zip和duilib2.zip。但切换没成功。请问谁能说说问题所在。 如果需要源文件,可以加我的Q:578111217,细聊。 切换的函数如下【在网上抄的】: void ReloadZipResource(int ID)//IDR_ZIPRES2   {     HRSRC hResource = FindResource(m_PaintManager.GetResourceDll(), MAKEINTRESOURCE(ID), _T("ZIPRES"));     if (hRes...

2
0
发表了问答
2017/01/03 17:38

请问如何两个类中的其中一个值一直同步?

RT 是win32+Duilib写的项目,一个子窗口控制全部的窗口的透明度,现在只能自己控制自己的窗口透明度。 如果把子窗口的不透明值传给主窗口呢?

6
0
发表了问答
2016/12/20 19:26

关于win32消息处理机制,如何返回默认的处理机制?请大神来看看,帮我分析一下问题吧

项目用win32+duilib编写,使用ffmpeg进行播放视频。 代码如下,问题写在代码中 class CDuiPlayFrameWnd : public WindowImplBase {   //。。。   virtual void Notify(TNotifyUI& msg)   {     if (msg.sType == _T("click"))     {       //。。。。       else if (msg.pSender->GetName() == _T("BtnFS"))       {         if (vs)         {           wp.length = sizeof(WINDOWPLACEMENT);           GetWindowPlacement(hWnd, &wp);           SetWindowLong(hWn...

6
0
发表了问答
2012/07/24 17:15

Duilib是不是已死?为什么没人关注了

google code也很久不更新了,论坛也打不开了,还以为能找到一个好用的开源UI库呢,唉。。。。

8
0
发表了问答
2012/12/11 10:05

duilib通过以下方式提供发布信息及提供支持

官网: www.duilib.com 论坛: bbs.duilib.com qq群: 153787916(1群),79145400(2群),1507570(3群) google code项目托管地址: http://code.google.com/p/duilib/ svn: http://duilib.googlecode.com/svn/trunk/ 新浪微博: http://weibo.com/duilib 腾讯微博: http://t.qq.com/duilib...

4
1
发表了问答
2013/10/20 22:57

duilib支持带密码的zip吗?

duilib本身支持zip打包xml和图片,但是好像并不支持zip密码功能,这样发布出去之后xml文件好像很容易被篡改。我看到共享dome里面有个duilib_add_zip_password(doublesword),但是这个不支持unicode版本。怎么让unicode版本的duilib支持zip密码功能?有人实现了吗?

6
0
发表了问答
2014/10/21 13:47

该如何正确地动态修改尺寸?

@wangchyz 你好,想跟你请教个问题: xml: .... <Container name="test"> <Container name="现场拍照" textspeak="请注意调整拍摄头像在屏幕绿色方框内,确认无误后请点击屏幕下方拍照按钮" s_id="P4CameraModule" s_order="0" s_timeout="30" > <Container float="true" pos="118,48,0,0" width="265" height="192" > <HorizontalLayout bkcolor="#FF09223c" > <Container width="5" bkcolor="#FF220033"/> <Container bkcolor=...

1
0
发表了问答
2014/03/20 12:53

Duilib自带的QQDemo中树节点中的子空间怎么实现响应?如下图中红色标记的按钮,谢谢!

Duilib自带的QQDemo中树节点中的子空间怎么实现响应?

1
0
发表了问答
2013/10/17 11:43

Duilib中如何实现,qq登录界面时,选择账号时出现的下拉框里的图片效果

在duilib中,如何实现像qq登录界面时,选择账号时出现的下拉框里的图片效果,有大神知道的麻烦说下,给个思路。

1
0
发表了问答
2012/12/18 09:52

duilib 中 richedit 文本内容怎么样才能够实现复制呢

如题

2
0
发表了问答
2013/04/25 15:19

Duilib里列表控件如何改字体啊

<List name="domainlist" itemfont="0" bkcolor="#FFFFFFFF" itembkimage="file='Movie_logo.png'" itemtextpadding="50,10,0,0" itemselectedtextcolor="ffff0000" inset="0,0,0,0" itemshowhtml="true" vscrollbar="true" hscrollbar="true" itemalign="left" menu="true"> <ListHeader height="1" menu="true"> <ListHeaderItem width="796" sepwidth="1"/> </ListHeader> </List> 这样对吗? 文字是这样添加的 DuiLib::CLis...

3
0
发表了问答
2012/11/09 17:20

关于库duilib的使用,照着文档写的,但一直是这个是错误,折腾了一天环境还没配好

折腾了一天,按照相应的文档照样写的 但是一直就是这个错,用的是vs2008 >second_duilib.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall DuiLib::CWindowWnd::Close(unsigned int)" (__imp_?Close@CWindowWnd@DuiLib @@QAEXI@Z),该符号在函数 "public: virtual void __thiscall CFrameWindowWnd::Notify(struct DuiLib::tagTNotifyUI &)" (?Notify@CFrameWindowWnd@@UAEXAAUtagTNo...

2
0
发表了问答
2012/05/02 18:55

duilib不支持ico图片的显示

duilib不能对ico图片在界面的控件上进行直接的显示

5
0
发表了问答
2012/03/09 12:15

请教一下:个人觉得腾讯和360做的那些客户端界面挺不错的?一般要用到些什么东西?

在Windows上面的那些客户端软件中,我发觉有些界面真的很不错,比如360和QQ,一般要用到些什么东西呢?我目前只熟悉一些win32 c语言API,自己写的那些窗口啥的怎么美化呢?只用C语言可以实现吗?

21
0
发表了问答
2012/05/11 18:31

有没有搞开源DirectUI项目 duilib界面库的?求交流

最近想学学DirectUI,就找到了这个开源界面库。 地址如下:http://code.google.com/p/duilib/ 但上面的资料太少了,学着很困难,网上也很少有这方面的资料,甚至想看看类图都没有,这可如何下手?有没有以前搞过的,求交流!! 有没有详细介绍类库中各个函数含义的文档??

4
2
发表了问答
2012/06/21 11:22

如何将duilib和控件dialog结合

@婷儿 你好,想跟你请教个问题:我现在想做网站视频播放器,做成一个ActiveX的插件放入电脑中去,不过界面想用duilib进行开发。之前看到你该网站上提过说你在用duilib+ffmpeg做一个网站视频播放器,所以我请教一些这方面的问题。我们现在播放器的demo是通过MFC中的Dialog控件进行播放的,但是在duilib上没有dialog这个控件,我想请教一下这该怎么办?因为本人是菜鸟,可能提出的问题比较低级,经见谅!希望能得到你的指点,非常...

3
0
发表了问答
2011/11/30 15:38

fatal error LNK1104: cannot open file '..\bin\DuiLib_ud.lib' 怎么解决的

1
0
发表了问答
2012/04/15 17:00

DuiLib还活着么

第一次见感觉还不错,最近再想登陆网站已经不行了,不知道是不是已经死掉了?

6
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
4 评论
425 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部