自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (3)
  • 收藏
  • 关注

原创 DuiLib表格类和树控件 虚表实体数据

实际使用中发现,虚表模式编辑表格时,挺啰嗦的。比如选中多行时,这个选中行信息是需要调用方自己维护的。所以我认为虚表只适合列表模式下的数据展示,比如中数据库或者文件中读取行去显示。上一个版本中,实表模式有点鸡肋,不仅速度慢还非常占用内存。这次改动很大,主要是奔着实表模式下节约内存和提高速度去的,我在原有的基础上做改动,结果推倒重来无数次,忍无可忍只好从白板开始重新写了。CGridListUI、CGridListHeaderUI、GGridListBodyUI、CGridListRowUI、CGridL

2021-06-16 18:27:18 1175 5

原创 __VA_ARGS__ 可变参数宏 和 C/C++结构体序列化、json转换、xml转换。

我好像记得大学的教材是这么说的,我们现在学C++了,以前C语言是这样子的,#define pi 3.1415926现在学C++推荐这么用const double pi = 3.1415926;好吧,不带这么埋汰宏的,感觉宏是C语言的糟粕似的。宏的作用是强势替换展开,它是帮你写程序的,不是给你定义变量的。众所周知,C/C++运行时无法知道变量名字。比如说这个结构体struct tagTest{ int id; //id号 string .

2021-04-11 23:03:44 873

原创 DuiLib表格类 1

一直以来duilib并没有Grid,大多还是使用CListUI做数据表格,或者有些人像我一样,把CGridCtrl(也就是MFCGridCtrl)这个开源库拉进来用。只是CGirdCtrl有个不好的是它继承自CWnd类,是个MFC类,为此,特意开发CGridListUI,作为数据表格,同时为了以后在项目中替代CGridCtrl。CGridListUI主要是结合CListUI和CGridCtrl,我的目标是替代CGridCtrl,所以函数调用等格式尽量兼容CGridCtrl。每个单元格都是一个容器

2021-02-23 15:38:16 1174

原创 正式发布DuiLib脚本系统 结合angelscript

这篇主要介绍duilib如何使用脚本。我认为脚本的存在的意义就是补充UI库的不足,与业务逻辑无关的UI操作,都应该在脚本中完成。在所有类C++脚本语言里,angelscript与C++的相似度是最高的,不需要学习新的语法。并且,C++开发的软件集成angelscript也很方便。需要注意几点,1,和所有脚本语言一样,脚本中没有指针,相应的操作是“@”为指针,&为引用。比如脚本中这么写,CPaintManagerUI @pManager = btnControl.GetManag

2021-01-23 11:53:29 1060 1

原创 DuiLib中图片属性的编辑

DuiLib中图片属性的编辑在DuiLib中图片属性编辑还是挺麻烦的一件事情,特别是手写xml。这次介绍如何在DuiEditor中可视化操作,轻松快速选取图片。先看一下界面:接下来主要演示各种场景的使用,以及image属性的含义。1,dest属性。如下图,我想在这个按钮的确认前面加个图标,...

2020-12-15 01:08:00 2349 3

原创 DuiLib多语言解决方案

DuiLib多语言解决方案我参考了一下现有的duilib多语言解决办法,基本上就是手工维护字符串列表,在GetText中通过偷梁换柱的方式把显示的文本替换掉了,包括tooltip、tipvalue,其中也可以把image属性也作为多语言的字符串处理,还有在DiableBuilder偷偷换掉xml名字去加载。特点都是纯手工维护,对于稍微大型的软件,维护起来就困难重重。为了贯彻能偷懒就偷懒的方针,决定依靠设计器实现统一维护多语言包。我的想法是,回归到数字ID作为属性去匹配字符串,每个xml产生单独.

2020-12-08 11:30:13 1459 5

原创 duilib仿百度网盘界面

duilib仿百度网盘界面这一篇我们介绍使用DuiEditor做一个百度网盘的demo界面。首先简单分析一下这个界面,这是一个上下布局结构,第一层包括了标题拦、工具栏,第二层为客户区。1,新建文件,保存为MainFrame.xml,并设置Window大小为1000,700。设置VerticalLayout背景色为白色。2,选中左边控件树VerticalLayout,依次插入一个HorizontalLayout和Tab...

