Fórum TreeView não aceita subitem..... #218226

04/03/2004

0

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

Responder

Posts

04/03/2004

Lucas Silva

Alguma sujestão?????


Responder

Gostei + 0

04/03/2004

Lucas Silva

sobe


Responder

Gostei + 0

04/03/2004

Marcelo Saviski

nãosei muito bem, mas se:

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

?


Responder

Gostei + 0

04/03/2004

Lucas Silva

[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......


Responder

Gostei + 0

05/03/2004

Lucas Silva

sobe


Responder

Gostei + 0

05/03/2004

Vinicius2k

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+


Responder

Gostei + 0

05/03/2004

Lucas Silva

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?


Responder

Gostei + 0

05/03/2004

Vinicius2k

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+


Responder

Gostei + 0

05/03/2004

Lucas Silva

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


Valeu.....


Responder

Gostei + 0

05/03/2004

Vinicius2k

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+


Responder

Gostei + 0

05/03/2004

Lucas Silva

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


Responder

Gostei + 0

05/03/2004

Marcelo Saviski

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


Responder

Gostei + 0

05/03/2004

Lucas Silva

[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?


Responder

Gostei + 0

05/03/2004

Marcelo Saviski

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


Responder

Gostei + 0

05/03/2004

Lucas Silva

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar