![]() |
Maximieren von Forms verhindern (mit spTBX Lib)
Hallo!
Grundfrage ist: Wie kann ich verhindern, dass meine Form maximiert wird? Eigentlich ganz simpel, gäbe es dort nicht ein paar Einschränkungen: -durch den Einsatz der TspTBXTitleBar aus der Komponentensammlung ![]() -Wenn ich einen Doppelklick auf die Titelleiste mache, wird das Fenster auch schön maximiert, wie bei einer normalen Titelleiste (also nicht spTBXTitleBar). Die würde ich gerne auch verhindern. :arrow: Läuft dieser Vorgang über Messages (WM_bla, CM_bla,...)? Kann ich diese schön abfangen und ins nichts verrinnen lassen? Gruß alias5000 |
Re: Maximieren von Forms verhindern (mit spTBX Lib)
Hast du es schon versucht mit folgender Umstellung?
Delphi-Quellcode:
Das müsste helfen!
Form.BorderIcon := [biSystemMenu,biMinimize]
|
Re: Maximieren von Forms verhindern (mit spTBX Lib)
Zitat:
Aber gibts net sowas wie CM_MAXIMIZE für ne Form oder so? Gruß alias5000 |
Re: Maximieren von Forms verhindern (mit spTBX Lib)
Eine Form hat doch die Eigenschaft OnCanResize. Einfach immer verbieten und das müsste es sein.
Ratte |
Re: Maximieren von Forms verhindern (mit spTBX Lib)
Aber woher soll ich erkennen, dass das Fenster maximiert werden soll. Wenn der User es sich so manuell hinzieht solls akzeptiert werden (auch wenn ich den Benutzer dann für blöd halte, so manuelles hinziehen sollte erlaubt sein). Ich will solches Verhalten, wie z.B. beim Doppelklick auf die Titelleiste oder im Systemmenü auf Maximieren halt verhindern.
Gruß alias5000 |
Re: Maximieren von Forms verhindern (mit spTBX Lib)
Also man könnte es "austricksen" ^^
Delphi-Quellcode:
Andere möglichkeit wäre die Constraints zu setzten :?
if Form.width >= Screen.Width then
dec(Form.Width, 2); if Form.Heigth>= Screen.Heigththen dec(Form.Heigth, 2); |
Re: Maximieren von Forms verhindern (mit spTBX Lib)
Ja aber das sind bloß so "halbe" Lösungen. Es geht nur darum, zu verhindern, dass der Maximiert-Status nicht geht.
Möglich ist es, TFormXY.windowState auf wsnormal zu setzen, wenn man im Ereignis TFormXY.OnResize feststellt, dass der windowState wsMaximized ist. Das Problem ist nur die Animation, die trotz allem ausführt wird. |
Re: Maximieren von Forms verhindern (mit spTBX Lib)
Ist WindowState blockiert?
Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin if Form1.WindowState = wsMaximized then Showmessage('Das Fenster ist nun maximiert'); end; |
Re: Maximieren von Forms verhindern (mit spTBX Lib)
Nein. Das funtkioniert schon, aber es läuft so ab:
Gruß alias5000 |
Re: Maximieren von Forms verhindern (mit spTBX Lib)
hmm... also ich finde, so ein Verhalten könnte vom User ziemlich einfach als "nein, ich will nicht maximiert werden" interpretiert werden. Noch ein "Beep;" dazu, und die Sache ist gegessen...
|
Re: Maximieren von Forms verhindern (mit spTBX Lib)
Logisch, zur Not nehm ich auch das, aber viel lieber wärs mir, wenn beim Doppelklick auf die Titelleiste gar nix passiert und wenn man im Systemmenü gar nicht auf maximieren klicken kann.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:17 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-2025 by Thomas Breitkreuz