ola MuriloCunha

Vc esta querendo fazer um controle de permissoes para usuarios do sistema?

Abaixo montei 2 rotinas que espero ser util para voce... acredito que 
deve funcionar na TVirtualTreeView

de uma olhada no componente User Control..
http://www.usercontrol.net/index.php

ele faz o controle de de permissoes de acesso ao sistema.
onde vc pode liberar alguns botoes do seu form para acesso

ele faz o que vc esta querendo
Lista o nome do for com todos os seus componentes..
assim vc pode selecionar quais componentes os usuarios terão acesso
eu ja o utilizo a bastante tempo e funciona perfeito..

como seu Codigo fonte é aberto vc podera verificar, estudar e utilizar a 
rotina que pega os componentes e coloca em uma TreeView

espero ter ajudado..


//==================== para adcionar itens ao TreeView =============
procedure TForm1.Button1Click(Sender: TObject);
var MyTreeNode1,
    MyTreeNode2: TTreeNode;
begin
   with TreeView1.Items do
   begin
      //======== Remove qualquer node existente
      Clear;
      //======== Adiciona o node raiz }
      MyTreeNode1 := Add(nil, 'RootTreeNode1');
      //======== Adiciona um sub item no node adiciona anteriormente
      AddChild(MyTreeNode1,'ChildNode1');
      //======== Adiciona outro node raiz}
      MyTreeNode2 := Add(MyTreeNode1, 'RootTreeNode2');

      AddChild(MyTreeNode2,'ChildNode2');
      MyTreeNode2 := TreeView1.Items[3];
      AddChild(MyTreeNode2,'ChildNode2a');
      Add(MyTreeNode2,'ChildNode2b');
      Add(MyTreeNode1, 'RootTreeNode3');
   end;
end;


//==================== Para pegar os componente do form =============
procedure TForm1.PegaComponentesDoForm;
var i : Integer;
    nome : string;
begin
    {==================================
       Nesta rotina percorro todos os compentes e pego apenas o 
componente que me interessa
       fiz assim para vc ver como fica . se quier pode pegar ainda Tedit etc
       se quiser pegar todos os componentes coloque apenas
            nome := Components[i].Name
       dentro do for
    ===================================}
   for I:= 0 to ComponentCount -1 do
   begin
      if (Components[i] is TBitBtn) then
         nome := TBitBtn(Components[I]).Name;
      if (Components[i] is TButton)  then
         nome := TButton(Components[I]).Name;
      if (Components[i] is TSpeedButton)  then
         nome := TSpeedButton(Components[I]).Name;
   end;
end;





Murilo Cunha escreveu:
 > 
 >
 > Pessoal,
 >
 > Realmente preciso de ajuda para resolver esta pendencia em meu sistema.
 > Insisto em perguntar se ha alguem que possa me ajudar com esse assunto
 > abaixo...
 >
 > Obrigado
 > MuriloCunha
 >
 > Pessoal,
 >
 > Tenho a seguinte estrutura em meu TVirtualTreeView para D2010:
 >
 > - Node 1
 > Node 1.1
 > Node 1.2
 > Node 1.3
 > + Node 2
 > - Node 3
 > Node 3.1
 > Node 3.2
 > + Node 4
 > + Node 5
 >
 > Como eu faço para trocar os "CAPTIONS" destes Nodes??
 > Este meu TVirtualTreeView exibe todos os forms que tenho em minha
 > aplicacao e, dentro destes nodes, exibe o nome de todos os componentes
 > que existem em cada form.
 > Quero colocar o nome dos forms no primeiro nivel e os componentes no
 > segundo nivel, como fazer??
 >
 > Obrigado
 > MuriloCunha
 >
 > ------------------------------------
 >
 > --








__________ Informação do ESET Smart Security, versão da vacina 5184 (20100609) 
__________

A mensagem foi verificada pelo  ESET Smart Security.

http://www.eset.com



Responder a