Como Pegar o Item Indexado ou selecionado no Treeview

Delphi

31/03/2004

Bom Dia Galera, Como Pegar o Item Indexado ou selecionado no Treeview
Alguem Sabe.

Grato a Todos.


Pauldiano66

Pauldiano66

Curtidas 0

Respostas

Paullus

Paullus

31/03/2004

Cara, tem como você explicar melhor? Não entendi a sua pergunta (item indexado!?!?!?!!?).

Pra pegar o item selecionado use:

TTreeView.Selected


Ele te retorna o TTreeNode atual. Aí você acessa as propriedades do nodo pra saber.

Acho que era isso que você queria, não!?
:roll:


GOSTEI 0
Pauldiano66

Pauldiano66

31/03/2004

for i:= 0 to frmTreeView.tv.Selected.Count -1 do

node:=frmTreeView.tv.Selected[i].Item;

frmTreeView.tv.items[6].selectd:=true;

tenho uma treeview com uma hierarquia e nessa hierarquia tem pastas dentro das pastas existem uma figura de maquina claro tem varios nos,nesta maquina vou clicar duas vezes em cima e depois abrir uma tela de condicao para fazer uma alteração e depois voltar de novo nesta maquina,se puder deixar seu fone agradeço caso não entender.

mais ou menos o codigo acima,o index è inteiro.


GOSTEI 0
Paullus

Paullus

31/03/2004

Cara...

Faz o seguinte: manda aí o trecho do código que está dando problema e tenta explicar com mais detalhes o que você tá querendo. Meio que passo a passo mesmo.

Até onde entendi é o seguinte:

1 - Selecione o nodo;
2 - Faça a alteração
2 - Em todos os filhos dele faça alguma coisa.

É isso?


GOSTEI 0
Pauldiano66

Pauldiano66

31/03/2004

Caro Colega Ainda Nem Fiz Esse Codigo Faz o Seguinte POde Me lIGAR
011-8123-7860 ou me Passa seu Fone eu Te Ligo ok Um Abraço Sergio
Te explico Ai vc Vai Entender.


GOSTEI 0
Paullus

Paullus

31/03/2004

Ligaê...
(061) 9648 6086


GOSTEI 0
Paullus

Paullus

31/03/2004

Bem... só para situar o pessoal do Fórum:

O problema é:

Eu tenho um nodo selecionado no meu TreeView. Só que eu tenho que remontar ele pra alterar a imagem. Deseja-se que o mesmo nodo esteja selecionado após a remontagem do TreeView.

A solução taí embaixo:

1 - Guarde a propriedade [b:72a8211577]AbsoluteIndex[/b:72a8211577] do Nodo.
2 - Remonte o TreeView.
3 - Faça a pesquisa em busca do mesmo AbsoluteIndex.
4 - Selecione o nodo que possui o mesmo AbsoluteIndex.

Veja o código abaixo:

procedure TfMain.tvArvoreDblClick(Sender: TObject);
var
  index: integer;
begin
  // Abriu e editou o nodo
  {
    ...
    ...
    ...
  }
  // Guarda o AbsoluteIndex
  index := tvArvore.Selected.AbsoluteIndex;
  // Remonta o TreeView
  {
    ...
    ...
    ...
  }
  // Seleciona o nodo novamente
  seleciona(Index);  {esta rotina irá selecionar novamente o nodo desejado. O código esta abaixo.}
end;


procedure TfMain.seleciona(Index: integer);
var
  Nodo : TTreeNode;
begin
  // Pega o primeiro nodo
  Nodo := tvArvore.Items.GetFirstNode;

  // Enquanto tiver nodos pra frente faça
  while Nodo.GetNext <> nil do
  begin
    // Se o AbsoluteIndex bateu seleciona
    if Nodo.AbsoluteIndex = Index then
    begin
      tvArvore.Selected := Nodo;
      break;
    end
    else  // senão vai pro próximo
      Nodo := Nodo.GetNext;
  end;
end;


No código acima assumi o TTreeView com o nome tvArvore e formulário ao qual ele está associado como fMain.

A rotina pode demorar um pouco (dependendo da posição do nodo dentro do TTreeView) mas resolve.


GOSTEI 0
Pablo Mora

Pablo Mora

31/03/2004

Galera sei que esse tópico já foi solucionado, porém é bom compartilhar, pois assim outros que talvez vá tentar usar esse componente e vai com certeza quebrar a cabeça assim como eu, só não quebrei a minha cabeça na parede ainda porque ainda, eu disse, ainda estou um pouco são, enfim, eu estava quebrando a cabeça aqui em como usar esse componente com index, ou seja, com os nós já criados e indexados (0,1,2,3.....) e a parada é fácil, fácil....porém nem todos conhecem ou tem tempo de ficar testando cada função e propriedade do componente......enfim achei a malditinha da propriedade pra fazer a coisa funcionar.......

E o comando ééééé.......

TreeView1.Selected.AbsoluteIndex


Bom galera é esse comandinho ai pra trabalhar com index no TreeView.....

Espero que ajude alguém

Abraços
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

31/03/2004

Opa pessoal, temos um artigo aqui no portal que ensina como trabalhar o componente TreeView.

Fica a dica :)

https://www.devmedia.com.br/quick-tips-trabalhando-com-objeto-no-treeview/15434

[]'

GOSTEI 0
POSTAR