Bei TTabsheet ist ein Canvas nicht vorgesehen und existiert deswegen auch nicht.
Du musst dir also das Devcie Context
Handle des Tabsheet-Windows besorgen (
getdc,
releasedc) und entweder direkt mit der
WinAPI darauf zeichnen oder du kapselst es in ein ControlCanvas. Schau dir dazu mal die Implementation von TCustomControl an.
Ich würde dir auch raten:
1. im Paint-Ereignis zu zeichnen. Ansonsten ist dein Gemälde ratz-fatz wieder weg.
2. Die Verweise auf globale Variablen zu umgehen
Edit: Den einen roten Kasten hatte ich ja,....
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.