Mousedown auf Button
Übersicht BlitzBasic BlitzPlus
HubsiBetreff: Mousedown auf Button |
Fr, Dez 01, 2017 22:08 Antworten mit Zitat |
|
---|---|---|
Nadend beisammen,
ich habe einen Button und möchte in jedem Schleifendurchlauf prüfen ob selbiger gedrückt ist (dauerhaft, MouseDown() quasi). Hab dann mit dem Event $201 experimentiert komme aber zu keinem Ergebniss. Stell ich mich einfach zu doof oder ist das schlicht nicht möglich? |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
HolzchopfMeisterpacker |
Fr, Dez 01, 2017 23:42 Antworten mit Zitat |
|
---|---|---|
Also $201 wird ja nur ausgelöst in dem Moment, wo die Maustaste vom ungedrückten in den gedrückten Zustand wechselt Ich würde mit einer globalen Variablen arbeiten, die du auf 1 setzt, wenn ein $201 Event kommt und auf 0, wenn ein $202 (MouseUp) Event kommt. Evtl. musst du auch 0 setzen, wenn ein AppSuspend kommt oder sonstige Sonderfälle berücksichtigen
Auf jeden Fall kannst du dann anhand dieser Variable prüfen, ob die Maustaste gedrückt ist. MfG |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
count-doku |
Sa, Dez 02, 2017 19:20 Antworten mit Zitat |
|
---|---|---|
Alternativ mit der Windows API und GetAsyncKeyState arbeiten. Dazu dann noch prüfen, ob dein Programm gerade aktiv/im Vordergrund ist und fertig | ||
Hubsi |
So, Dez 03, 2017 12:41 Antworten mit Zitat |
|
---|---|---|
Es will mir einfach nicht hinhauen
BlitzBasic: [AUSKLAPPEN] event=WaitEvent(0) In der Form tut er so als hätte es nie einen Klick gegeben. Frage ich dagegen nach dem Event $401 ab bekomme ich die Debugausgaben und den Stop. Aber leider erst dann wenn ich die Maustaste loslasse Ich könnte das ganze auch quick and dirty über die Tastatur laufen lassen, möchte ich aber nicht für immer und ewig. Was mache ich falsch? Den AsyncKeyState habe ich auch gegooglet, das bezieht sich aber immer auf die Tastatur? Und kann ich damit überhaupt die mit Plus erstellten Buttons abfangen? |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
RallimenSieger des 30-EUR-Wettbewerbs |
So, Dez 03, 2017 12:56 Antworten mit Zitat |
|
---|---|---|
Hallo,
das Problem wird sein das die Mouseevents nur auf Canvas funktionieren! |
||
[BB2D | BB3D | BB+]
|
count-doku |
So, Dez 03, 2017 12:57 Antworten mit Zitat |
|
---|---|---|
Ja und Nein. AsyncKeyState aus der Winapi geht für alle Hardwareknöpfe (Also auch Maus), aber nicht speziell für Elemente auf der Oberfläche.
Mein Gedanke war halt, das du das erste Button Down Event per B+ abfängst und dann checkst ob die Taste per GetAsyncKeystate noch gedrückt ist. Aber Holzchopfs Lösung ist an sich schon besser... Wenn es explizit um einen BlitzPlus Button geht, was spricht dann gegen ButtonState? EDIT: Habe gerade gemerkt, das ButtonState mit Buttons irgendwie nicht richtig funktioniert :/ Schade lg, Count-Doku |
||
RallimenSieger des 30-EUR-Wettbewerbs |
So, Dez 03, 2017 13:07 Antworten mit Zitat |
|
---|---|---|
Buttonstate funktioniert nicht bei den Standart Button
ich würde jetzt einfach einen eigenen Button mit canvas erstellen und den mittels Mousedown prüfen! |
||
[BB2D | BB3D | BB+]
|
Hubsi |
So, Dez 03, 2017 20:47 Antworten mit Zitat |
|
---|---|---|
Vielen Dank, dann werdens wohl hausgemachte Buttons in einem Canvas werden | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Thunder |
Mo, Dez 04, 2017 20:57 Antworten mit Zitat |
|
---|---|---|
Wenn ich mich richtig erinnere solltest du ein GadgetAction event bekommen ($401) dann musst du noch den EventSource() prüfen, ob das deinen Button zurückgibt (damit du mehrere Buttons abfragen kannst).
Edit: ich seh gerade, du willst schon ein Event bekommen, wenn der Button gedrückt wird. Mein Fehler. |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Übersicht BlitzBasic BlitzPlus
Powered by phpBB © 2001 - 2006, phpBB Group