TreeView não aceita subitem.....

Delphi

04/03/2004

Pessoal,
To tentando colocar um menu, em uma tree view....
Olhem o código..
    for i:= 0 to Menu1.Items.Count -1 do 
     begin 
       TreeView.Items.Add(nil,(Menu1.Items[i].Caption)); 
       for e := 0 to Menu1.Items[i].Count -1  do 
        begin    
           TreeView.Items.AddChild(TreeView.Items[i],(Menu1.Items[i].Items[e].Caption)); 
          end; 
     end; 


Esse Menu1 tem 5 items e p/ cada item tem 5 subitens.....
o problema é que ele só ta criando subItens para o primeiro item do menu....
os outros ele não cria...

Alguem sabe o que pode ser?


Lucas Silva

Lucas Silva

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

04/03/2004

Alguma sujestão?????


GOSTEI 0
Lucas Silva

Lucas Silva

04/03/2004

sobe


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

04/03/2004

nãosei muito bem, mas se:

TreeView.Items[i].Add(nil, Menu1.Items[i].Items[e].Caption);

?


GOSTEI 0
Lucas Silva

Lucas Silva

04/03/2004

[quote:51b3010fef=´Marcelo Saviski´]nãosei muito bem, mas se:

TreeView.Items[i].Add(nil, Menu1.Items[i].Items[e].Caption);

?[/quote:51b3010fef]

Marcelo,
Este comando não funciona com TreeView......
tem que ser pelo comando AddChild mesmo......


GOSTEI 0
Lucas Silva

Lucas Silva

04/03/2004

sobe


GOSTEI 0
Vinicius2k

Vinicius2k

04/03/2004

Lucas,

Trabalho muito com TreeViews, mas devo confessar q esta foi um desafio...

procedure MakeTree (Menu: TPopupMenu; Tree: TTreeView);
var i, i2, n: integer;
begin
 n:= 0;
 for i:= 0 to Menu.Items.Count - 1 do
  begin
   Tree.Items.Add(nil,(Menu.Items[i].Caption));
   for i2:= 0 to Menu.Items[i].Count - 1 do
    begin
     if Tree.Items[i2].GetLastChild <> nil then
      n:= Tree.Items[n].GetLastChild.AbsoluteIndex + 1;
     Tree.Items.AddChild(Tree.Items[n],(Menu.Items[i].Items[i2].Caption));
    end;
  end;
end;


para usar : [b:176c36d798]MakeTree(Menu1,TreeView1);[/b:176c36d798] , por exemplo...

T+


GOSTEI 0
Lucas Silva

Lucas Silva

04/03/2004

Valeu, vinicius....
Me dá mais um esclarecimento ai....
Como faço pra associar um Tag para cada SubItem deste....

Tipo assim....

Cadastro
- Cliente
- Carro

Quando o usuário clicar no cliente (por ex) quero que o tag deste TreeNode passe a ser 1;

Tem jeito de fazer isto?


GOSTEI 0
Vinicius2k

Vinicius2k

04/03/2004

Lucas,

Acho que não rola... o TTreeNode node não tem propriedade Tag...
Se eu tiver entendido corretamente o q vc pretende, a (uma) solução é comparar o Text do TreeView.Selected...

T+


GOSTEI 0
Lucas Silva

Lucas Silva

04/03/2004

Blz então....
vou tentar fazer desta forma.....


Valeu.....


GOSTEI 0
Vinicius2k

Vinicius2k

04/03/2004

Falow !
Só mais uma coisa: quando vc trabalha com menus, trees, e toolbars dinâmicos, o TActionList é uma graaaaande ´mão-na-roda´...
:wink:
T+


GOSTEI 0
Lucas Silva

Lucas Silva

04/03/2004

Ótima idéia.... eu não pensado nisto não.......


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

04/03/2004

Não tem uma propriedade [color=green:e6bfe27acb]BookMark[/color:e6bfe27acb]?


GOSTEI 0
Lucas Silva

Lucas Silva

04/03/2004

[quote:0a6656ac65=´Marcelo Saviski´]Não tem uma propriedade [color=green:0a6656ac65]BookMark[/color:0a6656ac65]?[/quote:0a6656ac65]
pelo que sei o delphi tem uma propriedade bookmark....
que eu não sei pra que que serve....

é disto que você está falando marcelo?


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

04/03/2004

ela serve para armazenar um ponteiro, pod ser um componente, um registro de uma tabela, ou um form por exmeplo

Item.BookMark := Pointer(FormX);


TForm(Item.BookMark).Show;


no TreeView acho que a propriedade é [b:59a28daf97]data [/b:59a28daf97]ao invez de Bookmark


GOSTEI 0
Lucas Silva

Lucas Silva

04/03/2004

Legal....
Bom saber......


GOSTEI 0
POSTAR