Zeichnen auf den Desktop |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Ü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.
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.