2008. szeptember 29., hétfő
Create a full screen form without auto-hiding the Windows Taskbar
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;
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése