Rysowanie w pasku tytułu formularza

Normalnie możemy rysować tylko w obszarze formularza, ale jeśli chcielibyśmy narysować coś na jego pasku tytułowy musimy w pliku nagłówkowym formularza utworzyć nowy obiekt typu TCanvas tzw. "płótno":

Unit1.h

TCanvas *FullCanvas;

który następnie inicjalizujemy w konstruktorze formularza:

Unit1.cpp

__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
   FullCanvas = new TCanvas;
}

i w funkcji obsługującej zdarzenie OnPaint formularza wywołujemy funkcję Windows API GetWindowDC(), która zwraca uchwyt do tzw. kontekstu urządzenia całego okna (tj. obszaru formularza, paska tytułu, menu i suwaków), a następnie za pomocą funkcji Draw() rysujemy w punkcie o współrzędnych x=100, y=5 zawartość komponentu Image1, który znajduje się na tym formularzu, po skończeniu rysowania za pomocą funkcji Windows API ReleaseDC() zwalniamy kontekst urządzenia podając jako parametry uchwyt do okna i uchwyt do płótna:

Unit1.cpp

void __fastcall TForm1::FormPaint(TObject *Sender)
{
   FullCanvas->Handle = GetWindowDC(Handle);
   FullCanvas->Draw(100, 5, Image1->Picture->Graphic);
   ReleaseDC(Handle, FullCanvas->Handle);
}

na koniec w funkcji OnClose wywoływanej w momencie zamykania formularza zwalniamy pamięć zajmowaną przez nasze płótno FullCanvas:

Unit1.cpp

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
   delete FullCanvas;
}