Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Desactivar ítemes en un menú

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Desactivar ítemes en un menú Responder citando

Podéis mandarme a la porra, porque seguro que alguno lo ha respondido, pero después de media hora dando vueltas por el foro no lo encuentro. Vamos a ver:

Tengo un PopupMenu con tres ítemes: Activo, Suspenso y Baja y queiro que las opciones sean accesibles o no (Enabled true o flase) dependiendo del resultado de un query. ¿Cómo se podría hacer? He estado probando con:
Código:
Menu->Items[i]->Enabled = false;
Menu->Items->Item[i]->Enabled = false;

pero ambas me dan error de compilación.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Código:
    //    el menu     primera   elemento
    // ele 0        1        2
    //   Activo, Suspenso y Baja
    this->PopupMenu->Items[0].Items[1]->Enabled = false; //suspenso deshabilitado



Prueba asi..
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Nada más sencillo Angel Wink , si te fijas verás que cada uno de los items del popopmenu tiene su propio nombre (Propiedad name), eso significa que puedes acceder a todas y cada una de las propiedades de cualquiera de los items definidos en el popupmenu simplemente llamándolo en el código por su nombre. En tu caso y si no has editado especificamente tu mismo el nombre de los items deben llamarse Activo1, Suspenso1, y Baja1 respectivamente. Así que directamente en el código puedes escribir por ejemplo:
Código:

Activo1->Enabled = false;

y esto deshabilitará el primero de los items.
_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias a los dos. Tugui: tu sugerencia fue la primera que usé, pero no me vale no porque no funcione sino porque los menús son dinámicos. La idea de César me viene mejor, pero me da un error de ejecución. Voy a explicar completo lo que tendría que hacer:
    1. Poner todas las opciones del menú a Enabled = false.
    2. Ejecuto un query para comprobar situaciones y activar sólo las que tengan datos.

Estaba cometiendo un error y era recorrer el menú en un bucle variando el primer índice, y ha de ser el segundo el que varíe, así:
Código:
for (int nItem = 0; nItem < Popup->Items->Count; nItem ++)
     Popup->Items[0].Items[nItem]->Enabled = false;

Luego, con un query, activo las opciones que me interesan por tener datos.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.