wxKeyEvent realisieren



  • Hallo,

    ich bin noch am Anfang der wxWidgets Programmierung. Momentan hänge ich an dem Event Handling.

    Ich hoffe, Jjemand kann mir hier weiterhelfen.

    In meinem Code habe ich ein Fenster, das ein Text ausgibt.
    Und zwar vom Typ wxPanel.
    Ausgegeben wird ein Auswahlmenü.

    Dann habe ich noch ein "Eingabe" Fenster vom Typ wxTextCtrl.

    Mit Hilfe des Eingabefensters (wxTextCtrl) kann ich über die Tastatur Characters eingeben. Sobald ich auf dieses Einbgabefenster klicke (also focussiere) und dann über die Tastatur ein Zeichen eingebe, wird die Methode
    void Console::OnChar(wxKeyEvent& event) aufgerufen.

    Jetzt möchte ich aber nich das wxTextCtrl verwenden, wiel ich keinen Text eingeben und editieren möchte, sondern lediglich in meinen Fall betsimmte Ziffern (hier von 1-6) über die Tastatur eingeben möchte, die dann bestimmte Methoden aufrufen sollen.

    Habt ihr eine Idee, wie ich das am Besten realisieren kann?

    Grüsse,
    Bianka



  • Bianka schrieb:

    Hallo,

    ich bin noch am Anfang der wxWidgets Programmierung. Momentan hänge ich an dem Event Handling.

    Ich hoffe, Jjemand kann mir hier weiterhelfen.

    In meinem Code habe ich ein Fenster, das ein Text ausgibt.
    Und zwar vom Typ wxPanel.
    Ausgegeben wird ein Auswahlmenü.

    Dann habe ich noch ein "Eingabe" Fenster vom Typ wxTextCtrl.

    Mit Hilfe des Eingabefensters (wxTextCtrl) kann ich über die Tastatur Characters eingeben. Sobald ich auf dieses Einbgabefenster klicke (also focussiere) und dann über die Tastatur ein Zeichen eingebe, wird die Methode
    void Console::OnChar(wxKeyEvent& event) aufgerufen.

    Jetzt möchte ich aber nich das wxTextCtrl verwenden, wiel ich keinen Text eingeben und editieren möchte, sondern lediglich in meinen Fall betsimmte Ziffern (hier von 1-6) über die Tastatur eingeben möchte, die dann bestimmte Methoden aufrufen sollen.

    Habt ihr eine Idee, wie ich das am Besten realisieren kann?

    Grüsse,
    Bianka

    Wenn du einfach einen Dialog zum Zahlen eingeben willst, nimm am Besten etwas vorgefertigtes:
    http://docs.wxwidgets.org/trunk/group__group__funcmacro__dialog.html#g358252ede396f8eb59553d7a3efadfd3
    Ansonsten nimm einfach trotzdem eine wxTextCtrl und schau ob eine Zahl eingegeben wurde, wenn du das willst, müsstest du verhindern, dass ein anderes Zeichen ausgegeben wird, wenn er eines eingibt (ich weiß nicht genau, wie du dir das vorstellst). Du kannst ja entweder wxString::ToLong() nehmen, oder wenn du nur eine Ziffer willst, einfach

    textctrl.GetLineText(0)[0] - '0'
    

    .



  • wxSkip, das ist ein Dialog der aufpoppt und die Anwendung sperrt.

    @TE Warum nimmst nicht ne Combobox der diese Optionen auflistet? Oder ein Feld mit RadioControls? Wäre halt interessant was genau hier versucht wird. Zeig mal Screens von der Anwendung oder erkläre genauer was sie machen soll. Und zeig vllt auch etwas Code.
    rya.


Anmelden zum Antworten