Home » Tipps & Tricks » Grafik » Zeichnen » Zeichnen auf den Desktop
Zeichnen auf den Desktop
Über die Windows-API-Funktion GetDC können Sie den sog. „display device context“ ermitteln. Wenn Sie diesen einem TCanvas-Objekt als Handle übergeben, können Sie mit der kompletten TCanvas-Funktionalität auf dem Desktop zeichnen.
procedure TForm1.Button1Click(Sender: TObject); var DCanvas: TCanvas; DHandle: HWND; begin DHandle := GetDC(0); if DHandle <> 0 then begin try DCanvas := TCanvas.Create; try DCanvas.Handle := DHandle; DCanvas.Font.Color := clRed; DCanvas.Font.Size := 72; DCanvas.Brush.Style := bsClear; DCanvas.TextOut(10, 10, 'Ein Schriftzug'); finally DCanvas.Free; end; finally if ReleaseDc(0, DHandle) <> 1 then RaiseLastOSError; end; end else RaiseLastOSError; end;
RaiseLastOSError ist erst ab Delphi 6 verfügbar. Programmierer, die mit älteren Versionen arbeiten, müssen an dieser Stelle RaiseLastWin32Error verwenden.