![]() |
Borderstyle bsNone und "normales" Maximieren
Hallo Leute!
Ich habe da mal eine ganz kurze Frage. Habe ein Formular mit BorderStyle bsNone, welches sich wie ein normales Fenster verhält. Minimieren/Wiederherstellen klappt, Größe ändern ist auch kein Problem, Fenster verschieben geht auch super. Eigentlich hasse ich ja Programme, die einen eigenwilligen Look haben, aber so war es leider gewünscht. Jetzt kommt das Problem, und zwar möchte ich neben den Minimize/Close-Buttons auch einen Maximize/Restore Button einbauen. Ist soweit ja auch einfach, nur leider ist das Fenster dann auf dem ganzen Bildschirm, also auch über der Taskleiste. Hat da jemand vielleicht einen kleinen Ansatz, wie man das hinbekommt? Das ist die einzige Stelle im Programm, an der ich nicht weiter komme.... Danke im vorraus für Antworten und noch einen schönen Sonntag :wink: Alexander |
Re: Borderstyle bsNone und "normales" Maximieren
Setzte doch die Constraints dementsprechend.
|
Re: Borderstyle bsNone und "normales" Maximieren
Wie hast du das maximieren denn implementiert?
|
Re: Borderstyle bsNone und "normales" Maximieren
Hi,
Delphi-Quellcode:
bevor du das auslöst, speicherst du eben die top, height, width, left des Forms in globale Variablen und bei einen erneuten Klick auf den Maximize/Restore-Button setzt du die Werte aus den Variablen.
left := 0;
top := 0; width := screen.workareawidth; height := screen.workareaheight; |
Re: Borderstyle bsNone und "normales" Maximieren
Bis jetzt lief das so:
Delphi-Quellcode:
Danke schonmal für die Antworten - werde es mal so versuchen, wie von Andreas vorgeschlagen :-D
if WindowState = wsNormal then
PostMessage(Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0) else if WindowState = wsMaximized then PostMessage(Handle, WM_SYSCOMMAND, SC_RESTORE, 0); |
Re: Borderstyle bsNone und "normales" Maximieren
Delphi-Quellcode:
So würd ichs machen. Aber das wird wahrscheinlich dein Problem nicht lösen, Andreas' Lösung wahrscheinlich schon eher.
case WindowState of
wsNormal: WindowState:=wsMaximized; wsMaximized: WindowState:=wsNormal; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10: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