Foros Club Delphi

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

Luis Abraham 21-06-2008 00:14:40

Menú Ventana con TActionMainMenuBar
 
Que tal foro!!!

He hecho varias aplicaciones MDI y siempre he utilizado un MainMenu en ellas, ahora en una nueva aplicación estoy utilizando un ActionMainMenuBar y un ActionManeger pero no he podido hacer que en el menú "Ventana" se agreguen los MDIChild forms que se abren.

Con el MainMenu es tan facil como asignar el nombre del MainMenu a la propiedad Menu del Form y el nombre del menú ventana a la propiedad WindowMenu del mismo, pero ahora con el ActionMainMenuBar y el ActionManeger no he podido hacerlo funcionar ya que a la propiedad Menu del Form no le puedo asignar el ActionMainMenuBar y si lo pongo a mano obtengo el siguiente error:
Cita:

Invalid property value
He leído en Internet que en Delphi 7 hay un bug relacionado con ActionMainMenuBar en aplicaciones MDI, pero estoy trabajando con Delphi 2007 y supongo que ya debe de estar arreglado puesto que Borland sacó un fix en Mayo del 2007.
¿Alguna idea de como hacerlo usando estos componentes?

Muchas gracias de antemano!

roman 21-06-2008 04:10:04

Hola,

El componente ActionMainMenuBar tiene una propiedad WindowMenu que sustituye a la propiedad análoga del formulario. "Simplemente" tienes que asignarle el título (caption) del menú que quieras usar, por ejemplo, "Window".

Entrecomillo simplemente porque hay que fijarse bien cuál es el caption del menú. Para hacer la prueba comencé agregando las acciones estándar de la categoría Window y arrastre ésta al ActionMainMenuBar. Pues bien, aunque en el menú se vea claramente que dice "Windows", en realidad el caption es "&Windows", según se ve en el inspector de objetos.

Otra cosa es que en Delphi7 me funciona sin problemas, pero en en Delphi 2007 me ha funcionado sólo si asigno la propiedad por código y no en el inspector de objetos :confused:

// Saludos

Luis Abraham 21-06-2008 17:57:28

Hola roman!

Si, ayer mientras leía varias páginas en Internet, encontré justo lo que me dices sobre la propiedad WindowMenu del ActionMainMenuBar, pero intenté asignarle el caption tal cual lo veo en el Object Inspector (&Ventana) y no funcionó, pero lo que no sabía era que tenía que ser con comillas, así que lo intentaré de nuevo y también asignándoselo por código para ver cual es el resultado.

Muchas gracias por la ayuda!

Luis Abraham 22-06-2008 18:56:07

Tienes toda la razón roman, solo funciona si asignas la propiedad por código.

Intenté poniendo el caption de mi menú ventana en el object inspector con y sin comillas y de ninguna de las 2 formas funcionó, pero cuando se la asigné en el OnCretae del MDIForm funcionó a la perfección, incluso agregó un separador al menú:

Código:

ActionMainMenuBar1.WindowMenu := '&Window';
Nota: Solo para aclarar, las comillas no son necesarias, cuando se las puse por código tampoco funcionó.

Saludos y muchas gracias de nuevo!!!


La franja horaria es GMT +2. Ahora son las 16:05:00.

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