Wie wird die minimale Formularbreite in FireMonkey eingeschränkt?

7

Wie beschränke ich eine minimale Formularbreite in FireMonkey? Früher war es in VCL so einfach - es hatte nur Max- und Min-Einschränkungen in den Formulareigenschaften.

    
tdog2 07.11.2011, 00:54
quelle

4 Antworten

12

Hier ist eine kompliziertere (aber elegantere) alternative Lösung, die eine vollständig benutzerdefinierte Form-Klasse definiert, aus der Sie Ihre eigenen ... erben können.

%Vor%

Speichern Sie diese Datei als FMX.ConstrainedForm.pas, fügen Sie sie dem Abschnitt "uses" Ihres Formulars hinzu, und ändern Sie die Deklaration Ihres Formulars anstelle von:

%Vor%

es sagt:

%Vor%

Aufgrund des Fehlens einer benutzerdefinierten Lösung (an dieser Stelle ist dies eine "schnelle Lösung") müssen Sie das OnCreate-Ereignis Ihres Formulars wie folgt haken:

%Vor%

Jetzt erlaubt dieses Formular dem Benutzer nicht, seine Breite oder Höhe unter 400 zu setzen!

Noch einmal, ohne einige wesentliche Änderungen an der FireMonkey-Plattform selbst vornehmen zu müssen, ist dies das Beste, was Sie für jetzt bekommen werden!

    
LaKraven 08.11.2011 00:21
quelle
5

Platzieren Sie dieses Ereignis im Ereignis "OnResize" des Formulars und ersetzen Sie die Werte entsprechend. Zugegeben, nicht die beste Lösung der Welt, aber es wird Sie durchhalten, bis die Eigenschaften wieder eingeführt werden!

%Vor%

Der obige Code ist einfach genug, um für jede Kombination von Maxima oder Minima zu wechseln, also viel Spaß!

    
LaKraven 07.11.2011 20:19
quelle
2

LaKraven, simuliere ein mouseUp-Ereignis, um dieses Flimmern zu beseitigen.

%Vor%     
Sunec 14.04.2013 18:02
quelle
1

Zusätzlich zu LaKravens Antwort zu einer FormResize-basierten Lösung verwenden Sie ClientWidth und ClientHeight anstelle von Breite und Höhe, um das Strecken des Formulars zu verhindern.

%Vor%     
idearibosome 03.03.2015 10:37
quelle

Tags und Links