PDA

Ver la Versión Completa : Componente Menú Dinámico


mantraxer21
30-03-2013, 22:51:38
Estimados,

Tengo que desarrollar una aplicación en que los usuarios pasan por un sistema de Nivel de acceso, de las cuales tienen que activar o desactivar opciones del Menu...

Algún componente que pueda ayudar?

O ayuda técnica referente a ello ?

Gracias

nlsgarcia
30-03-2013, 23:12:06
mantraxer21,


...aplicación en que los usuarios pasan por un sistema de Nivel de acceso, de las cuales tienen que activar o desactivar opciones del Menu...


Revisa estos links:

Función Menu Dinámico (users) BD : http://www.clubdelphi.com/foros/showthread.php?t=81889&highlight=opciones+menu

Menu Dinamico Utilizando Componente dxnavbar : http://www.clubdelphi.com/foros/showthread.php?t=82015&highlight=menu+dinamico

Menu configurable : http://www.clubdelphi.com/foros/showthread.php?t=65463&highlight=menu+dinamico

Menús en tiempo de ejecución : http://www.clubdelphi.com/foros/showthread.php?t=23982&highlight=menu+dinamico

¿Como crear menu dinamico? : http://www.clubdelphi.com/foros/showthread.php?t=25024&highlight=menu+dinamico


Espero sea útil :)

Nelson.

ecfisa
31-03-2013, 01:38:33
Hola mantraxer21.

Es muy vaga la descripción de la situación como para dar un ejemplo en concreto, pero agrego otra variante a las que ya te ha sugerido Nelson.

procedure MenuesLevelAccess(aForm: TForm; const UserLevel: Integer);
var
i,j: Integer;
begin
with aForm do
for i:= 0 to ComponentCount-1 do
if Components[i] is TMenuItem then
with TMenuItem(Components[i]) do
Enabled := Tag <= UserLevel;
end;


Ejemplo de uso:

procedure TForm1.FormCreate(Sender: TObject);
begin
// Asignar niveles de acceso (1 a 5 para el ej.)
with MainMenu1 do
begin
with Items[0] do
begin
Items[0].Tag := 1; // menor acceso
Items[1].Tag := 2;
Items[2].Tag := 3;
Items[3].Tag := 4;
Items[4].Tag := 5; // mayor acceso
end;
{
with Items[1] do
...
end
}
end;

with PopupMenu1 do
begin
Items[0].Tag:= 1;
Items[1].Tag:= 2;
Items[2].Tag:= 3;
Items[3].Tag:= 4;
Items[4].Tag:= 5;
end;
//...
MenuesLevelAccess(Form1, 0); // no hay acceso sin registrarse
end;

...

//Ejemplo de llamada:
procedure TForm1.btnUserLogClick(Sender: TObject);
begin
...
MenuesLevelAccess(Form1, UserLevelAccess);
end;


Saludos.

radenf
31-03-2013, 14:10:15
Estimados,

Tengo que desarrollar una aplicación en que los usuarios pasan por un sistema de Nivel de acceso, de las cuales tienen que activar o desactivar opciones del Menu...

Algún componente que pueda ayudar?

O ayuda técnica referente a ello ?

Gracias

En este link (http://www.clubdelphi.com/foros/showthread.php?t=66941) se discutió el tema y se sugirió usar un componente que hace lo que tu quieres.

Salu2