Hola,
Cita:
Empezado por Román
No sé si esto es una limitante de los formularios MDI en general o sólo de la implementación que de ellos hace Delphi pero hasta donde recuerdo, si tu formulario tiene un MainMenu, los botones no desaparecerán.
|
Me ha llamado la atención y he hecho algunas pruebas. Efectivamente, con Delphi 7 los botones del formulario "MDIChild" se pierden al maximizarse este, si es que el formulario "padre" no tiene un "TMainMenu". En C++ Builder (como era de esperar, al hacer uso de la VCL) ocurre exactamente igual que en Delphi.
Sin embargo, con Visual C# .NET no sucede así: si el formulario "padre" no tiene "MainMenu" aunque se maximize el formulario "hijo" este no pierde sus controles. Si el formulario "padre" tiene "MainMenu" este pasa a formar parte del formulario "hijo": es de suponer que si el "hijo" tuviera también su propio menú ambos se unirían de manera similar a como ocurre en Delphi.
Después de esperar unos minutos hasta poner el IDE de Delphi 2005 en marcha he podido también comprobar que con Delphi .NET el tema va como en C#, es decir, lo dicho para Visual C# vale también para Delphi .NET, como era presumible, por otro lado, al hacer uso de los mismos servicios de la plataforma .NET.
Por último, si se trabaja con la VCL .NET se está en la misma posición que con la VCL para Win32: los formularios "MDIChild" pierden los controles si el formulario principal no cuenta con un "TMainMenu". Ignoro si en los casos que he dicho que pierden los controles los formularios "MDIChild" no lo hacen si estos cuentan con su propio "TMainMenu".
Ahora os dejo, porque tengo que matar el proceso de Delphi 2005, puesto que considero que más de un par de minutos sin responder y más de 100 MB de memoria RAM en uso no es de recibo. La madre que lo parió. (Aquí está Delphi 7 en segundo plano con menos de 3 MB de memoria RAM ocupada.