Alles was nicht irgendwo von TWinControl abgeleitet ist, oder man selbst wissentlich ein Fenster für angelegt hat, zeichnet sich auf den Parent-Canvas. Im Fall der
VCL fallen hier vor allem Nachfahren von TGraphicControl ins Auge.
Nachfahren von TWinControl (wie TButton, TMemo, TStaticText etc.) erstellen für sich ein ganz neues Fenster - das hat halt nur keine Borders, ist in ein Parent-Fenster eingegliedert und ist so groß wie die Komponente - aber hier werden dann explizit Ressourcen vom
OS für angefordert, und auch ein systemweites
Handle vergeben. Nebst einem eigenen Canvas, der sich in die Z-Order des
OS eingliedert. TWinControls kann man z.B. von aussen per FindWindow() ausmachen, TGraphicControls nicht, weil sie eben aus Sicht von Windows nicht existieren, und nur Grafik sind. Nicht viel anders als wie wenn du TForm.Canvas.LineTo() o.ä. benutzt.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)