Duilib XML嵌套/自定义控件

转载: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文件中控件的标签

posted @ 2019-08-26 16:50  _KikyoBK  Views(486)  Comments(0Edit  收藏  举报