[MaxGUI] Tastendrücke werden nicht abgefangen/aufgelistet

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Artemis

Betreff: [MaxGUI] Tastendrücke werden nicht abgefangen/aufgelistet

BeitragDo, Jan 03, 2008 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe ein Fenster erstellt mit einem TreeView und diesen dann gefüllt. Jetzt möchte ich, dass wenn man ein TreeViewItem auswählt/ausgewählt hat und dann [Entf](Tastatur) drückt, dass ich dass als Event abfangen kann. Müsste ja eigentlich das Event EVENT_KEYDOWN sein.

Wenn ich mir nun folgenden Code nehme:
Code:
SuperStrict

Local window:TGadget = CreateWindow("Test", 100, 100, 200, 200, Null, WINDOW_TITLEBAR | WINDOW_CLIENTCOORDS)
Local tree:TGadget = CreateTreeView(0, 0, 200, 200, window)
Local root:TGadget = TreeViewRoot(tree)

AddTreeViewNode("Eintrag", root)
AddTreeViewNode("Eintrag", root)
AddTreeViewNode("Eintrag", root)
AddTreeViewNode("Eintrag", root)
AddTreeViewNode("Eintrag", root)
AddTreeViewNode("Eintrag", root)
AddTreeViewNode("Eintrag", root)
AddTreeViewNode("Eintrag", root)
AddTreeViewNode("Eintrag", root)

Repeat
   
   WaitEvent()
   
   Select CurrentEvent.id
      
      Case EVENT_WINDOWCLOSE
         Exit
         
      Default
         Print CurrentEvent.toString()
         
   EndSelect
   
Forever


Passiert beim drücken von Tasten gar nichts.

Ich hoffe ihr könnt mir helfen.

rema

BeitragFr, Jan 04, 2008 5:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir läufts problemlos. Mit den Cousortasten UP und DOWN und mit der Maus bekomme ich sogar eine Message:

Zitat:
Building untitled1
Compiling:untitled1.bmx
Linking:untitled1.debug
Executing:untitled1.debug
WindowActivate: data=0, mods=0, x=0, y=0, extra=""
AppResume: data=0, mods=0, x=0, y=0, extra=""
WindowMove: data=0, mods=0, x=826, y=223, extra=""
GadgetSelect: data=18174800, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18143008, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18171504, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177088, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177584, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177856, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18176800, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18178416, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18178656, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18178416, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18176800, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177856, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177584, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177088, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18171504, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18143008, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18171504, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177088, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18171504, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18143008, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18174800, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18143008, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18171504, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177088, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177584, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177856, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18176800, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18178416, mods=0, x=0, y=0, extra=""
GadgetSelect: data=0, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18178656, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18176800, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177856, mods=0, x=0, y=0, extra=""
GadgetAction: data=18177856, mods=0, x=0, y=0, extra=""
GadgetSelect: data=0, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18178656, mods=0, x=0, y=0, extra=""
GadgetSelect: data=0, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177584, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18171504, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177088, mods=0, x=0, y=0, extra=""
GadgetAction: data=18177088, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18171504, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177088, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18171504, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177088, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18171504, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177088, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18171504, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177088, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177584, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177856, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18176800, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18178416, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18176800, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177856, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177584, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18177088, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18171504, mods=0, x=0, y=0, extra=""
GadgetSelect: data=18143008, mods=0, x=0, y=0, extra=""
AppSuspend: data=0, mods=0, x=0, y=0, extra=""

Process complete


Wenn du gewisse Tastatureingaben abfangen willst, so verwende HotKey()

Artemis

BeitragFr, Jan 04, 2008 9:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber wenn du etwas ausgewählt hast und dann Entfernen drückst oder Leertaste oder sonst was, kommt kein Event.

Das mit dem Hoch und Runter-Tasten ist ja richtig und funktioniert bei mir auch. Auch das mit der Maus markieren.

Und SetHotKeyEvent ist nicht das, was ich suche. Das würde ja immer beim drücken von Entf anschlagen, ich will aber nur ein Event auswerten, wenn ein TreeViewItem ausgewählt ist und dann Entfernen gedrückt wird.

Naja, ich werde das jetzt über nen Button lösen.

rema

BeitragFr, Jan 04, 2008 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry: ja ich meinte eignetlich SetHotKeyEvent. Auf den ersten Blick ist dies umständlich, aber es geht halt nicht anders... Hier ein Beispiele:

Code:
SuperStrict

Global mainWin:TGadget = CreateWindow("Paste Test", 100,100,400,400)
   Global textarea1:TGadget = CreateTextArea(0,0,400,350,mainWin, TEXTAREA_WORDWRAP)
   SetGadgetLayout(textarea1, 1,1,1,1)
   SetHotKeyEvent(KEY_V, MODIFIER_COMMAND)
   SetHotKeyEvent(KEY_P, MODIFIER_COMMAND)
Global quit:Int = False


While Not Quit
   WaitEvent()
   
   Select EventID()
      Case EVENT_WINDOWCLOSE
         quit=True
      Case EVENT_HOTKEYHIT
         GadgetPaste(textarea1)
   End Select
Wend
End

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group