Seite 1 von 1

MouseAbfrage ohne API und ohne Fenster?

Verfasst: 09.07.2008 14:04
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:

Re: MouseAbfrage ohne API und ohne Fenster?

Verfasst: 09.07.2008 14:15
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.

Verfasst: 09.07.2008 14:18
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:

Verfasst: 09.07.2008 14:24
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

Re: MouseAbfrage ohne API und ohne Fenster?

Verfasst: 09.07.2008 14:43
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.

Verfasst: 09.07.2008 14:50
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:

Verfasst: 09.07.2008 14:55
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...