2020-10-05 17:12:06 2001 5

原创 DuiEditor高级教程

DuiEditor的高级教程这一章主要介绍DuiEditor的设计技巧和说明。一,duilib.xml属性文件。这个文件标注了duilib的所有控件和属性,在老版的DuiDesigner里面,控件和属性都是写死的,不方便扩展,如果你改动了属性默认值或者增加控件等等,修改设计器会变成很烦躁的工作,不仅复杂还不好维护。为此,DuiEditor在原版的属性文件上做了一写扩展,设计器仅从这个文件载入控件和属性。比如你为duilib写了一个...

2020-06-27 00:11:48 1566

原创 duilib设计器 DuiEditor简易教程 (DuiDesigner) (三)

DuiEditor简易教程(二)4,设计主界面继续。上一章有个错漏的地方,没有给工具栏按钮设置group属性。回到界面设计,工具栏下来是一条水平分割线。它只需要3个属性就搞定了。接下来是主界面,这里有两排,一排Option和Tablayout页面。我们原先插入的是HorizontalLayout控件,应该是错了。点击设计器工具栏的代码按钮,如图,把箭头所指HorizontalLayout改成VerticalLayout。取名...

2020-06-19 00:06:36 1951 5

原创 duilib设计器 DuiEditor简易教程 (DuiDesigner) (二)

DuiEditor简易教程接上文。3,设计工具栏。这个工具栏分2部分,左边是工具栏按钮,右边是一个大的logo图片。选中工具栏这一块的HorizontalLayout,为了方便述说,取名为HC。在HC中插入2个HorizontalLayout子控件,分别取名为HD,HE。设置HE的属性width=150,在HE中插入一个按钮,给按钮设置bkimage=logo.png。当然也可以不插入按钮而是直接给HE设备背景图片,其实这个按钮...

2020-06-17 10:49:41 1435

原创 duilib设计器 DuiEditor简易教程 (DuiDesigner) (一)

DuiEditor简易教程一,DuiEditor是什么?DuiEditor是duilib界面库的界面设计器,编写过程中参考了老版UIDesignner的大量代码,改名只是为了稍作区分,没有任何剽窃或不尊重原作者之意。其实这个工具已经写了好几年了,提不起太大的兴趣写什么教程,自己好用就行,毫无疑问的,设计器比手写xml大大的提高了效率。DuiEditor已经开源,任何公司或个人可以随意修...

2020-06-15 16:02:13 8422 10

原创 给duilib增加脚本支持(三)

这一章介绍脚本插件的编写,现在才是划重点的时候了。angelscrript的作者提供了很完整的文档,由于本人英语有限,我错误恳请指出。angelscript简直就是给C++程序量身订造的脚本语言,和C++语言基本无差别,还是那句话,可惜没有流行起来。不说闲话,开始上代码。先定义两个导出函数。供duilib回调创建脚本引擎和删除脚本引擎。extern "C" __declspec(dlle...

2020-04-06 12:34:34 276

原创 给duilib增加脚本支持(二)

上篇文章介绍了脚本响应duilib控件事件,以及脚本中调用duilib的函数。现在说一下具体的实现方式。为了避免对duilib库太大的改动,使用插件方式载入。首先在CPaintManagerUI头部定义一个接口。​class UILIB_API IScriptEngine{public: virtual bool AddScriptCode(LPCTSTR pScriptCod...

2020-04-06 11:25:30 261

原创 给duilib增加脚本支持(一)

1

2017-08-11 20:17:49 721

DuiEditor源代码 (新版DuiLib UIDesigner)

开源duilib设计器 https://blog.csdn.net/mmcanyu/article/details/106758857

2020-06-15

duilib C++ 脚本支持 加入angelscript

duilib加入脚本C++支持

2017-08-14

候捷-深入浅出MFC chm 简体中文

呵呵,估计很多人和我一样,不喜欢看长篇的pdf文档,看了后面忘了前面,等回去找那一页再回来时,已经头晕了. 这是CHM版本的,简体中文,一些台湾的电脑术语已经更改过来.<br>此文件由word文档转换而来,原Word文档来自于CSDN下载中心.

2009-03-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除