Seite 1 von 1

OSD (OnScreenDisplay?) auf dem Desktop?

Verfasst: 16.11.2004 17:56
von pvmichael
Hallo!

weiß jemand wie man einen Text auf dem Desktop (frei positionierbar) ausgeben kann? (Die Ausgabe sollte keinerlei Auswirkung auf andere Programme haben (Cursorfocus klauen usw.))

Danke und Grüsse

Michael

Verfasst: 16.11.2004 18:02
von DarkDragon
Codearchiv hilft ;)

Code: Alles auswählen

; www.purearea.net (Sourcecode collection by cnesm)
; Author:
; Date: 22. November 2003

#wMem=0 
Global Mem.l 
; hier werden 1024 byte speicher reserviert 
Mem = AllocateMemory(1024) 

Procedure.l DesktopOutput() 
  PokeL(Mem, 1) 
  ProcedureReturn Mem 
EndProcedure 

Repeat 
  ; 
  ; hier beginnt die verwirrung 
  StartDrawing(DesktopOutput()) 
  DrawText("Testtext")
  StopDrawing() 
  ; 
  ; delay für cpu entlastung 
  Delay(5) 
  ; hier wird die escape taste geprüft 
  If GetAsyncKeyState_(#VK_ESCAPE) 
    Quit = 1 
  EndIf 
  
Until Quit 
InvalidateRect_(0, 0, 0) 
End 

; ExecutableFormat=Windows
; EOF
http://www.purearea.net/pb/CodeArchiv/W ... Painter.pb

Verfasst: 16.11.2004 18:05
von pvmichael
Danke sehr.

PS: Das Codearchiv hatte ich dreimal nach sowas durchsucht, aber das hatte ich wohl übersehen :roll:

Verfasst: 16.11.2004 18:15
von DarkDragon
Ich wusste es, da ich das schon mehrmals aufgerufen hatte ;) . Das CodeArchiv ist manchmal echt zu groß und manchmal hats die falschen Titel. Da hätte ich DesktopOutput als Titel genommen, aber was solls, man kann den guten Andre nicht mit allem Belasten ;) .

Verfasst: 17.11.2004 08:07
von Danilo
Auf den Desktop zu zeichnen ist sehr schlecht. Während
das OSD etwas anzeigt darfst Du nichts auf dem Desktop
machen, da Du so auch auf andere Fenster malst.

Da ist ein Fenster schon viel besser. Geskinned mit der Schrift
und Stay-On-Top.
Oder per Overlay, wenn DX und Unterstützung vorhanden.

Verfasst: 17.11.2004 11:57
von pvmichael
@Danilo:

Das Problem hatte ich auch festgestellt, und da ich den Code aus dem Codearchiv nicht verstanden habe, hab ich ein borderless Fenster gemacht, indem eine schwarze Box gezeichnet wird, und mit grüner Schrift draufgemalt wird.

Grüsse

Michael