Seite 1 von 1

Auf Desktop zeichnen wie in OpenScreen - wie?

Verfasst: 23.10.2005 21:57
von AND51
Hallo!

Wie kann ich auf dem Desktop (ohne eigenes PB-Fenster malen, zeichnen, text/Bild ausgeben, als wäre der Desktop ein OpenScreen()? Und auch wieder löschen (mit einer transparenten Farbe)?

Jeder Post egal ob Code, Beitrag, Link, etc. ist willkommen!

Danke! MfG, AND51

Verfasst: 23.10.2005 22:50
von roherter
Hab das mal für dich rausgesucht,vileicht kannstes gebrauchen:

Code: Alles auswählen

; www.purearea.net (Sourcecode collection by cnesm)
; Author:  (updated for PB3.93 by ts-soft)
; Date: 22. November 2003

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

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

maus.POINT 

Repeat 
  ; hier werden die maus koordinaten ausgelesen 
  GetCursorPos_(maus) 
  ; 
  ; hier beginnt die verwirrung 
  StartDrawing(DesktopOutpute()) 
  Plot(maus\x, maus\y, $0000FF) 
  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
; FirstLine=1
; EOF

Re: Auf Desktop zeichnen wie in OpenScreen - wie?

Verfasst: 23.10.2005 23:02
von Danilo
AND51 hat geschrieben:Jeder Post egal ob Code, Beitrag, Link, etc. ist willkommen!
Der Desktop ist nicht dazu da um darauf wild rumzuzeichnen.

Es wäre also hilfreich wenn Du sagst was Du genau machen
möchtest, dann kann man genauer sagen wie es am sinnvollsten
zu machen ist.

Verfasst: 24.10.2005 14:26
von AND51
@ roherter: Danke für den Code!

@ danilo:
Der Desktop ist nicht dazu da um darauf wild rumzuzeichnen.
Nicht, dass du denkst, ich will ein Virus oder ein Scherzprogramm schreiben, aber ich habe mal in diesem Forum ein Programm gesehen, dass die Bewegung mit der Maus aufzeichnet. Beginnt man mit der Aufzeichnung, so wird ein countdown auf dem Desktop (nicht in einem fenster) angezeigt.
Sowas wollte ich in späteren programmen einmal nachmachen. Im Prinzip sammle ich also erst einmal nur den Code, um in meiner Codeschnipselsammlung hinzuzufügen.


MfG, AND51

Verfasst: 06.11.2005 10:07
von Kaeru Gaman
imho benutzt so ein programm ebenfalls ein fenster,
lediglich ein transparentes...

Verfasst: 06.11.2005 15:56
von AND51
Kaeru Gaman hat geschrieben:imho benutzt so ein programm ebenfalls ein fenster,
lediglich ein transparentes...
Aha! Und wie bekomme ich ein transparentes fenster?

Verfasst: 06.11.2005 16:12
von PMV
hm, es werden nur die Zahlen (der Countdown) auf dem Desktop dargestellt, oder?

Ich denke das wir einfach so gemacht, dass das fenster Unsichtbar erstellt wird, dann mittels API wird es so eingestellt, das es weder im Startmenü als Fenster angezeigt wird, noch im Taskmanager (weis jetzt nicht wie die API befehle lauten -.-). Anschließen wird per API für jede Zahl mit API ( CreateRectRgn_() ) die Regionens für jede Zahl erstellt und dann beim Anzeigen werden einfach die Regions der einzellnen Zahlen zusamen gesetzt und dem Fenster zugewiesen. Müsste so schnellgenug funktionieren :D

^^Kannst ja mal im PB-Forum dannach stöbern :wink:

MFG PMV

Verfasst: 06.11.2005 16:29
von AND51
danke f. d. tipp!