如何用DELPHI在TreeView中实现F3键的遍历查找?(50分)

  • 主题发起人 主题发起人 无语
  • 开始时间 开始时间

无语

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在想在TREEVIEW控件中,查找某个节点,并实现F3来查找下一个的功能,不知哪位大虾能给我这只菜鸟指点指点。
 
用yourTreeview.Items.Item将I从当前值开始递增
(至yourTreeview.Items.Count-1)查找即可。
 
YAND J.Q.:
可是如果TRIEVIEW没有完全EXPAND,该方法不行。
有没有办法在 TREEVIEW 没有EXPAND的情况下,查找所需的节点,并在EXPAND到相应节点。
然后,按F3接着展开到下一相同节点。
 
其他的属性都不可以吗?
 
TTreeView不必Expand,用 Items也是可以访问所有的节点的。可以试一下以下代码:

窗口上放置 1. TreeView1: TTreeView; 2. Edit1: TEdit; 3.Button1: TButton;
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
ANode : TTreeNode;
bStart : Boolean;
begin
bStart := False;
ANode := nil;
for i := 0 to TreeView1.Items.Count - 1 do begin
ANode := TreeView1.Items;
if bStart and (CompareText(ANode.Text, Edit1.Text) = 0) then begin
ANode.Selected := True;
TreeView1.SetFocus;
Exit;
end;
bStart := bStart or (ANode = TreeView1.Selected);
end;
if i = TreeView1.Items.Count then
ShowMessage(Edit1.Text + ' Not Found');
end;

当然,也可以用遍历方法来查找节点,但用在这里有点杀鸡用牛刀了
 
谢谢calvin75
 
后退
顶部