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?

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?

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
Dank euch im Voraus.

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

)
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
Aber fast "Cocoa"

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...