如何隐藏虚拟TreeView中的展开/折叠按钮?
我使用VirtualStringTree(VST)显示分组数据,标题细节。 我需要一个选项来允许用户展开,折叠标题以查看详细信息,并且在某些情况下,我需要将数据显示为静态视图,但无法展开,折叠,只能看到完整的展开树:
这里是用户可以展开,使用子节点折叠节点的示例:
这里是一个例子,当我想阻止用户展开/折叠节点,并总是看到所有扩展(或显示的任何内容):
在这个测试中,我通过'允许展开/折叠/复选框来控制。
我通过添加以下内容来防止扩展,
Allowed:=CheckBox1.Checked;
进入OnCollapsing / OnExpanding:
procedure TMainForm.VSTCollapsing(Sender: TBaseVirtualTree;
Node: PVirtualNode; var Allowed: Boolean);
begin
Allowed:=CheckBox1.Checked;
end;
procedure TMainForm.VSTExpanding(Sender: TBaseVirtualTree;
Node: PVirtualNode; var Allowed: Boolean);
begin
Allowed:=CheckBox1.Checked;
end;
我也显示/隐藏TreeLines基于复选框
procedure TMainForm.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
VST.TreeOptions.PaintOptions:=VST.TreeOptions.PaintOptions + [toShowTreeLines]
else
VST.TreeOptions.PaintOptions:=VST.TreeOptions.PaintOptions - [toShowTreeLines];
end;
当我想阻止用户展开,折叠节点时,如何隐藏这个小加号。 有什么建议么?
编辑:
为了消除与表单图标的混淆,这是Virtual Treeivew 5演示库的演示项目。 IDE中的表单具有Delphi XE7图标,运行该项目时出现此旧图标。 不知道为什么。 只是想确定我使用的是XE7而不是任何较老的Delphi版本,其中相同的解决方案可能不适用。
在IDE中,如果图标为XE7图标:
您正在寻找的附加选项是toShowButtons
。 在您使用toShowTreeLines
的相同位置使用toShowTreeLines
。
在TVTPaintOption
声明中的VirtualTrees.pas中记录了该选项:
toShowButtons, // Display collapse/expand buttons left to a node.
链接地址: http://www.djcxy.com/p/5975.html
上一篇: How to hide expand/collapse button in Virtual Treeview?
下一篇: Can't get parent