duilib Treeview右键菜单问题
kelvin 发布于 2024-10-09

查看了Treeview和Treenode,有个menu的属性,但实际上只是个bool类型的标志,要实现右键菜单还需要自己实现,想了两种方法:

1、在duilib源码工程里面的Treenode和Treeview类里面增加一个函数指针变量成员,增加对应的绑定的函数,从应用工程里面传递回调函数的函数指针过来,在Treenode和Treeview类的右键消息响应里面进行调用(回调),应用工程实现右键菜单对应的实现类,在回调函数中调用该菜单类

2、在duilib源码工程里面增加一个CTreeMenu类作为基类,在Treenode和Treeview类中增加Menu基类成员,和对应的赋值函数SetMenu(CTreeMenu* menu),在应用工程里面增加一个继承Menu类的子类,然后通过SetMenu(CTreeMenu* menu)赋值给父类指针,在在Treenode和Treeview类的右键消息响应里面打开菜单

kelvin
关注 私信
文章
98
关注
0
粉丝
0