转载:https://www.jianshu.com/p/0fe8610dcc8d  //

https://github.com/Washington-DC/Duilib-ListView  //这是上面的代码,能够正确编译并运行

https://www.cnblogs.com/Forever-Kenlen-Ja/p/7854357.html  //xml嵌套

https://www.cnblogs.com/crazydebug/p/5983676.html  //这里是自定义控件的一些说明,但里面的代码没有编译通过

1.继承现有的控件类创建新的控件类

建立新控件后,最先应该重写的两个函数是GetClass和GetInterface。他们后用来区分控件的类型的虚函数,用于动态识别控件类型和做控件的类型转换。GetInterface函数是根据传入的参数是否与自身的字符串匹配,来决定能否把自己转换为需要的控件类型。GetInterface中用来匹配的字符串,应该与xml中的对应的控件的标签名称一致

2、让程序识别新的控件并可以在xml中使用

为了让xml布局识别我们的新控件,我们需要完成Duilib的IDialogBuilderCallback接口,重写这个接口中的CreateControl函数。

通常情况下,可以让窗体类继承IDialogBuilderCallback接口并且重写CreateControl(DuiLib自带的WindowImplBase窗体类已经继承了这个接口,如果是继承WindowImplBase的话就直接重写CreateControl就可以了)。函数处理方法是比较传入的字符串,根据字符串来决定返回什么控件的指针,这个传入的字符串就是xml文件中控件的标签

最新文章

  1. NSLOOKUP命令使用
  2. [备忘]删除SQL Server中无登录名的用户
  3. 深入理解javascript作用域系列第四篇——块作用域
  4. JavaScript Emoji 表情库_js 类似于qq微信的表情库
  5. Sublime Text 2 入门及技巧
  6. sublime3笔记
  7. mysql_connect和mysql_pconnect区别(转)
  8. Chapter 4
  9. .NET Remoting
  10. SQL学习_查询重复数据和连接多个表数据的方法
  11. winform 读取保存配置文件
  12. RPC学习
  13. 初识markdown以及markdown的常用语法
  14. java调用url
  15. myeclipse从svn导入文件报错:
  16. json转换工具类:json<===>list或者对象
  17. Java之JDBC①
  18. 《剑指offer》第三十八题(字符串的排列)
  19. mysql测试数据创建
  20. linux 常用命令总结(一)

热门文章

  1. C++:打开一个文件夹下一系列的文件
  2. 粪发涂墙-tomcat
  3. Dart语言学习(二) Dart的常量和变量
  4. Nginx作为静态WEB服务
  5. 关于ActiveMq的Exception occurred while processing this request, check the log for more information!问题
  6. lucky 的 时光助理(3)
  7. mui 获取本地APP本版号的两种方式
  8. [JLOI2009]神秘的生物
  9. 「JSOI2013」游戏中的学问
  10. LNMP环境搭建(PHP7.4.0)