Verhindern das ein KeyEvent weiter kommt

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Dienstag 15. Januar 2008, 18:08

Hallo,

ich moechte, dass ein Editor zweiteilige Shortcuts haben kann, also zB Strg+X und dann F fuer irgendeine Funktion. Das zu realisieren ist kein Problem, nur an einer Stelle haperts: Das f wird in das Textfeld geschrieben und ich weiß nicht, wie ich es abfangen kann.

Ich glaube schonmal was darueber hier gelesen zu haben, aber ich konnte es nicht finden.

Bisher versuchte ich es mit evt.Skip() und evt.StopPropagation(). Das half alles nix.

Weiß jemand Abhilfe?
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Dienstag 15. Januar 2008, 19:51

nkoehring hat geschrieben:Das f wird in das Textfeld geschrieben und ich weiß nicht, wie ich es abfangen kann.
Hallo nkoehring!

Code: Alles auswählen

        txt = wx.TextCtrl(panel)
        txt.Bind(wx.EVT_KEY_DOWN, self.on_text)
    
    
    def on_text(self, event):
        if not event.UnicodeKey == 70:
            # Wenn nicht "F"
            event.Skip()
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Mittwoch 16. Januar 2008, 12:00

Ah... so rum... also *nicht* skippen, damit es nicht geschrieben wird. Danke ;)
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
Antworten