Fórum Dúvidas com Main menu... #188834
15/10/2003
0
Saudações,
estou criando um projeto com um form de login para abrir o form principal. Neste principal eu tenho um main menu em que eu gostaria que ao se colocar o login e o nível do usuário o form principal apresentasse apenas os menus correspondentes aquele nível de usuário. Tipo se no login o nível do usuário fosse Administrador ele iria habilitar todos os menus, se fosse do estoque ele veria apenas os menus de compra e saída de produtos e se fosse usuário comum ele iria apenas visualizar as consultas. Alguém sabe como fazer? eu já tentei pegar um item do menu e desabilitar mas naum deu certo ao iniciar ele continua habilitado. Vai um exemplo:
if ((frmlogin.edsenha.text = frmlogin.tbloginSenha.asstring) or (frmlogin.cblogin.text =
frmlogin.tbloginLogin.asstring) or (frmlogin.ednivel.text = ´Administrador´)) then
begin
MateriaisdeEscritrio1.enabled := true;
MateriaisdeLimpeza1.enabled := true;
Acessos1.enabled := true;...
e no formcreate eu coloquei:
procedure Tfrmprinc.FormCreate(Sender: TObject);
begin
MateriaisdeEscritrio1.enabled := false;
MateriaisdeLimpeza1.enabled := false;
Acessos1.enabled := false;
estou criando um projeto com um form de login para abrir o form principal. Neste principal eu tenho um main menu em que eu gostaria que ao se colocar o login e o nível do usuário o form principal apresentasse apenas os menus correspondentes aquele nível de usuário. Tipo se no login o nível do usuário fosse Administrador ele iria habilitar todos os menus, se fosse do estoque ele veria apenas os menus de compra e saída de produtos e se fosse usuário comum ele iria apenas visualizar as consultas. Alguém sabe como fazer? eu já tentei pegar um item do menu e desabilitar mas naum deu certo ao iniciar ele continua habilitado. Vai um exemplo:
if ((frmlogin.edsenha.text = frmlogin.tbloginSenha.asstring) or (frmlogin.cblogin.text =
frmlogin.tbloginLogin.asstring) or (frmlogin.ednivel.text = ´Administrador´)) then
begin
MateriaisdeEscritrio1.enabled := true;
MateriaisdeLimpeza1.enabled := true;
Acessos1.enabled := true;...
e no formcreate eu coloquei:
procedure Tfrmprinc.FormCreate(Sender: TObject);
begin
MateriaisdeEscritrio1.enabled := false;
MateriaisdeLimpeza1.enabled := false;
Acessos1.enabled := false;
Elias Jr
Curtir tópico
+ 0
Responder
Posts
15/10/2003
Gbastos
É isso mesmo... Eu tenho até dois programas simples aqui q nem sei mais de onde baixei, q ilustram isso, se quiser envio..
Vc pode tb botar no tag de cada menu item o nível de acesso q precisa para acessar aquele item e fazer algo do tipo:
Agora, deve haver saídas mais elegantes...
Vc pode tb botar no tag de cada menu item o nível de acesso q precisa para acessar aquele item e fazer algo do tipo:
for I := 0 to MainMenu1.Items.Count - 1 do begIn If Nivel_Usuario < MainMenu1.Items[I].Tag then MainMenu1.Items[I].Enabled := False else MainMenu1.Items[I].Enabled := True; for J := 0 to MainMenu1.Items[I].Count - 1 do If Nivel_Usuario < MainMenu1.Items[I].Items[J].Tag then MainMenu1.Items[I].Items[J].Enabled := False else MainMenu1.Items[I].Items[J].Enabled := True; end;
Agora, deve haver saídas mais elegantes...
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)