Durchsichtiges Fenster auf Desktop?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Durchsichtiges Fenster auf Desktop?

Beitrag von Delle »

Hallo,

angenommen man will direkt auf dem Desktop etwas (z.B. ein Kreis) zeichnen...

Möglichkeit 1:

Man erstellt einen Screenshot vom Desktop und malt dann direkt drauf.

Möglichkeit 2:

Ein transparentes Fenster ohne Systemleiste usw. wo reingezeichnet wird und der Desktop im Hintergrund aktiv bleibt (also wenn man dadurch ICQ sehen kann, soll das nicht statisch bleiben sondern man soll Veränderungen sehen).

Geht Möglichkeit 2 irgendwie? Ich mein jetzt allerdings komplett transparente Fenster und keine Alphasachen. Man soll also im Fenster nur den gezeichneten Kreis sehen - dessen Inhalt und alles drumrum soll transparent sein (Desktopinhalt).
PB 6.21 | Win 11
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

oder du malst direkt auf den desktop

Code: Alles auswählen

Global Mem.l 
Mem = AllocateMemory(1024) 
Procedure.l DesktopOutput() 
  PokeL(Mem, 1) 
  ProcedureReturn Mem 
EndProcedure 

StartDrawing(DesktopOutput())
DrawText(10,10,"geht doch alles")
StopDrawing()
sowas und anders findest du im codearchiv auf purearea.net
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Kaeru Gaman hat geschrieben:mir ist immer noch nicht klar, wieso das funktionieren sollte...

wieso sollte das allocieren eines beliebigen KBs einen pointer auf den DC des desktops zurückliefern?
Die ganzen anderen Funktionen wie ScreenOutput usw liefern
auch nichts anderes (mal davon ab das der allozierte Speicher
zu gross ist). Es fehlt eigentlich nur das Handle zum Desktop,
da der aber eh meistens mit 0 angeben wird braucht man den
auch nicht mit hinein "poken"
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

mir ist immer noch nicht klar, wieso das funktionieren sollte...

wieso sollte das allocieren eines beliebigen KBs einen pointer auf den DC des desktops zurückliefern?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Kaeru Gaman hat geschrieben:mir ist immer noch nicht klar, wieso das funktionieren sollte...

wieso sollte das allocieren eines beliebigen KBs einen pointer auf den DC des desktops zurückliefern?
Die ganzen anderen Funktionen wie ScreenOutput usw liefern
auch nichts anderes (mal davon ab das der allozierte Speicher
zu gross ist). Es fehlt eigentlich nur das Handle zum Desktop,
da der aber eh meistens mit 0 angeben wird braucht man den
auch nicht mit hinein "poken"

Edit : Forum scheint ja massive Probleme zu haben ...
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

man muss nur dran glauben dann funktioniert es auch
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

xD
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

+C]:-)
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Beitrag von R4z0r1989 »

jetzt hab ich ne frage:

wie kann ich auf den desktop zeichnen wie auf nem screen?
Also das es nur auf dem desktop bleibt wenn die repeatschleife läuft?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

garnicht
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten