TForm i TApplication
10.08.1999
  • Rysowanie na pasku tytułowym formy.

       Właściwość Canvas obiektu TForm nie pozwala na rysowanie na pasku tytułowym. Na szczęście funkcja API GetWindowDC pozwala nam ominąć tę niedogodność, dając nam dostęp do całej formy. W poniższym przykłacie narysujemy bitmapę na pasku tytułowym (musisz umieścić jakiś TImage na formie).

//w pliku nagłówkowym  
   TCanvas *FullCanvas; 
//------------------------------------------------------ 
//w pliku źródłowym

__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
   FullCanvas = new TCanvas;
}
void __fastcall TForm1::FormPaint(TObject *Sender)  
{  
    //GetWindowDC zwraca uchwyt do całego  
    //obszaru formy, włączając pasek tytułowy 
    FullCanvas->Handle = GetWindowDC(Handle);  
    FullCanvas->Draw(100, 5, Image1->Picture->Graphic);  
    ReleaseDC(Handle, FullCanvas->Handle);  
}  

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