Auf Desktop zeichnen

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Auf Desktop zeichnen

Beitrag von Christian »

hallo,
hat das schon jemand plattformübergreifend hinbekommen ?
ich habs so probiert:
funktioniert leider schon unter gnome ned

Code: Alles auswählen

var
  ScreenDC: HDC;
  Bitmap: TBitmap;
  ACanvas: TCanvas;
begin
  Bitmap := TBitmap.Create;
  try
    ScreenDC := GetDC(0);
    ACanvas := TCanvas.Create;
    ACanvas.Handle:=ScreenDC;
    ACanvas.Font.Color := clRed;
    ACanvas.Font.Name := Text;
    ACanvas.Font.Size := 32;
    ACanvas.TextOut( Round((Screen.Width/2)-(ACanvas.TextWidth(Text)/2)), Round((Screen.Height/2)-(ACanvas.TextHeight(Text)/2)), 'lkasjdhlkfjshdlkfhKA') ;
    ReleaseDC(0, ScreenDC);
    Canvas.Draw(0, 0, Bitmap);
  finally
    Bitmap.Free;
  end;
end;
 
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1630
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Auf Desktop zeichnen

Beitrag von corpsman »

So viel ich weis ist das was du da hast die Windoof lösung, eine KDE variante würde mich auch interessieren, scheint aber auch nicht ohne zu sein ...
--
Just try it

Soner
Beiträge: 740
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Auf Desktop zeichnen

Beitrag von Soner »

Ich würde in die Quelltexte von hsetroot oder fsetroot schauen. Die Programme zeichnen ja auch Bilder auf den Desktop.
Ich würde aber vorher probieren ob man bei Gnome-desktop mit diesen Programmen auf den Desktop zeichnen kann. Also Desktophandler von Gnome (Nautilus?) killen und dann versuchen. Bei Xfce(Xubuntu 12.10) ging das nicht obwohl ich xfdesktop beendet hatte. Erst beim Abmelden (XFCE beendet) sah man das Bild. Xfce erzeugt wahrscheinlich ein Vollbildfenster auf den Desktop.

Als zweite Lösung kannst du in das Dekstopfenster ein Panel plazieren und das Zeichnen. Das geht mit Windows. Panel ist dann auf gleiche Ebene wie hintergrundicons. Vielleicht geht das auch mit LInux. Versuchmal Panel1.Parent:=GetDesktopWindow.

Benutzeravatar
theo
Beiträge: 10927
Registriert: Mo 11. Sep 2006, 19:01

Re: Auf Desktop zeichnen

Beitrag von theo »

So direkt geht das afaik nicht ohne weiteres.
Allgemein immer gut, für Anfanger sowie für alte Hasen: Beschreibe das Ziel, nicht einen Schritt

;-)

Antworten