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