wxListbook, kein Key Event bei Enter



  • Hallo,

    ich habe in meinem Musik-Alleinunterhalter eine Navigation geschrieben, die es mir möglich macht, per Tastenkombinationen auf dem Num-Pad mir jeden Befehl auszulösen.

    Beispiel: 9999 - Programm beenden.
    Damit man nicht immer alle Zahlen eingeben muss gibt es eine Art Kurzwahl:
    Gebe ich 9 ein, zeigt er alles von 9000 bis 9999 an, gebe ich noch ne 9 ein, bekomme ich alles von 9900 bis 9999 usw. Wenn ich die Enter Taste drücke, nimmt er den ersten Treffer meiner Anzeige-Liste und führt diesen aus. (Bei "99" ist der erste Anzeigetreffer schon 9999 und folglich ist 99 ENTER auch "Programm beenden")

    Gebunden habe ich das ganze folgt:

    // Key-Events
    wxTheApp->Connect(wxID_ANY, wxEVT_KEY_DOWN, wxKeyEventHandler(mainFrame::OnKeyDown), 0, this);
    

    Jetzt habe teilweise sehr viele Informationen auf einen Blick anzuzeigen (Musiker, Einstellungen, Akkorde, etc.). Um mir Platz zu sparen, hab ich mir überlegt, das ganze mit einen wxListbook aufzuteilen.

    Nur: Seitdem ich mein wxListebook eingebaut habe, bekomme ich keine Enter-Taste (nicht die "richtige" und auch nicht die vom Num-Pad) mehr in meine OnKeyDown-Funktion:

    void mainFrame::OnKeyDown(wxKeyEvent &event)
    {
    // Schnelltest um zu schauen ob ne Taste kommt....
    SetStatusText(wxString(_T("Keycode: ")).Append(wxString::Format(_T("%d"),event.GetKeyCode())),1);
    }
    

    Jede andere Taste geht, nur keine der beiden Enter-Tasten.
    Ist das ein Bug in wxWidgets, oder ist das so gewollt und wenn so gewollt, warum und wie kann ich den Willen ändern? Ich braucht die Enter-Taste am Num-Pad für die Kurzwahl.

    Danke für euere Hilfe und euer Wissen,
    Stefan



  • Ich vermute, eine andere Gui-Komponente kriegt das event und die Verarbeitung wird dann dort abgebrochen.



  • nurf schrieb:

    Ich vermute, eine andere Gui-Komponente kriegt das event und die Verarbeitung wird dann dort abgebrochen.

    stefanjann schrieb:

    Nur: Seitdem ich mein wxListebook eingebaut habe, bekomme ich keine Enter-Taste (nicht die "richtige" und auch nicht die vom Num-Pad) mehr in meine OnKeyDown-Funktion:

    Ist das jetzt nicht eigentlich die gleiche Aussage?


Anmelden zum Antworten