最近公司要换UI界面库所以就用了duilib,因为本人之前用过但是由于时间太久没用了导致之前很多控件的使用差不多忘记了。这个帖子做个记录下次忘了可以看看。

因为duilib 这个库对扩展还是比较友好的原版提供了不少的例子可以参考,没事看看官方的例子其实也能有不少的收获。这里要说一下我用的版本是以旗舰版的基础上重新改过和封装的,所以功能上差不多。

首先我的需求其实很简单,要求每个节点上有一个COmbo控件然后加上编辑框但是由于原版的list其实并不能满足一般的需求其实,大多数 情况下咱们都需要重写list

首先duilib自定义控件有两个方式,先说原版的方式比较简单,将你自己的list继承自CListUI 实现一个参数的构造函数,参数为CPaintManagerUI& paint_manager 两个成员变量

CPaintManagerUI& m_pm; 
CDialogBuilder m_dlgBuilder;

然后在初始化列表的时候给m_pm 初始化一下。接在他的父窗口中重写createControl函数

if (_tcsicmp(pstrClass, _T("FaceList")) == 0)return new CFaceList(m_pm);

接着在addnode中开始插入节点这里

CListContainerElementUI* pListContainerElement = NULL;if (!m_dlgBuilder.GetMarkup()->IsValid()){pListContainerElement = static_cast<CListContainerElementUI *>(m_dlgBuilder.Create(_T("InjectListItem.xml"), (UINT)0, NULL, &m_pM));}else{pListContainerElement = static_cast<CListContainerElementUI*> (m_dlgBuilder.Create(UINT(0), &m_pM));}if (pListContainerElement == NULL){return false;}

下面就跟你正常加载子控件是一样的了。

duilib 添加自定义list一例相关推荐

  1. nginx的反向代理以及负载均衡模块的使用

    内容: 1.何为代理 2.nginx的反向代理模块以及使用 3.nginx的负载均衡模块以及使用 一.何为代理 代理,由字面意思可以理解为代为服务的是意思. 代理服务技术是一门很古老的技术,是在互联网 ...

  2. EXT ajax简单实例

    转载:http://www.cnblogs.com/xiepeixing/archive/2012/10/24/2736751.html EXT ajax request是ext中对于ajax请求的实 ...

  3. 一个小兔子的大数据见解2

    Big Data 阿里的大数据解决方案 MAXCOMPUTE DATAWORKS QUICKBI 1.Vmware增强 2. 1.1.VMware 虚拟网络设备 1.1.1.虚拟网卡.虚拟交换机 虚拟 ...

  4. zabbix snmp 自动发现、自定义自动发现规则和监控项原型实现原理

    自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法. 例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网络接口手动创建监控项:还 ...

  5. Windows编程与MFC # 4 单文档应用程序(1)

    整理自VC++程序设计课程课件 使用VC++的应用程序向导MFC AppWizard可以开发: Single document(单文档) Multiple document(多文档) Dialog b ...

  6. 《Java150道面试题全集》

    本文转载他人,自留作笔记用,请尊重原创作者. 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两 ...

  7. 如何在Excel中添加自定义函数(以计算AUC为例)

    Excel是一个常用的数据记录与统计的工具,但是我们所熟知的可能仅仅是它的表格,画直方图等功能.它其实还有更为强大的功能,即添加自定义函数,方便自己统计.下面为简单的介绍,以Excel2016为例: ...

  8. Duilib中为RichEdit\Edit控件添加自定义右键菜单

    前言 Duilib中的RichEdit控件在使用中发现,基本上对复制.粘贴.剪切等快捷方式都是支持的,不过唯一缺点是没有右键菜单,感觉不够好,于是就想着加上右键菜单. 右键菜单基本思路是,在RichE ...

  9. CentOS 7设置开机启动服务,添加自定义系统服务(Redis为例,绝对有效)

    1.建立服务文件 vim /usr/lib/systemd/system/redis.service 2 正式编写redis.service前先自己写一下在根目录中启动和关闭redis服务的命令,如下 ...

  10. Duilib初级控件扩展一例: 具有鼠标滚动消息的OptionUI

    转载:http://www.cnblogs.com/memset/p/Duilib_MouseWheelOptionUI_Deprecated.html 转载于:https://www.cnblogs ...

最新文章

  1. Cocos 发射和监听事件 事件派送(TypeScript)
  2. 一个不错的命令行解析类
  3. 使用pipeline的函数
  4. POJ1258 Agri-Net【最小生成树】
  5. 利用多个域名来存储网站资源
  6. 涂鸦智能 dubbo-go 亿级流量的实践与探索
  7. 从北京回来的年轻人,我该告诉你点什么?
  8. 被字句15个_成人高考要点解读、包含18个实用技巧
  9. 关于滤波电容、去耦电容、旁路电容作用
  10. 字长为16位的计算机_字长为16位表示这台计算机最大能计算
  11. 如何修复“您的系统已耗尽应用程序内存”错误
  12. Eclipse使用入门教程
  13. HTTPSConnectionPool(host=‘music.163.com‘, port=443): Max retries exceeded with url: /weapi/comment/
  14. 佛祖保佑注释代码(内含神兽与美女)
  15. 华为云mysql qb文件恢复到本地-参考华为云官方文档
  16. 安装php扩展fileinfo
  17. SUN_Java程序员认证考试题库(一)
  18. android手机iPhone对比,iPhone 6与Android旗舰手机的身材大对比
  19. 101.为什么我们要学习理论课程?为什么要学习软件工程?(建议在校生必读)
  20. 趣味老北京歇后语释疑

热门文章

  1. 计算机网络技术蘑菇钉周记,2021年蘑菇钉第一周周记范文开学第一周周记精选范文.docx...
  2. 多选题spss相关分析_spss多选题的录入及分析
  3. linux中了minerd之后完全清理过程
  4. 下载InstallShield Limited Edition for Visual Studio
  5. 微带滤波器摘要_微带线带通滤波器设计
  6. 算法导论终于看完了~
  7. 嵌入式入门必去的网站 —— 介绍的非常详细
  8. 流媒体服务器分发RTSP视频流并发压力测试
  9. 计算机网络知识点1——概述
  10. 联想拯救者y7000p 固态移动硬盘安装Linuxmint19.1 操作系统