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