c++builder中,建立菜单列表的方法
想要通过c++builder建立类似下图的菜单列表,不知道用什么组件能够实现,请各位帮忙指点。
曾经尝试过treeview,但是不知道怎么表示已双击选择的数据项(treenode里面没有找到对应的int类型数据)
[解决办法]
TTreeNode里面有个Data属性,可用来存放用户数据
类型是void*,可以当作int用,也可以赋值成指针指向更复杂的数据结构
[解决办法]
选择的数据是什么类型
定义个
TStringList *ls;
双击,就给ls里添加 ls->add("选择的数据");
最后ls存放的就是选择的数据
[解决办法]
可以直接把对象存在Data里,在treeview的onchange里根据选择的节点的Data属性转换回原来的类型来调用你要用的函数
[解决办法]
本帖最后由 ccrun 于 2012-11-23 18:24:07 编辑 就用树列表控件TreeView,其中的每一个节点是一个TTreeNode对象,这个对象的属性Data可以用来存放一个指针,或者只存放一个简单的整形数据。
TreeView对象的Selected属性代表当前选中的节点,在OnDblClick和OnClick事件中都可以获取,但是需要判断Selected是否为空,然后再访问其Data属性。
TreeNode对象的Index属性代表当前节点在兄弟节点中的索引,Level属性代表第几级,AbsoluteIndex属性代表在所有节点中的索引。
[解决办法]
switch ( int(Node->Data) ) {
case ID_FUNC1 :
func1();
break;
case ID_FUNC2 :
func2();
break;
......
}