Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Verhindern des Ändern der Fenstergröße ?
Hamster - Di 18.01.05 02:20
Titel: Verhindern des Ändern der Fenstergröße ?
Hallo
ich habe jetzt ein Problem, das mich wirklich schon seit mindestens einer Stunde ans Forum & Google bindet:
Wie bekomme ich hin, das der User (der mein Programm ausführt) nicht in der Lage ist, die größe zu ändern ?
Ich habe nun schon so ziemlich alles geklickt und durchsucht .. bitte um hilfe :)
€dit: Hat sich erledigt. Ich habe eine (wie ich finde) doofe lösung gefunden. Einfach das ganze Fenster Transparent geamcht, und nen Panel als Background verwendet. Fertig :))
Moderiert von
Tino: Topic aus Sonstiges verschoben am Di 18.01.2005 um 12:06
Stübi - Di 18.01.05 08:45
Morgen,
ist eine etwas komplizierte Lösung wenn man bedenkt, dass man im Objektinspektor der Form einfach die Minimun und Maximunwerte angeben kann, und dies unter der Eigenschaft Constraints.
Gruss Stübi
Heiko - Di 18.01.05 09:06
Kannst aber auch im OnResize-Ereignis die größe des Fensters abfragen und dann die größe des Fensters abfragen. Wenn die größe des Fensters dier nicht gefällt kannste dann die größe des Fensters verändern mit Form1.Width oder Form1.ClientWidth (über die beiden fragst du die größe einfach nur ab)
Heiko - Di 18.01.05 09:10
Mir ist noch eine Möglichkeit eingefallen. Verändere vom Formular einfach den BorderStyle, z.B. zu bsSingle (bei einige dieser Borderstyles kann die Fenstergröße nicht verändern).
Motzi - Di 18.01.05 11:51
Heiko hat folgendes geschrieben: |
Mir ist noch eine Möglichkeit eingefallen. Verändere vom Formular einfach den BorderStyle, z.B. zu bsSingle (bei einige dieser Borderstyles kann die Fenstergröße nicht verändern). |
Und das sollte auch die vorzuziehende Lösung sein!! ;)
Stübi - Di 18.01.05 11:58
Motzi hat folgendes geschrieben: |
Heiko hat folgendes geschrieben: | Mir ist noch eine Möglichkeit eingefallen. Verändere vom Formular einfach den BorderStyle, z.B. zu bsSingle (bei einige dieser Borderstyles kann die Fenstergröße nicht verändern). |
Und das sollte auch die vorzuziehende Lösung sein!! ;) |
Darf ich fragen aus welchen Gründen?
Stübi
Motzi - Di 18.01.05 12:05
Stübi hat folgendes geschrieben: |
Darf ich fragen aus welchen Gründen? |
Weil in diesem Fall der WS_THICKFRAME-WindowStyle nicht gesetzt wird, was der offizielle Weg ist:
PSDK hat folgendes geschrieben: |
WS_THICKFRAME
Creates a window that has a sizing border. Same as the WS_SIZEBOX style. |
Alle anderen hier geposteten Vorschläge sind quick and dirty Workarounds - einige "kreativer" als andere, aber wirklich ideal ist keiner.
Bei deiner Constraints-Lösung zb kann man das Fenster zwar nicht mehr in der Größe ändern, aber der Cursor ändert sich trotzdem noch wenn ich in den entsprechenden Bereich komme. Das würde ich als User doch als etwas verwirrend empfinden...
Heiko - Di 18.01.05 12:06
Weil die Variante am wenigsten Sytemresourcen braucht (im Gegensatz zu meiner ersten Idee), außerdem benötigt diese Variante keinen zusätzlichen Quelltext. Ich denke aber, dass es die beste Variante ist, da man nicht das Icon bekommt, für das verändern der größe des Fensters (wenn man mit der Maus am Formularrand ist)
Heiko - Di 18.01.05 12:09
Ach so, und noch etwas wenn du Borderstyle auf bsSingle änderst, stelle bei BorderIcons biMaximize auf false, da man sonst das Fenster noch Maximieren kann (soll ja schließlich auch verhindert werden)
Stübi - Di 18.01.05 12:12
Motzi hat folgendes geschrieben: |
Bei deiner Constraints-Lösung zb kann man das Fenster zwar nicht mehr in der Größe ändern, aber der Cursor ändert sich trotzdem noch wenn ich in den entsprechenden Bereich komme. Das würde ich als User doch als etwas verwirrend empfinden... |
Ok, vorallem das klingt sehr überzeugend, den Rest wusste ich nicht, danke.
gruss Stübi
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!