PDA

Ver la Versión Completa : Deshabilitar submenu de un TMainMenu


Ziara
13-02-2009, 13:17:22
Hola, cómo puedo deshabilitar un submenu de un menu del componente TMainMenu?

es decir:

Archivo ->Menu
(y dentro de Archivo)
Abrir ->Submenu
Guardar ->Submenu
Cerrar ->Submenu

la forma de deshabilitar el Menu sería:

MainMenu->Items->Items[1]->Enabled = false;pero con:

MainMenu->Items->Items[1]->Items[3]->Enabled = false;por ejemplo, para deshabilitar el Submenu Cerrar no tiene éxito. :confused:

Gracias.

Caro
13-02-2009, 15:08:06
Hola, no manejo c++Builder pero en delphi sería así:


//Para el primero
MainMenu1.Items[1].Enabled := False;

//para el submenu
MainMenu1.Items[1][1].Enabled := False;

//Si tienes mas submenus
MainMenu1.Items[1][1][1].Enabled := False;

//Prueba algo así
MainMenu->Items[1][2]->Enabled = False;


lo unico que tuenes que tomar en cuenta es que empieza desde la posición 0. Si archivo es tu primera opción estara en la posición 0 y Cerrar estara en la posición 2.

Saluditos

escafandra
13-02-2009, 17:13:57
MainMenu->Items->Items[1]->Items[2]->Enabled = false;

El primer submenú comienza en 0!! Summenu Cerrar es el Items[2]

Saludos.

Ziara
14-02-2009, 09:28:57
Gracias! Tenía que haber tenido en cuenta de que empezaba en 0.

Sé como se inserta imágenes en el submenus cuando estan habilitados, pero cuando están deshabilitados, se puede insertar también una imagen? lo he probado asi:

this->MainMenu->Items->Items[0]->Items[3]->Enabled = false;
this->MainMenu->Items->Items[0]->Items[3]->ImageIndex = 3;

pero no aparece nada, lo que digo si se puede hacer algo como con los TSpeedButton que tienes dos imágenes, uno para el boton habilitado y el mismo pero en gris para el deshabilitado.

Un saludo.

escafandra
16-02-2009, 11:16:21
Ziara, tu código si funciona. ¿Has ajustado la propiedad Images de MainMenu al ImageList que tengas en tu Form?

Saludos.

Ziara
16-02-2009, 13:01:33
Hola escafandra.

¿Has ajustado la propiedad Images de MainMenu al ImageList que tengas en tu Form?Si, me he asegurado de que estuviese. Cuando ejecuto la aplicación aparece la silueta de la imagen y gris (como también deshabilitado) pero no consigo que aun deshabilitado el submenu me aparece la imagen que yo quiero del ImageList.