TreeView自动选择子节点,以及ListView问题...
我想实现点击按钮TreeView就自动选择上一层节点,点击另一按钮自动选择最上层父节点..
当前已可以选择子节点,ListView显示资料,但这是我去选择的..
有办法透过点击[Image按钮],让它自动选择上一层节点吗?
连续点击,就一直往上选择 ..点击另一[Image按钮]就自动选择最上层父节点..
如何实现呢?
另外一个问题是
如何点击TreeView父节点在ListView显示TreeView子节点的vsIcon,在ListView双击vsIcon就显示TreeView子节点的vsReport。
当前已经会选择TreeView节点显示资料在ListView (vsReport) ..
但如上的方式就是弄不出来,有无例子可参考... 谢谢!! listview treeview 节点 BCB
[解决办法]
需要比较模糊,是对选中的节点进行变换,一个按钮进行同级节点跳跃,另一个跳跃到父节点
简单说下
1、获取选中节点,判断聚焦是否为真
2、遍历全部节点,获取对应节点的父节点以及对应节点的位置
3、当存在同级节点并当前节点不是第一个节点,对前一个节点聚焦
4、当存在父节点进行聚焦
[解决办法]
我想实现点击按钮TreeView就自动选择上一层节点:
if (TreeView1->Selected->Parent)
TreeView1->Selected = TreeView1->Selected->Parent;
点击另一按钮自动选择最上层父节点:
TTreeNode * Node = TreeView1->Selected;
while (Node->Parent) Node = Node->Parent;
TreeView1->Selected = Node;
[解决办法]
这样即可:
TreeView1->HideSelection = false;
if(TreeView1->Items->Count>0 && TreeView1->SelectionCount>0 && TreeView1->Selected->Level>0){
TreeView1->Selected->Parent->Selected =true;
}
[解决办法]
TreeView1->MultiSelect = true;
TreeView1->HideSelection = false;
if(
TreeView1->Items->Count>0
&&
TreeView1->SelectionCount>0
&&
TreeView1->Selected->Level>0
){
if(TreeView1->Selected->Level==1){
for(int i=0;i<TreeView1->Items->Count;i++){
if(TreeView1->Items->Item[i]->Level==0){
TreeView1->Select(TreeView1->Items->Item[i],TShiftState() <<ssCtrl);
}
}
}else{
TTreeNode * Node = TreeView1->Selected->Parent->Parent;
for(int i=0;i<Node->Count;i++){
if(Node->Item[i]->Selected!=true){
TreeView1->Select(Node->Item[i],TShiftState() <<ssCtrl);
}
}
}
}