MausEvents in WindowedScreen?

Anfängerfragen zum Programmieren mit PureBasic.
spider84
Beiträge: 76
Registriert: 05.03.2008 03:06

MausEvents in WindowedScreen?

Beitrag von spider84 »

Habe einen WindowedScreen in einem Fenster und würde gerne die Maustasten abfragen - die Position kann ich mit WindowMausX/Y bekommen. Die normalen Event-Abfragen scheinen nicht zu klappen, da ein Screen wohl kein Gadget o.ä. ist. Die Mouse-Bibliothek wollte ich aber nicht unbedingt verwenden, weil man sie nicht bei normalen Anwendungen nehmen soll und dabei der Mauszeiger auch verschwindet (wenn ich keinen eigenen zeichne). Vermutlich kann ich dann auch nicht mehr komfortabel zwischen Anwendungen switchen. Soll eine Art Point&Click-Spiel werden, deswegen will ich mit WindowedScreen statt Window&Gadget arbeiten...
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Maustasten fragst du über VirtualKeys ab...

Beispiel:
http://www.purebasic.fr/german/viewtopic.php?t=11280
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
spider84
Beiträge: 76
Registriert: 05.03.2008 03:06

Beitrag von spider84 »

danke, hab den Thread schon über die SuFu gefunden, aber wollte nicht glauben, dass das so kompliziert ist - nur wg einer einfachen Sache. Vlt sollte ich doch ImageGadget und normale Fenster nehmen.

Nachtrag: Hab jetzt doch die Mouse-Bibliothek benutzt
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

also, das Beispiel ist deshalb "kompliziert", weil es das Focus-Händling im Vordergrund hat.
als Gesamt-Beispiel durchaus sinnvoll, weil es mehrere Aspekte beleuchtet.

wenn du den Cursor nicht verstecken willst, und es ganz einfach und knackig haben willst...

es genügt dieser Block:

Code: Alles auswählen

;{*** Mouse Status ***
  If WindowMouseX(0)>=0 And IsScreenActive()
    MWX = WindowMouseX(0)
    MWY = WindowMouseY(0)
    MLC = GetAsyncKeyState_(#VK_LBUTTON)
    MRC = GetAsyncKeyState_(#VK_RBUTTON)
  EndIf
;} 
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten