Mausklick-Abfrage
Mausklick-Abfrage
Ich mal wieder...
Ich wollte mal wissen, mit welchem befehl man abfragt, ob eine Maustaste gedrückt wurde??? Aber ohne dafür nen Screen oder nen WindowedScreen öffnen zu müssen???
Ich wollte mal wissen, mit welchem befehl man abfragt, ob eine Maustaste gedrückt wurde??? Aber ohne dafür nen Screen oder nen WindowedScreen öffnen zu müssen???
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
also, ernsthafte Antwort:
du kannst innerhalb deiner Eventverarbeitung den Eventtype prüfen,
auf Gadgets die das unterstützen.
http://www.purebasic.com/german/documen ... ttype.html
oder
über Win-API kannst du den Virtual Key für die Maustaste abfragen,
das ist dann Gadgetunabhängig, aber auch Fensterübergreifend.
GetAsyncKeyState_(#VK_LBUTTON)
du kannst innerhalb deiner Eventverarbeitung den Eventtype prüfen,
auf Gadgets die das unterstützen.
http://www.purebasic.com/german/documen ... ttype.html
oder
über Win-API kannst du den Virtual Key für die Maustaste abfragen,
das ist dann Gadgetunabhängig, aber auch Fensterübergreifend.
GetAsyncKeyState_(#VK_LBUTTON)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
OK, Danke für die Antwort, das mit WinAPI sieht schonmal ganz gut aus, aber eins versteh ich nicht:
Wieso endet das Programm automatisch nach dem Start, wobei dieses Programm
erst endet, nachdem ich die Esc-Taste drücke?
Code: Alles auswählen
Repeat
Delay(10)
Until GetAsyncKeyState_(#VK_LBUTTON)
End
Code: Alles auswählen
Repeat
Delay(10)
Until GetAsyncKeyState_(#VK_LBUTTON)
End
Verzeihung, mein Fehler...
Hier nochmal die Codes (jetzt aber richtig):
Also Dieser Code hier funktioniert nicht, wenn ich die linke Maustaste drücke:
Dieser Code hier allerdings Funktioniert, wenn ich die Escapetaste drücke:
Woran liegt das?
Hier nochmal die Codes (jetzt aber richtig):
Also Dieser Code hier funktioniert nicht, wenn ich die linke Maustaste drücke:
Code: Alles auswählen
Repeat
Delay(10)
Until GetAsyncKeyState_(#VK_LBUTTON)
End
Code: Alles auswählen
Repeat
Delay(10)
Until GetAsyncKeyState_(#VK_ESCAPE)
End
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
keine Ahnung, was du da verbuchselt hast...
probier mal sowas:
probier mal sowas:
Code: Alles auswählen
CreateImage(0,16,16)
StartDrawing(ImageOutput(0))
Line( 0, 0, 16, 16,$00FFFF)
Line( 0, 16, 16,-16,$00FFFF)
StopDrawing()
OpenWindow(0, #PB_Ignore,0, 400,300,"Bla")
ImageGadget(0,16,16,16,16,ImageID(0))
Repeat
Event = WaitWindowEvent()
If GetAsyncKeyState_(#VK_LBUTTON)
ResizeGadget(0,WindowMouseX(0),WindowMouseY(0),#PB_Ignore,#PB_Ignore)
EndIf
Until Event = #PB_Event_CloseWindow
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
nein, das funktioniert logischerweise...
> Also Dieser Code hier funktioniert nicht, wenn ich die linke Maustaste drücke:
da scheint noch was in der queue zu hängen, frag mich nicht wieso...
so gehts:
> Also Dieser Code hier funktioniert nicht, wenn ich die linke Maustaste drücke:
da scheint noch was in der queue zu hängen, frag mich nicht wieso...
so gehts:
Code: Alles auswählen
GetAsyncKeyState_(#VK_LBUTTON)
Repeat
Delay(10)
Until GetAsyncKeyState_(#VK_LBUTTON)
End
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.