![]() |
Alterar el Toolbar de un Form
Hola Foro!
Mi problema es el siguiente: Cuando maximizo el MainForm de mi programa, éste debe hacerlo pero no debe ocupar toda la pantalla, sino que necesito dejar en la parte inferior, un 10% sin cubrir ... Para todo lo demás, debe lucir como una operación de Maximización-Restauración convencional. Intenté hacerlo así: unit UMain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND; end; var Form1: TForm1; implementation uses UImpresor; {$R *.DFM} procedure TForm1.WMSysCommand; begin if (Msg.CmdType = SC_MAXIMIZE) then begin Top := 0; Left := 0; Height := (Screen.Height) - (Screen.Height div 9); Width := Screen.Width; Msg.CmdType := SC_RESTORE; end; DefaultHandler(Msg); end; end. Cuando maximizo, obtengo el resultado deseado, pero como no se como implementar el boton de restaurar en la toolbar, y hacer que esa función se simule también. Podrían ayudarme? GRACIAS! |
Al menos en la versión 7 de delphi los formularios disponen de la propiedad MaxHeight que permite indicar la altura máxima del formulario. Podrás cambiar el tamaño de la ventana, maximizarla, restaurarla, etc. pero la altura nunca sera mayor que la que ahí se indica.
En tu caso la podríamos utilizar en el evento OnCreate
|
De todas formas y volviendo a tu pregunta, si quieres seguir haciéndolo de esa manera deberías de hacer algo como esto:
De esta manera ya podrás maximizar y restaurar sin problemas, aunque si se modifica el tamaño de la ventana manualmente no podrás controlarlo como si lo hace la propiedad MaxHeight. |
Cool
Wow.... que ingenioso!! Solucionaste mi problema en una sola línea!!!
Muchísimas Gracias! :D |
Hola nemo.
Bienvenido a estos foros, ya que eres relativamente nuevo. Te recomiendo que leas la Guía de estilo y que utilices TAG's en tus mensajes cuando coloques código Delphi. NOTA: Mira el código que has añadido tú y el que ha añadido Seoane. ¿Cual se lee mejor? ;) |
La franja horaria es GMT +2. Ahora son las 06:27:06. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi