Gib bei "CreateCompatibleBitmap" mal den echten Bildschirm-
DC ("RealDC") als ersten Parameter an und nicht "BufferDC".
P.S. normalerweise räumt man auf, indem man mit SelectObject in einen
DC selektierte
GDI-Objekte wiederherstellt (SelectObject gibt das
Handle des vorher selektierten Objekts zurück). Also in TCanvas.Create die beiden Rückgabewerte von SelectObject sichern und in TCanvas.Destroy mit SelectObject wiederherstellen
bevor man die momentan eigenen mit DeleteObject löscht.