Zitat:
Wenn ich eine Behandlung brauche, welche erst ausgeführt wird wenn die Form sichtbar ist, dann mach ich das PostMessage im OnShow.
Das ist so nicht richtig.
Code der im OnShow ausgeführt wird, wird schon ausgeführt
bevor das Formular sichtbar ist.
Das Formular ist erst im OnPaint sichtbar. Weder im OnShow noch im OnActivate ist es direkt nach Programmstart beim ersten Eventaufruf sichtbar. Testet es mal mit einer MessageBox.
Zitat:
Da OnPaint immer wieder aufgerufen wird,
Dafür setzt man dann auch eine Variable, damit genau das nicht passiert und Code initial dort nur einmalig ausgeführt wird.