TabキーなしでWindows Mobileのダイアログコントロール間を移動する
-
03-07-2019 - |
質問
C ++ MFCで記述された、多くのダイアログを備えたWindows Mobile 5.0アプリがあります。現在ターゲットにしているデバイスの1つにタブキーがないため、別のキーを使用してコントロール間を移動したいと思います。これはボタンには適していますが、編集コントロールやコンボボックスには適していません。私は類似の質問がありますが、答えは実際には合いません。私はCDialog :: OnKeyDownを無効にしようとしましたが、すべてのダイアログのすべてのコントロールのキーストローク機能を無効にする必要はありません。これまでの私の考えは、CEditとCComboBoxに代わる新しいクラスを作成することですが、いつものように、一時的に別のキーを再プログラミングするなど、簡単な方法があるかどうかを確認しています。
解決
MFCがわからないそれほど良いが、おそらくすべてのコントロールのウィンドウプロシージャを単一のクラスでサブクラス化することにより、MFCを実行できます。元の手順に対する残りのイベント。
どのカーソルキーが押されたかに応じて、適切なコントロールに移動する独自のメカニズムを提供する必要がありますが、使いやすさを高める価値がある場合があります。
それが機能する場合、すべてのダイアログコントロールを列挙し、自動的にサブクラス化できます。
Windows Mobile 6では、デフォルトでカーソルを使用してダイアログコントロールを切り替えることができます。これは新しい、よりスマートな「スマートフォン」です。 UI内を移動する方法は非常に便利です。
他のヒント
フィールド間を移動するためにD-Padを使用できませんか?
所属していません StackOverflow