treeview中的每个节点都有两个属性值,一个是text,一个是data(指针类型)
我现在想实现两个目的
1、象在注册表中查找某个项值一样,我想查找treeview 中节点的text为‘查找值一’的节点,而且让改节点获得焦点(如果能触发它相应的onclick事件就更好)
2、同样,查找pstring(data)值为‘1’的节点,象上面一样

解决方案 »

  1.   

    简单的一个思维是这样的,
    for i:=0 to treeview1.items.count - 1 do
    begin
      if treeview1.items.item[i].text = '查找值一' then
        begin
          //要执行的操作
          exit;
        end;
    end;
      

  2.   

    for i := 0 to TreeView1.Items.Count-1 do
            If TreeView1.Items.Item[i].Text = '值' then
            begin
                TreeView1.Items.Item[i].Selected := True;
                  .
                  .
                  .
                Exit;
            end;
      

  3.   

    1、
    function NodeByText(TreeView: TTreeView; const Text: String): TTreeNode;
    var
      CurItem: TTreeNode;
    begin
      Result := nil;
      CurItem := TreeView.Items.GetFirstNode;
      while Assigned(CurItem) do
      begin
        if CompareText(CurItem.Text, Text) = 0) then
        begin
          Result := CurItem;
          Exit;
        end;
        CurItem := CurItem.GetNext;
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      Node: TTreeNode;
    begin
      Node :=  NodeByText(TreeView1, '查找值一');
      if Node <> nil then TreeView1.Selected := Node;  //在OnChange而不是OnClick事件中处理
    end;2是类似的。————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————