| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Vie 05 Nov, 2004 6:12 pm Asunto: Desactivar ítemes en un menú |
|
|
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 |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Vie 05 Nov, 2004 6:39 pm Asunto: |
|
|
| 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.. _________________
 |
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Vie 05 Nov, 2004 10:35 pm Asunto: |
|
|
Nada más sencillo Angel , 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 |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 08 Nov, 2004 10:36 am Asunto: |
|
|
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 |
|
 |
|