![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#2
|
|||
|
|||
Pues si no recuerdo mal, y he entendido bien lo que pretendes, creo que esto es automático...
En el formulario principal debes asignar dos propiedades: -La propiedad Menu donde se le asigna el menú principal vinculado a la ventana -La propiedad WindowMenu que es el punto de menú donde se acumulan las ventanas creadas, y al clicar te devuelve la ventana seleccionada. Creo recordar que esto solo funciona con ventanas MDI(no estoy seguro) Saludos |
#3
|
||||
|
||||
Una forma fácil de hacerlo manualmente es mediante el uso de la propiedad tag:
Y en los formularios secundarios colocar esto en el evento OnClose:
Automatizar esto requiere algo mas de trabajo pero se puede hacer con un par de clases y realizando sunclassing del formulario principal y de los secundarios. Saludos. |
#4
|
||||
|
||||
¿integer(Form) qué guarda, un puntero al formulario?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
Exacto. El MenuItem guarda un puntero al formulario hijo y éste guarda un puntero a su MenuItem.
Saludos. |
#6
|
||||
|
||||
![]() ![]() ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
||||
|
||||
Explico un poco más el sistema:
La idea más sencilla es hacerlo manualmente, de forma que se cree un MemuItem por cada formulario secundario y que cada Item tenga una forma de conocer su formulario asignado. Al mismo tiempo cada formulario debe conocer su MenuItem para proceder a su destrucción al cerrarse. La manera más sencilla de guardar estas cosas en el tag de cada componente mediante un puntero. De esta forma un OnClicMenuItem traería fácilmente a primer plano el formulario solicitado y si éste se cierra, podría destruir su MenuItem puesto que lo tiene guardado en su Tag.
En el formulario secundario pondremos el sigueinte codico en el evento OnClose:
Esto es muy sencillo pero para cada nuevo formulario que implementemos debe ser ajustado manualmente. Si queremos automatizar esto un poco más, nos tenemos que complicar un poco con técnicas de sunclassing del formulario principal y de los secundarios para ser capaces de responder a los mensajes WM_COMMAND enviados a los MenuItems del Formulario principal, responder apropiadamente y para conocer cuando se va a cerrar un formulario secundario. Saludos. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Mdi no repetir ventanas abiertas | José Luis Garcí | Varios | 15 | 05-03-2009 08:02:05 |
Barra de ventanas abiertas | Vlady | OOP | 3 | 10-02-2009 10:40:12 |
For a todas las ventanas abiertas. | rauros | Varios | 1 | 03-08-2008 22:07:59 |
Cantidad de VEntanas abiertas | Paradiso | Varios | 1 | 22-06-2006 02:42:51 |
Ventanas abiertas | Isaac | Varios | 3 | 11-02-2004 16:44:37 |
![]() |
|