Grafika
26.07.1999
  • Rysowanie na pulpicie.

      Żeby rysować na pulpicie, potrzebujesz uchwyt do tzw. device context (DC) pulpitu. Możesz go uzyskać poprzez funkcję API GetDC i przekazując jej parametr zerowy (NULL), albo używając funkcji GetDesktopWindow uzyskać uchwyt do pulpitu i potem przekazać go do funkcji GetDC.

//w pliku nagłówkowym (np. Unit1.h)

TCanvas *DesktopCanvas; 



//---------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{  
    DesktopCanvas = new TCanvas();  
    DesktopCanvas->Handle = GetDC(0);  
   //albo "DesktopCanvas->Handle = GetDC(GetDesktopWindow());"
    DesktopCanvas->Draw(50, 50, Image1->Picture->Graphic);
   //musisz wrzucić Image1 na formę
    ReleaseDC(0, DesktopCanvas->Handle);  
}  

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