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


Flast2008

Flast2008

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):

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

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

Aceitar