Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.431 Beiträge
 
Delphi 7 Professional
 
#8

AW: Abgeschnitten Formulare

  Alt 14. Mär 2022, 16:08
Zitat:
den obigen Codeschnipsel in OnActivate verschoben. Das war's
...nicht ganz. OnActivate wird jedesmal aufgerufen, wenn das Formular den Focus erhällt. Wenn das nicht gewünscht ist, dann OnShow.
Dazu schrieb
Zitat von Der schöne Günther:
Ich kann mich an nichts genaues mehr erinnern, aber ich habe solche Sachen aus dem OnFormCreate -Event üblicherweise so verschoben dass sie beim ersten Aufruf von OnActivate ausgeführt werden.
Man beachte dazu des kleine Wort ersten vor dem Aufruf.
Da braucht man dann 'nen Schalter, der beim ersten Aufruf entsprechend gesetzt wird, so dass die Routine nachher nicht mehr aufgerufen wird. Dabei ist es dann egal, ob sie nach dem ersten Aufruf beim OnActivate oder beim OnShow nicht mehr aufgerufen wird
Und das hat den Vorteil, dass das Fenster nach dem ersten Aufruf nicht mehr an dieser Stelle neu positioniert wird, wenn es zur Progammlaufzeit mal an 'ne andere Stelle verschoben wurde.

Enthält das Ereignis OnActivate nur die Logik zur Positionierung, kann man statt 'nen Schalter zu benutzen auch einfach die Ereigniszuweisung entfernen OnActivate := Nil;
  Mit Zitat antworten Zitat