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  
 
 
^^Kannst ja mal im PB-Forum dannach stöbern  
 
 
MFG PMV
 
			
					
				
				Verfasst: 06.11.2005 16:29
				von AND51
				danke f. d. tipp!