Moin Moin,
habe folgende Funktionen gefunden
Delphi-Quellcode:
procedure Tmnb_form.WriteText(TransText: string);
var
MyHand: HWND;
MyDc: HDC;
MyCanvas: TCanvas;
begin
MyHand := GetDesktopWindow;
MyDc := GetWindowDC(MyHand);
MyCanvas := TCanvas.Create;
MyCanvas.Handle := MyDC;
BeginPath(MyCanvas.Handle);
MyCanvas.Font.Color := clRed;
MyCanvas.Font.Name := 'Courier New';
MyCanvas.Font.Size := 60;
SetBkMode(MyCanvas.Handle, TRANSPARENT);
EndPath(MyCanvas.Handle);
MyCanvas.TextOut(0, 0, TransText);
end;
oder
Delphi-Quellcode:
procedure DrawPicture(
const FileName:
string; Width: Integer = 0; Height: Integer = 0; Top: Integer = 0; Left: Integer = 0);
var
DC: HDC;
Canvas: TCanvas;
Bitmap: TBitmap;
begin
// Falls die Datei existiert, dann fortfahren
if FileExists(FileName)
then
begin
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile(FileName);
// Falls eigene Parameter angeben sind, werden diese benutzt.
if Height > 0
then
Bitmap.Height := Height;
if Width > 0
then
Bitmap.Width := Width;
// Wir holen uns den 'Device Context' vom Desktop
DC := GetWindowDC(GetDesktopWindow());
try
Canvas := TCanvas.Create();
try
// Wir weisen den DC dem Canvas zu
Canvas.Handle :=
DC;
// Das Bild wird an Left / Top auf den Desktop gezeichnet
Canvas.Draw(Left, Top, Bitmap);
finally
Canvas.Free;
end;
finally
ReleaseDC(0,
DC);
end;
finally
Bitmap.Free;
end;
end;
end;
beide funktionieren so gesehen recht ok! aber - was ist wenn der Text dann auf dem Desktop zu sehen ist?!
Wie bekomme ich den wieder weg?! oder stehe ich auf dem Schlauch?!