Den Wiederspreche ich ebenfalls.Da wiederspreche ich jetzt mal
Gezeichnet werden sollte im OnPaint wenn das anderswo im entsprechenden Widgetset funktioniert ists Zufall.
Unter MacOS z.b. geht das gar nicht und wird auch nie gehn. Im eigenen Interesse sollte man sich schon daran halten. Ein Bug ists jedenfalls nicht wenn ein Widgetset es "plötzlich" mal nicht mehr unterstützt.
Es handelt sich dabei um keinen Zufall sondern darum das sowas geht.
Das wende ich an wenn ich was Testen möchte.
Normaler weise muss man onPaint Events zeichnen das ist richtig. Allerdings auch nur wenn man es vorher nicht buffert.
Wenn man weiß was man tut kann man das auch Direkt auf die Paintbox zeichnen kein Problem.
Allerdings wird dann nach dem Neuzeichnen alles Weg sein. Es ist also keine "Magie" oder "Zufall". Es ist eine Möglichkeit von vielen.
In einigen meiner Test Projekte mache ich das so.
Siehe Oben. Allerdings geht es in allen bzw. bei GTK1 und GTK2. Bei mir. Bei GKT2 habe ich in letzter Zeit auch seltsame Überraschungen erlebt.Selbst wenn es geht, so ist es auf jeden Fall volatil. D.h. sobald die Form überlappt wird von einer anderen o.ä. ist die Zeichnung weg.
Der Canvas speichert die "Malerei" nicht. Bei jedem "invalidate" Ereignis (auch von Window Manager ausgelöst) ist sie weg.
Dieser Weg ist auf jedenfall nicht zu empfehlen. Die Widgetsets verpflichten sich nicht, das zu unterstützen