查看了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类的右键消息响应里面打开菜单