Code / Funktion ausführen NACHDEM alle Elemente eines Forms geladen sind ?
-
Hai auch...
Laut der Onlinehilfe bei BCB 5 werden folgende Ereignisse beim erzeugen eines Forms abgearbeitet:
1. OnCreate
2. OnShow
3. OnActivate
4. OnPaintIch möchte nun automatisch eine Funktion ausführen, wenn das Formular angezeigt wird aber erst NACHDEM alle Buutons, Editfelder und Memos gezeichnet wurden. OnPaint scheidet meiner Meinung nach dabei aus, da diese Funktion dann jedesmal beim Paint des Forms ausgeführt wird, bei OnActivate habe ich beim ausführen der Funktion aber leider noch nicht alle Elemente komplett gezeichnet und die Funktion um die es mir hier geht dauert eine ganze Weile, ich würde gerne vorher das Form mit allen Elementen haben um keine "Löcher" im Form zu haben...
Gibt es sowas wie AfterShow oder AfterActivate ?
-
Wenn Formularkomponenten in der Routine angesprochen werden, wäre es wohl das Einfachste, das in der OnCreate durchzuführen und währenddessen einen Splash-Screen anzuzeigen.
Wenn es um reine Berechnungen geht, wäre es vielleicht am sinnvollsten, die Berechnungen in einen Thread auszulagern und diesen in der OnCreate zu starten.
Grüße Joe_M.
-
Im OnShow einen Timer starten, der solange wartet bis das Formular angezeigt wurde, dann im OnTimer Ereignis deine Berechung machen. So ist das Formular da.