Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Größenänderung der Komponente im Formulardesigner

  Alt 13. Feb 2005, 02:42
Moin!

Zitat von schöni:
Hallo MatthiasW!

Zitat von MatthiasW:
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.
Erzeuge im Objektinspektor per Doppelklick die Ereignisbehandlungsmethode für OnMouseUp. Dort rein gehören dann alle weteren Aktionen.

Viel Erfolg wünscht

schöni
Hmm, versuch mal mit dem OI einer Komponente zur Designzeit was zu zu weisen welches die Komponente gerade in der Designzeit schon braucht.

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
  Mit Zitat antworten Zitat