質問

ドキュメントアプリケーションと、このアプリケーションの一部に取り組んでいます実際のアプリケーションはC ++で実装されています。

これを実装する方法についての考えを教えてください。参照用のサンプルC ++プログラムはありますか?アルゴリズム/概念?

役に立ちましたか?

解決

標準C ++はキー押下イベントをサポートしていないため、OS関数またはフレームワーク関数のいずれかを調べる必要があります。 wxWidgetsやQtのようなポータブルC ++フレームワークは、Windows、Mac、Linuxでキー押下イベントをサポートします。

他のヒント

wxWidgets apiを使用してキーダウンイベントをキャッチする方法については、こちらをご覧ください。 http://docs.wxwidgets.org/stable/wx_eventhandlingoverview.html#eventhandlingoverview キーイベントに注意してください。 C ++でスイッチを実装して、どのキーの組み合わせが押されたかを確認し、それに応じてテキストを編集に設定します。ここで考えているのは、編集ボックスでCTRL-SHIFT-AキーをCtrl-Shift-aのようなテキストに変換することです。

文字の組み合わせを他の文字、たとえば漢字やひらがなに変換することを考えている場合、アルゴリズムが長くなり、より多くのデータ構造が必要になる可能性があります。

Windowsの場合は、GetAsyncKeystate API呼び出しを使用して変更を監視するか、低レベルのキーボードフック(少し複雑)を使用できます(CreateHookEx +関連関数)。

DOS(または場合によってはLinux)では、コンソールモードのconio.hで_kbhitを使用できます。ただし、_getchを使用すると、押されたキーを取得できます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top