[MaxGUI] Event GadgetActivated?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Holzchopf

Meisterpacker

Betreff: [MaxGUI] Event GadgetActivated?

BeitragSo, Nov 21, 2010 18:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein Problem: Wenn man mit Tabulator oder den Pfeiltasten zwischen Buttons und Checkboxes hin- und herwechselt, dann geschieht das, ohne dass meine Anwendung davon Wind kriegt. D.h: Es wird kein Event ausgelöst, wenn ein neues Gadget aktiviert wird.

Meine Frage: Gibt es elegantere Lösungen, als in regelmässigen Abständen das Aktive Gadget mit ActiveGadget zu ermitteln? Ich denke dabei an eine Lösung, irgendwie über die API Gadgets dazu zu zwingen, ein Event auszulösen, wenn sie aktiviert werden.
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Thunder

BeitragSo, Nov 21, 2010 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Die einzige andere, mir bekannte, Möglichkeit wäre der Gebrauch von SetGadgetSensitivity und eine Überprüfung bei jedem EVENT_MOUSEUP und EVENT_KEYUP. Doch ich glaube, das würde nur mehr Probleme schaffen, da diese Events (z.B. bei Textfeldern) auch ausgelöst werden, wenn Text getippt wird.
Wenn du das aktive Gadget immer (ziemlich) aktuell haben willst, würde ich die regelmäßige Überprüfung nehmen.

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

TimBo

BeitragSo, Nov 21, 2010 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
ja vielleicht geht es ja wie Thunder beschrieben hat und du aktualsierst es immer dann, wenn du es auch brauchst Rolling Eyes Musst ja bestimmt nicht immer wissen, welches Gadget "aktiviert" ist oder?
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

Macintosh

BeitragSo, Nov 21, 2010 22:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Könntest es auch so machen: Wenn Tabulator oder Pfeiltaste gedrückt, dann aktuallisiere.

TimBo

BeitragSo, Nov 21, 2010 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
mit der Maus kann man das ja auch verändern...
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Holzchopf

Meisterpacker

BeitragSo, Nov 21, 2010 22:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Macintosh: Und wie mache ich das? Confused Ich könnte ja schon ein HotKeyEvent auf Pfeiltasten legen, aber dann kann ich in Textfeldern diese Tasten nicht mehr gebrauchen, da HotKeys offenbar keine anderen Funktionen mehr erfüllen können =/

Timbo: Eben doch. Ich muss immer wissen, welches Gadget Aktiviert ist. Und zwar noch bevor dieses sonstige Events auslöst. Es ist nämlich so, dass ich gewissen Gadgets Hotkeys zuweisen will (zB die selbe Taste, aber je nach aktivem Gadget soll's ein anderes Gadget mit dem Hotkey angesprochen werden). Und weil es möglich ist, das Navigieren durch Buttons vor MaxGUI zu verstecken, kann ich nicht sicherstellen, dass immer das richtige Gadget den Hotkey hat.

Edit
Ich könnte natürlich die HotKeys auf die Pfeiltasten wieder entfernen, wenn ein TextFeld o.Ä. aktiviert wird. Ich schau mal, ob das auch zuverlässig und ohne grossen Aufwand klappt...

Edit 2
Der Aufwand ist nicht gerade gering (brauche eine Steuerung pro Fenster), aber es klappt: Jedes Fenster /jeder Dialog führt eine Liste mit Gadgets, bei denen die Pfeiltasten nicht gebraucht werden (also von Windows zum Navigieren eingesetzt werden. Nach WaitEvent wird geschaut, ob das aktive Gadget in einer Liste ist. Wenn ja, dann werden die HotKeyEvents erstellt, andernfalls gelöscht. So entgeht mir kein neu aktiviertes Gadget mehr Wink
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group