bei maximierung positionsänderung des forms verhindern
hallo!
ich habe folgendes problem: ich stelle ein formular dar, das je nach inhalt einmal maximiert werden darf und einmal wieder nicht. folglich will ich den maximierungsbutton nicht ausblenden, weil es sonst verwirrend ist. hab es nun mit constraints gelöst, die meinem fenster einfach eine feste größe geben. soweit so gut, d.h. wenn ich auf den button klicke, passiert rein garnichts. ausgenommen, dass das fenster ins linke obere eck wandert, allerdings in der fixen größe. klicke ich wieder drauf, wandert es wieder dorthin retour, wo es vorher war. ich hab nun also die maximierung verhindert, aber nicht, dass das fenster mit der linken oberen ecke ins linke bildschirmeck zieht. hat wer von euch eine idee, wie ich das verhindern könnte. denn es schaut sonst reichlich sonderbar aus, wenn sich die fenstergröße zwar nicht ändert, das formular sich aber plötzlich im eck oben befindet. also sozusagen springt. es soll aber nicht generell unterbunden werden, sondern nur für eine bestimmte festerdarstellung. d.h. sozusagen ein flag kann verwendet werden, das angibt, ob das fenster einen typ hat, der maximieren erlaubt oder nicht. gewissermassen eine fallunterscheidung. danke! stephan. |
Re: bei maximierung positionsänderung des forms verhindern
Hi,
ich finde es sehr verwirrend, wenn man einen aktiven Maximieren-Button hat, dieser jedoch nichts bewirkt. Ich würde das so lösen:
Delphi-Quellcode:
// Maximierung erlauben
Form1.BorderIcons := [biSystemMenu, biMinimize, biMaximize]; Form1.BorderStyle := bsSizeable; // Maximierung unterbinden Form1.BorderIcons := [biSystemMenu, biMinimize]; Form1.BorderStyle := bsSingle; |
Re: bei maximierung positionsänderung des forms verhindern
Bei Delphi6 sollte es ausreichen, wenn Du aus den Bordericons des Formulars das biMaximize rausnimmst bzw. es hinzufügst. Dann kann der Anwender mal maximieren und mal nicht, so wie Du es steuerst.
|
Re: bei maximierung positionsänderung des forms verhindern
Zitat:
Außerdem: Falls du den Minimieren-Button anzeigst, verschwindet ein ausgeblendeter Maximieren-Button ja nicht, sondern wird nur ausgegraut. Wenn's aber unbedingt sein muss, schau dir doch mal WM_GETMINMAXINFO an. Uli. |
Re: bei maximierung positionsänderung des forms verhindern
Die korrekte Lösung wurde bereits erwähnt. Aber als Ergänzung:
Bist du sicher, dass nichts passiert, wenn du das über Constraints löst? Eigentlich müsste doch der Maximieren-Button trotzdem das Symbol wechseln, was erst recht verwirrend ist. |
Re: bei maximierung positionsänderung des forms verhindern
ja, er wechselt das symbol.
ich hab das mit dem umsetzen schon mal versucht (das icon verschwinden zu lassen) nur geht das bei einem "unsichtbaren" form bzw. beim onshow nicht. mal schauen, ob ich das beim create oder so reinpacken kann. also wo, bevor das form angezeigt wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz