Frage

Ich arbeite an einem Dokument Anwendung und Teil dieser Anmeldung ich Unterstützung hinzuzufügen habe die Tastatur gedrückt Ereignisse zu lesen und die vordefinierten Zeichen gesetzt zu ersetzen, wenn die Tastatureingabe Übereinstimmung mit der Pre-defind Kurzform / Worts tatsächliche Anwendung wird in C ++ implementiert.

Bitte senden Sie uns Ihre Gedanken darüber, wie diese umzusetzen. Gibt es eine Probe C ++ Programm als Referenz? Algorithmus / Konzepte?

War es hilfreich?

Lösung

Standard C ++ unterstützt keine Tastendruck-Ereignisse, so dass Sie entweder eine OS-Funktion suchen müssen werden, oder eine Rahmenfunktion. Tragbare C ++ Frameworks wie wxWidgets oder Qt Unterstützung keypress Ereignisse auf Windows, Mac und Linux.

Andere Tipps

Erfahren Sie, wie die keydown Ereignisse mit wxWidgets api zu fangen, vielleicht hier: http://docs.wxwidgets.org/stable/wx_eventhandlingoverview.html#eventhandlingoverview Beachten href="http://docs.wxwidgets.org/stable/wx_wxkeyevent.html#wxkeyevent" rel="nofollow noreferrer"> wichtigsten Ereignisse

Wenn Sie daran denken, eine Kombination von Zeichen, die andere zum Umwandeln des Charakters, zB Kanji oder Hiragana, der Algorithmus länger und benötigt mehr Datenstrukturen werden könnten.

Wenn Sie unter Windows sind, können Sie den GetAsyncKeyState API-Aufruf verwenden und für Änderungen beobachten, oder verwenden Sie den Low-Level-Tastatur Haken (etwas komplizierter) (CreateHookEx + Funktionen im Zusammenhang).

Unter DOS (oder möglicherweise Linux) Sie in conio.h im Konsolenmodus verwenden _kbhit kann, bleibe ich dies in der Regel in einer Schleife (while (_ kbhit ());!) Für eine "beliebige Taste drücken, um fortzufahren", aber mit _getch kann den Schlüssel abrufen, die gedrückt wurde,

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top