Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Recorrer Menú??? (https://www.clubdelphi.com/foros/showthread.php?t=66759)

darkone2k4 10-03-2010 23:12:04

Recorrer Menú???
 
salu2 amigos.

Les escribo por lo siguiente:
En mi BD tengo una tabla "perfil" con los siguientes campos:

1.- Código, que es el código asignado al perfil.
2.- TAG, que equivale al tag asignado a cada opción del menú.
3.- Estado, del tipo boolean que me indica si está activo o no una opción del menu.

Como puedo recorrer el mainmenú y sus opciones para que, dependiendo del TAG y el estado, activar o desactivar una opción del menú al momento de cargar el formulario principal???

Desde ya, muchas gracias.

AzidRain 10-03-2010 23:21:47

Si estas haciendo un control de usuarios, te recomiendo UserControl, un componente brasileño muy bueno y que te evita perder tiempo. Te permite hacer precisamente lo que deseasy por si fuera poco es libre.

rgstuamigo 10-03-2010 23:31:18

Cita:

Empezado por darkone2k4 (Mensaje 356493)
Me equivoqué de lugar, si pueden borren este tema, haré la pregunta en la sección que corresponda....

Ya he movido y unido ambos hilos...;)
Cita:

Empezado por darkone2k4 (Mensaje 356493)

Como puedo recorrer el mainmenú y sus opciones para que, dependiendo del TAG y el estado, activar o desactivar una opción del menú al momento de cargar el formulario principal???

Desde ya, muchas gracias.

El tema ya se ha tratado en multiples ocasiones, puedes mirar al final de ésta misma página entre los "temas similares" por ejemplo éste Hilo.;)
Saludos...:)

Caro 10-03-2010 23:34:36

Hola darkone2k4, para recorrer puedes hacer lo siguiente:

Código Delphi [-]
 for ind :=0 to ComponentCount-1 do
 begin
  if Components[ind] is TMenuItem then
   if TMenuItem(Components[ind]).Tag = Query.FieldByName('Tag').AsInteger then
     TMenuItem(Components[ind]).Visible := Query.FieldByName('Estado').AsBoolean; //Visible o Enabled (el que necesites)
  end;

Saluditos

darkone2k4 11-03-2010 19:29:12

Cita:

Empezado por Caro (Mensaje 356497)
Hola darkone2k4, para recorrer puedes hacer lo siguiente:

Código Delphi [-]
 for ind :=0 to ComponentCount-1 do
 begin
  if Components[ind] is TMenuItem then
   if TMenuItem(Components[ind]).Tag = Query.FieldByName('Tag').AsInteger then
     TMenuItem(Components[ind]).Visible := Query.FieldByName('Estado').AsBoolean; //Visible o Enabled (el que necesites)
  end;

Saluditos

Muchas gracias por la respuesta, era justo lo que necesitaba!!!!


La franja horaria es GMT +2. Ahora son las 04:56:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi