Desabilitar Menu em tempo de Execução

Delphi

18/12/2004

Pessoal boa noite

Preciso criar um controle de usuário que controle inclusive o Botão Incluir, Excluir e Alterar pois o Usercontrol não me atende neste Caso e como não sei trabalhar com Actions e não consegui nada sobre isso estou partindo para seguinte situação:

Criei uma tabela de perfil onde carrego todos os menus e coloquei os campos incluir, excluir e Alterar. Quando inicio a aplicação dou um select para saber qual os menus que deverão ser desabilitados pois no caso este usuário não tem acesso nem de consulta, pois bem já tenho tudo isso pronto inclusive os nome de menu que devo desabilitar, porém não estou conseguindo desabilitar os mesmos tipo

[b:768cc8e0b8]Qry_Permissao.fieldByname(´NomeMenu´).asstring -- aqui preciso dar um enabled false neste menu porem não consigo fazer[/b:768cc8e0b8]

Estou usando Delphi 7.0 banco Firebird

Pessoal na verdade escrevi tudo isso para explicar o que quero fazer pois talvez alguém tenha uma idéia melhor mas na verdade eu preciso apenas do tópico em Negrito


Ariovaldo

Ariovaldo

Curtidas 0

Respostas

Renato_sp

Renato_sp

18/12/2004

Amigo voce nao ta tentando fazer da forma mais dificil nao?
Acho que com o ActionList fica muito mais facil, basta vc colocar um componente ActionList no form, adicionar os Action clicando com o botao direito e pondo New Actions e no evento OnExecute vc poe o que determinada action vai fazer ou nao.. um exemplo basico...

// Action que ativa componentes
procedure TForm1.AtivadosExecute(Sender: TObject);
begin
Button2.Enabled:=true;
Button3.Enabled:=true;
end;


// Action que desativa componentes
procedure TForm1.DesativadosExecute(Sender: TObject);
begin
Button2.Enabled:=false;
Button3.Enabled:=false;
end;

//Botao que verifica o login e ativa ou nao o componente

procedure TForm1.Button1Click(Sender: TObject);
begin
if EditSenha.text=´123´ then
ActionList1.Actions[0].Execute
else
ActionList1.Actions[1].Execute
end;

Obviamente que vai ser mais complexo o seu.. mas a logica é a mesma... !!! Espero ter ajudado...

Renato / SP


GOSTEI 0
Ariovaldo

Ariovaldo

18/12/2004

Alguém teria um exemplo de como desabilitar o Menu sendo que o nome do mesmo esta dentro de uma Qry


GOSTEI 0
Adilsond

Adilsond

18/12/2004

TMenuItem(FindComponent(Qry_Permissao.FieldByName(´NomeMenu´).AsString)).Enabled := True;


GOSTEI 0
POSTAR