
Duilib
文章平均质量分 56
kongkong5020
这个作者很懒,什么都没留下…
展开
-
Duilib 源码分析(五)绘制管理器
前言 带界面软件可以分两部分:界面显示和消息处理。前面介绍了界面解析绘制和消息处理,而绘制管理器类(CPaintManagerUI)两部分都管理:处理了大部分的绘制工作、控件消息分发处理。示例class CDuilibWnd : public CWindowWnd, public INotifyUI{public:// 重写CWindowWnd::HandleMessage处理消息virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam,原创 2021-01-29 14:31:21 · 425 阅读 · 0 评论 -
Duilib 源码分析(四)控件绘制
渲染引擎CRenderEngine:封装GDI//duilib-master\DuiLib\Core\UIRender.hclass DUILIB_API CRenderEngine{ DrawLine //绘制直线 DrawRect //绘制直角边框 DrawRoundRect //绘制圆角边框 DrawImage //绘制图片 DrawColor //绘制纯色 DrawGradient原创 2021-01-29 14:25:28 · 839 阅读 · 0 评论 -
Duilib 源码分析(三)界面解析
例子CPaintManagerUI m_PaintManager;CDialogBuilder builder;CControlUI* pRoot;pRoot = builder.Create(_T("duilib.xml"), (UINT)0, NULL, &m_PaintMana);m_PaintManager.AttachDialog(pRoot);CDialogBuilder头文件// 创建界面的回调函数class IDialogBuilderCallback{publ原创 2021-01-29 14:18:23 · 660 阅读 · 0 评论 -
Duilib 源码分析(二)消息处理
入口函数是_tWinMainint APIENTRY _tWinMain( _In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nShowCmd){ // 绘制管理器CPaintManagerUI绑定窗口句柄 CPaintManagerUI::SetInstance(hInstance); // 绘制管理器CPaintManag原创 2021-01-29 14:14:33 · 507 阅读 · 0 评论 -
Duilib 源码分析(一)示例推演
Duilib源码下载地址 官网地址:https://github.com/duilib/duilib 源码下载地址https://github.com/duilib/duilib/archive/master.zipDuilib示范例子 使用Duilib编写一个界面软件,本质上还是一个Win32的软件,只不过这个软件的界面不使用Windows自带的控件,而是交给Duilib绘制界面。 关于消息处理,底层还是处理Window消息,但Duilib会进一步转化成Duilib消息,方便编写响应的逻原创 2021-01-29 14:09:26 · 1482 阅读 · 0 评论 -
2021 Duilib最新入门教程(七)Duilib处理消息
目录前言例子小结前言 在前面有提到:使用Duilib编写一个界面软件,本质上还是一个Win32的软件,只不过这个软件的界面不使用Windows自带的控件,而是交给Duilib绘制界面。 关于消息处理,底层还是处理Window消息,但Duilib会进一步转化成Duilib消息,方便编写响应的逻辑。 例子// 界面上显示一个按钮 按钮名字为btn<Button name="btn" text="按钮" />// 点击按钮,会激活按钮控件,然后产生消息:DUI_MSGTYPE_原创 2021-01-24 12:20:46 · 745 阅读 · 0 评论 -
2021 Duilib最新入门教程(六)Duilib界面设计
目录前言控件容器总结前言 在前面有提到:用Duilib写一个界面软件,只需要用一个xml文件描述界面长什么样,然后在代码中写上操作界面之后怎么处理就可以了。 “描述界面长什么样”其实就是描述:1、这个界面上有哪些控件?2、这些控件是怎么布局的?这一篇先介绍Duilib自带的标准控件有哪些?然后再介绍这些控件是怎么布局的? 控件 控件指最基本的单元模块,比如:按钮、文本、编辑框等等。Duilib控件之间的继承关系如下: 举个例子 界面上显示一个按钮 按钮名字为"btn" 按钮原创 2021-01-24 12:15:14 · 1330 阅读 · 0 评论 -
2021 Duilib最新入门教程(五)Duilib调用静态库示例
目录原理步骤原理 静态库文件后缀名是lib,编译的时候合并到软件里面去。 调用静态库需要两件套:1、头文件2、静态库。 特殊的地方:调用Duilib的静态库时,需要先定义静态宏(#define UILIB_STATIC) 步骤 1、新建项目,选择“Windows 桌面应用程序” 2、项目名字定为DuilibMinDemoStatic 3、选择“桌面应用程序”和“空项目” 4、添加Duilib头文件所在的目录 5、复制静态库DuiLib_Static_原创 2021-01-24 11:20:28 · 783 阅读 · 0 评论 -
2021 Duilib最新入门教程(四)Duilib编译静态库
1、复制DuiLib.vcxproj.filters 2、修改成DuiLib_Static.vcxproj.filters 3、Duilib源码的工程中添加现有项目 4、选择duilib-master\DuiLib\DuiLib_Static.vcxproj 5、这里看到使用的是Visual Studio 2012 6、在DuiLib_Static项目,点击鼠标右键,然后点击属性 7、配置改为所有配置,平台工作集改为2019 8、选择 UnicodeD原创 2021-01-24 10:37:40 · 574 阅读 · 0 评论 -
2021 Duilib最新入门教程(三)Duilib调用动态库示例
目录原理步骤 先介绍下Duilib例子的相关原理,有个大概的认识,再列举具体的步骤。原理 使用Duilib编写一个界面软件,本质上还是一个Win32的软件,只不过这个软件的界面不使用Windows自带的控件,而是交给Duilib绘制界面。 关于消息处理,底层还是处理Window消息,但Duilib会进一步转化成Duilib消息,方便编写响应的逻辑。 基本流程: Win32的入口函数:_tWinMain Duilib生成界面:CDialogBuilder Dui原创 2021-01-22 17:37:14 · 1057 阅读 · 0 评论 -
2021 Duilib最新入门教程(二)Duilib编译动态库
目录下载源码编译工具编译源码下载源码 官网地址:https://github.com/duilib/duilib 也可以直接点击源码下载地址https://github.com/duilib/duilib/archive/master.zip 编译工具 Visual Studio 2019 编译源码1、进入duilib-master目录,点击DuiLib.sln 2、重定向项目,点击确认 3、这里显示的还是2013,需要改为2019 4、进入属性面板:项原创 2021-01-22 17:28:24 · 1084 阅读 · 0 评论 -
2021 Duilib最新入门教程(一)Duilib简介
目录Duilib解决什么问题?方案一、自己画界面方案二、使用标准控件方案三、使用Duilib框架Duilib是什么?先看下[Duilib官方简介](https://github.com/duilib/duilib/blob/master/README.md)再看下[DirectUI 百度百科](https://baike.baidu.com/item/directui) 比起介绍“Duilib是什么?”,更重要的应该是了解“Duilib解决什么问题?” Duilib解决什么问题?先聊聊一个话题:怎原创 2021-01-22 16:43:42 · 3750 阅读 · 0 评论