Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Resize von tForm (https://www.delphipraxis.net/215908-resize-von-tform.html)

BRobby 24. Sep 2024 15:11

Resize von tForm
 
Hallo zusammen,

ich möchte gerne folgendes erreichen:

Bei der Größenänderung einer Form mittels Maus rechts unten sollen die Komponenten im Clientbereich erst nach dem Loslassen der rechten Maustaste angepasst werden, in der Routine FormResize.
Wie kann ich den Aufruf von FormResize bis zum Loslassen der Maustaste unterbinden? (VCL !)

jaenicke 24. Sep 2024 15:55

AW: Resize von tForm
 
Das war vor 20-30 Jahren aufgrund mangelnder Leistung üblich. Heute wäre das sehr ungewöhnlich. Bist du wirklich sicher, dass du das so möchtest, oder hast du nur ein Problem mit Flackern oder ähnlichem?

Du kannst auf WM_EXITSIZEMOVE reagieren. Das wird bei Abschluss der Größenänderung gesendet, egal ob diese per Tastatur oder Maus erfolgt.

himitsu 24. Sep 2024 15:58

AW: Resize von tForm
 
Diese Funktion wird eigentlich im Windows eingestellt.

Fensterinhalt beim Ziehen, bzw. Vergrößern. (oder irgendwie so)



Ja, man könnte bestimmt beim Start der Vergrößerung/Vergleinerung das Alignment der VCL-Komponenten vorübergehend deaktivieren und es nur einmal zum Schluß machen.

jaenicke 24. Sep 2024 16:01

AW: Resize von tForm
 
Gibt es noch die Möglichkeit, diese Vorschaulinien anzuzeigen, statt das Fenster sofort in der Größe zu ändern? Ich hätte gedacht, dass das irgendwann rausgeflogen ist.

Davon abgesehen geht es hier aber soweit ich es verstehe darum, dass die Komponenten manuell (statt mit Anchors usw.) angepasst werden. Das Formular kann also ruhig angepasst werden, aber die Größenänderung soll nur einmal erfolgen. Deshalb vermute ich ja, dass das gar nicht das ursprüngliche Problem war.

himitsu 24. Sep 2024 16:04

AW: Resize von tForm
 
Ich suche auch gerde diese Option und finde sie nicht.

Aber im RDP ist das drin, also muß es ja per se im System vorhanden sein.



Es gibt irgendeinene Funktion/WinAPI, mit der man sowas deaktivieren kann,
um z.B. bei mehreren Controls/Fenstern die Position/Größe ändern zu können, ohne dass es währendessen nach jedem Control eine Aktualisierung gibt.

Mir fällt nur grade kein Suchbegriff ein, um es zu finden.

jaenicke 24. Sep 2024 16:15

AW: Resize von tForm
 
Startmenü --> Leistung eingeben --> Darstellung und Leistung von Windows anpassen
In dem Fenster kannst du dann "Fensterinhalt beim Ziehen anzeigen" deaktivieren. Das gibt es wirklich auch noch bei Windows 11.

himitsu 24. Sep 2024 16:17

AW: Resize von tForm
 
WM_SETREDRAW
BeginUpdate/EndUpdate (TStrings)
DisableControls/EnableControls (TDataSet)
LockDrawing/UnlockDrawing (Panels?)


Zitat:

Zitat von himitsu (Beitrag 1541471)
Es gibt irgendeinen Funktion/WinAPI, mit der man sowas deaktivieren kann,
um z.B. bei mehreren Controls/Fenstern die Position/Größe ändern zu können, ohne dass es währenddessen nach jedem Control eine Aktualisierung gibt.

Ahhhhhhhh
MSDN-Library durchsuchenLockWindowUpdate
da unten in den Kommentaren wiedergefunden
https://blogs.embarcadero.com/the-vc...n-twincontrol/


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:00 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