Fórum Listar ActionList / ActionManager em TreeView #374768
10/09/2009
0
Boa tarde...Estou montando uma treeview pra controlar as acoes...Ja queimei os miolos pra jogar as acoes e categorias de um actionmanager ou action list numa treeview...Ocorre que estou percorrendo as acoes para jogar na treeview as categorias como raiz, mais ele tras as categorias repetidas pois retorna a categoria das acoes...alguem poderia me dizer como faço pra nao trazer as categorias repetidas como raiz...e as acoes como Nó logo abaixo das categorias ?
Desde ja agradeço a galera pela Ajuda...
Desde ja agradeço a galera pela Ajuda...
Flast2008
Curtir tópico
+ 0
Responder
Posts
10/09/2009
Afarias
Seu problema acredito é q as ações não estão ´ordenadas´ pela categoria -- normal! Bom, tem algumas formas de resolver isso, segue uma delas onde vc pode criar uma função que retorne o nó de uma categoria pelo seu nome (caso já exista):
T+
function TForm1.EncontrarNo(const aNome: string): TTreeNode; var i: Integer; begin Result := nil; with TreeView1.Items do begin for i := 0 to Pred(Count) do if Item[i].Text=aName then begin Result := Item[i]; Break; end; end; end; procedure TForm1.ConstruirArvore; var i: Integer; no: TTreeNode; ac: TAction; begin for i := 0 to Pred(ActionList1.ActionCount) do begin ac := TAction(ActionList1.Actions[i]); with TreeView1.Items do begin no := EncontrarNo(ac.Category); if no=nil then no := Add(GetFirstNode, ac.Category); AddChild(no, ac.Caption); end; end; end;
T+
Responder
Gostei + 0
11/09/2009
Flast2008
afarias....vc destruiu...é isso mesmo que eu precisava...valew dmais pela ajuda!!!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)