AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Rahmenlose Form maximieren auf Sreen-WorkArea

Ein Thema von Guido Eisenbeis · begonnen am 25. Aug 2009 · letzter Beitrag vom 30. Aug 2009
 
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#1

Rahmenlose Form maximieren auf Sreen-WorkArea

  Alt 25. Aug 2009, 00:40
Ein rahmenloses Fenster wurde von mir mit eigenen Min-, Max- und Close-Buttons ausgestattet. Beim Maximieren wird das Fenster jedoch nicht auf den Bereich von Screen.WorkArea vergrößert, sondern es verdeckt auch die Taskbar.

Erzeugt wird das rahmenlose Fenster mit:

Delphi-Quellcode:
// Form ohne Titelleiste und mit dünnem Rahmen erzeugen.
procedure TfrmMain.CreateParams(var Params: TCreateParams);
begin
  Inherited Createparams(Params);
  Params.Style := (Params.Style or WS_POPUP) and not WS_DLGFRAME;
end;
Maximier-Befehle:

Delphi-Quellcode:
frmMain.WindowState := wsMaximized;
 oder:
PostMessage(frmMain.Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
Derzeit habe ich das gelöst, indem ich dem Form-BoundsRect das WorkAreaRect zuweise. Um das Form-Rect mit dem WorkArea-Rect zu vergleichen, frage ich Left, Right, Top, Bottom, ... einzeln ab. (Maximized-Zustand kann ich ja nicht abfragen.)

Fragen:

1. Wie kann ich das "echte" Maximieren auf das WorkArea begrenzen?

2. Wie vergleiche ich zwei Strukturen (TRects), ohne jedes einzelne Element zu vergleichen?
(Also eine Lösung ala "if (Rect1 = Rect2) then".) (<- Extra-Thread eröffnen?)

3. Wie erzeuge ich eine rahmenloses Fenster, das den Punkt "Maximieren" im System-Menü hat?

Guido.
 
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz