|
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;
}
|