Create a full screen form without auto-hiding the Windows Taskbar (Views: 718)
Problem/Question/Abstract: How do I set my form to display in full screen? No title bar, no borders, and it goes over the task bar (not by setting the task bar to "Auto Hide"). Answer: Emulating full screen mode: private {in form declaration} procedure WMGetMinMaxInfo(var msg: TWMGetMinMaxInfo); message WM_GETMINMAXINFO; procedure TForm1.WMGetMinMaxInfo(var msg: TWMGetMinMaxInfo); begin inherited; with msg.MinMaxInfo^.ptMaxTrackSize do begin X := GetDeviceCaps(Canvas.handle, HORZRES) + (Width - ClientWidth); Y := GetDeviceCaps(Canvas.handle, VERTRES) + (Height - ClientHeight); end; end; procedure TForm1.Button2Click(Sender: TObject); const Rect: TRect = (Left: 0; Top: 0; Right: 0; Bottom: 0); FullScreen: Boolean = False; begin FullScreen := not FullScreen; if FullScreen then begin Rect := BoundsRect; SetBounds(Left - ClientOrigin.X, Top - ClientOrigin.Y, GetDeviceCaps(Canvas.handle, HORZRES) + (Width - ClientWidth), GetDeviceCaps(Canvas.handle, VERTRES) + (Height - ClientHeight)); {Label2.caption := IntToStr(GetDeviceCaps( Canvas.handle, VERTRES ));} end else BoundsRect := Rect; end; |