MouseAbfrage ohne API und ohne Fenster?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

MouseAbfrage ohne API und ohne Fenster?

Beitrag von Xaby »

Ich hab hier mal ein bisschen gelesen
http://www.purebasic.fr/german/viewtopi ... =vklbutton

Allerdings funktioniert das alles nicht so, wie ich mir das vorstelle.

Zurzeit verwende ich #VK_LBUTTON und

Code: Alles auswählen

   For i=1 To 4
      If GetAsyncKeyState_(i)    
        result+i
      EndIf
    Next 
Allerdings funktioniert GetAsyncKeyState_() nicht auf MacOS, und auch nicht in der PureBasic-Demo und was am schlimmsten ist, scheinbar auch nicht, wenn mein Fenster nicht den Fokus hat.

Also eventuell bei der Tastatur, aber wenn ich mit der Maus in ein Fenster klicke, weiß mein Programm nicht, dass geklickt wurde, wenn ich nicht in mein eigenes Fenster klicke.

Wie kann ich den Mausklick abfragen, wenn der Mausklick irgendwo außerhalb meines Fensters geschieht? Und welche Möglichkeit habe ich mit PureBasic, das Ganze ohne API zu lösen?

:roll:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: MouseAbfrage ohne API und ohne Fenster?

Beitrag von edel »

Xaby hat geschrieben: [...]

Wie kann ich den Mausklick abfragen, wenn der Mausklick irgendwo außerhalb meines Fensters geschieht? Und welche Möglichkeit habe ich mit PureBasic, das Ganze ohne API zu lösen?

:roll:
Ohne Api geht da nichts.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

@Edel

wie geht es denn bei MacOS? Ich möchte einfach gern meinen Code auch auf einem Mac zum Laufen bekommen.

Vielleicht muss ich anders die Frage stellen:

Wie lauten die "API"-Befehle für ... bzw. kennt jemand einen, der schon mal davon gehört hat, dass die Schwester einen Freund hat, der gelesen hat, dass es etwas in dieser Richtung geben kann und der vielleicht auch weiß, wie man das anwenden müsste ... :?

- Windows
- MacOS
- Linux

:freak:

Dank euch im Voraus. :allright:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Schenk mir nen Mac und ich sag es dir ;)


Im Code selber kannst du ja dann solche Konstrukte nutzen :

Code: Alles auswählen

  CompilerSelect  #PB_Compiler_OS     
    CompilerCase #PB_OS_Linux
      ; gdk hilfe ...
    CompilerCase #PB_OS_MacOS
      ; kakao hilfe
    CompilerCase #PB_OS_Windows
      ; msdn
  CompilerEndSelect
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: MouseAbfrage ohne API und ohne Fenster?

Beitrag von Kaeru Gaman »

Xaby hat geschrieben:Allerdings funktioniert GetAsyncKeyState_() ... scheinbar auch nicht, wenn mein Fenster nicht den Fokus hat.
natürlich funktioniert GetAsyncKeyState_() auch, wenn dein fenster nicht den fokus hat.
aber dein fenster bekommt keine events gesendet, wenn es nicht den fokus hat.
wenn du also ein WaitWindowEvent() in deiner Schleife hast, legst du dein Fenster selber lahm.


...Informationen über OSX-API bzw. Linux-API musst du dir halt zusammensuchen,
genauso wie du dir die Informationen über Windows-API gesucht hast.
für letzteres gibt es die MSDN, aber für MAC und Linux gibts sowas auch.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Ja, mit dem WaitWindowEvent() haste wohl Recht.

Das war auch schon mal ein Ansatz von mir, allerdings hatte ich mich dann einem anderen Projekt gewibmet und dann war der Gedanke auch wieder aus dem Kopf /:-> (immer diese Anfängerfehler :oops: )

Dank euch. Tja und was MacOS angeht, ... das mit dem Suchen versuche ich ja unter anderem auf diesem Wege >:)

@edel
http://www.google.de/search?hl=de&q=kakao+macos&meta=

Scheinbar heißt das Fenstersystem bei MacOS doch nicht Kakao :roll:
Aber fast "Cocoa" :allright:
Kinder an die Macht http://scratch.mit.edu/
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Tja und was MacOS angeht, ... das mit dem Suchen versuche ich ja unter anderem auf diesem Wege

wir haben z.b. auch ein unterforum "APIs"...
dort könnte man die Frage stellen mit dem Titel
"Entsprechung von GetAsyncKeyState_() unter OSX-API"
...nur mal als Beipsiel...

und wenn man mit solch doch sehr spezifischen Fragen hier im deutschen
Forum keine Antworten bekommt, kann man auch mal im internationalen
(englischen) Forum fragen, da laufen noch mehr MAC-User rum als hier...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten