Hacer que un formulario ocupe más de una pantalla
Artículo por Club Developers · 31 diciembre 2005
3260 vistas
Y nos preguntaremos, ¿para qué queremos que un formulario ocupe más de una pantalla? La respuesta es sencilla, para trabajar con varios monitores a la vez con alguna VGA que nos lo permita.
Para este menester, sólo tendremos que capturar los mensajes WM_WINDOWPOSCHANGING y WM_GETMINMAXINFO
Para este menester, sólo tendremos que capturar los mensajes WM_WINDOWPOSCHANGING y WM_GETMINMAXINFO
delphi
type TForm1 = class(TForm) ... procedure WMWindowPosChanging(var AMessage: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING; procedure WMGetMinMaxInfo(var AMessage : TWMGetMinMaxInfo); message WM_GETMINMAXINFO; procedure Button1Click(Sender: TObject); ... end; implementation procedure TForm1.WMGetMinMaxInfo(var AMessage: TWMGetMinMaxInfo); var _sz: TPoint; begin _sz := Point(3000, 2000); with AMessage.MinMaxInfo^ do begin ptMaxSize := TPoint(_sz); ptMaxTrackSize := TPoint(_sz) end end; procedure TForm1.WMWindowPosChanging(var AMessage: TWMWindowPosChanging); begin // not inherited end; procedure TForm1.Button1Click(Sender: TObject); begin SetBounds(0, 0, 3000, 2000); end;