Du kannst Dich in WM_Paint hängen und Dein eigenes Canvas erzeugen, ansonsten per GetDC das
Handle holen, in Deinem Canvas verwenden und wieder freigeben .
Delphi-Quellcode:
Canvas := TCanvas.Create;
try
Canvas.Handle := Message.DC;
finally
Canvas.Free;
end;