Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Delphi-Form nach wsMaximizied hinter Windows 7-Taskbar


OlafSt - Mo 16.12.13 14:55
Titel: Delphi-Form nach wsMaximizied hinter Windows 7-Taskbar
Hallo Freunde,

genanntes Problem wurde schon 2008 hier besprochen, fand aber keine Lösung.

Mein Programm wird mit WindowState:=wsMaximized gestartet. Es wird auch maximiert dargestellt und alle Controls passen sich optimal an. Aber das Formular ist zu groß, der untere Teil liegt hinter der Taskbar.

Irgendjemand eine Idee, was dagegen zu unternehmen ist ?


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Mo 16.12.2013 um 22:52


Delete - Mo 16.12.13 15:13

...eine Form im Vollbild-Modus anzeigen?
Hide the taskbar

http://www.swissdelphicenter.ch/de/showcode.php?id=552


baumina - Mo 16.12.13 15:23

siehe http://www.delphipraxis.net/43029-form-windowstate-%3D-wsmaximized-mit-ohne-maximize-button.html Beitrag #2


OlafSt - Mo 16.12.13 16:07

Der Tip von @baumina war schon nicht schlecht. Das Fenster maximiert sich und hat auch die korrekte Größe. Aber es klebt am untersten Rand, der unterste Teil ist noch immer vom Taskbar verdeckt und ich habe oben einen hübschen Abstand vom Bildschirmrand.

Auch der Post #8 [http://www.delphipraxis.net/310049-post8.html] in diesem Thread hat das gleiche Ergebnis - Form ist nach unten verschoben.


baumina - Mo 16.12.13 16:23

Ist denn das Ergebnis vom manuellen Maximized ein anderes als das das du mit dem Programmcode erreichst? Oder stimmt das auf deinem Bildschirm nie?


OlafSt - Di 17.12.13 13:45

Startet mein Hauptformular mit wsMaximized, dann hat es die Größe 1920x1080 (Bildschirmauflösung). Ergo ist es Bildschirmfüllend, aber die Taskbar von Windows 7 verdeckt den untersten Teil.

Manuelles wsMaximized im OnShow-Event bringt das Fenster auf die korrekte Größe, aber es ist quasi am unteren Rand ausgerichtet, ich habe also über dem Titlebar des Fensters einen Rand, der so breit ist wie die Taskbar. Dadurch, das das Fenster "zu tief" liegt, ist wiederum der unterste Teil des Fensters vom Taskbar verdeckt.

Ich habe ehrlich gesagt keine Ahnung, wie ich das umgehen soll... Das Rect, das ich im OnShow ermittle, ist (0,0,1920,1002 oder so), anhand dieser Angaben sollte das Fenster also korrekt liegen - tuts aber nicht.


baumina - Di 17.12.13 14:02

Mit manuellem Maximized meinte ich den Klick auf den Maximized-Knopf, bzw. Doppelklick auf die Fensterleiste.


OlafSt - Di 17.12.13 16:39

Dieses manuelle Maximize funktioniert tadellos.