![]() |
Größenänderung der Komponente im Formulardesigner
Wie kann ich ermitteln ob eine Größenänderung meiner Komponente im Formulardesigner beendet wurde? Prinzipiell kann ich ja Größenänderungen mit WMSize feststellen. Aber wie kann ich jetzt ermitteln ob der Benutzer die Maustaste wieder losgelassen hat und die Größenänderung damit beendet ist? Ich möchte eine Aktion erst dann starten wenn die Größenänderung beendet ist.
Hat jemand eine Idee wie ich meinem Ziel näher kommen kann? |
Re: Größenänderung der Komponente im Formulardesigner
Hallo MatthiasW!
Zitat:
Viel Erfolg wünscht schöni |
Re: Größenänderung der Komponente im Formulardesigner
Moin!
Zitat:
Er ist in der Designzeit, daher nützt ihm sowas nicht. Mal eine andere Frage: Brauchst du diese Informationen um nicht ständig etwas neu aufbauen zu müssen was wiederrum Zeit kostet und damit das resizen zu einer Qual macht? Wenn ja, dann löse ein invalidate beim Resize aus und schaue im Paint nach, ob sich die Grösse geändert hat - wenn ja, dann dort das benötigte neu erstellen. Hintergrund: Das "dreckig" markieren von Bereichen einer DC wird von Windows automatisch akkumuliert und zusammen gefasst. Das neu zeichnen wird in regelmässigen Abständen aufgerufen so lange etwas anliegt, aber gleichzeitig fasst es viele Anforderungen zusammen. Dadurch wird auch das Zeichnen entkoppelt. Andere Möglichkeit: Einfach die SetBounds() Methode überschreiben - diese wird eh immer am Ende von Resizing aufgerufen und dann entsprechend reagieren. Beachte: Erst nach dem Inherited im SetBounds() hat die Komponente die neue Grösse... MfG Muetze1 |
Re: Größenänderung der Komponente im Formulardesigner
Zitat:
Zu dem was ich machen will: ich möchte, wenn eine Eigenschaft "IntegralHeight" gesetzt ist und die Gesamthöhe nicht genau ein vielfaches eines festgelegten wertes ist, die Controlhöhe neu setzen. Diese kann ich aber nicht solange tun wie die Größe noch verändert werden kann, denn dann wäre eine Größenänderung mit der Maus (im Formulardesigner) sehr schwierig bis unmöglich. Ich kann also meine funktion zum prüfen und setzen erst drauf loslassen wenn die Größenänderung abgeschlossen ist. |
Re: Größenänderung der Komponente im Formulardesigner
Hallo,
meine Vermutung hat sich als falsch erwiesen, das "SetBounds" wird doch erst ausgelöst wenn die Maustaste losgelassen wurde. Danke für den tipp so klappst |
Re: Größenänderung der Komponente im Formulardesigner
Moin!
Vor allem kannst du dort vor dem Inherited Aufruf die Höhe noch anpassen auf ein Vielfaches deiner Eigenschaft. MfG Muetze1 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 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