質問

C ++ MFCで記述された、多くのダイアログを備えたWindows Mobile 5.0アプリがあります。現在ターゲットにしているデバイスの1つにタブキーがないため、別のキーを使用してコントロール間を移動したいと思います。これはボタンには適していますが、編集コントロールやコンボボックスには適していません。私は類似の質問がありますが、答えは実際には合いません。私はCDialog :: OnKeyDownを無効にしようとしましたが、すべてのダイアログのすべてのコントロールのキーストローク機能を無効にする必要はありません。これまでの私の考えは、CEditとCComboBoxに代わる新しいクラスを作成することですが、いつものように、一時的に別のキーを再プログラミングするなど、簡単な方法があるかどうかを確認しています。

役に立ちましたか?

解決

MFCがわからないそれほど良いが、おそらくすべてのコントロールのウィンドウプロシージャを単一のクラスでサブクラス化することにより、MFCを実行できます。元の手順に対する残りのイベント。

どのカーソルキーが押されたかに応じて、適切なコントロールに移動する独自のメカニズムを提供する必要がありますが、使いやすさを高める価値がある場合があります。

それが機能する場合、すべてのダイアログコントロールを列挙し、自動的にサブクラス化できます。

Windows Mobile 6では、デフォルトでカーソルを使用してダイアログコントロールを切り替えることができます。これは新しい、よりスマートな「スマートフォン」です。 UI内を移動する方法は非常に便利です。

他のヒント

フィールド間を移動するためにD-Padを使用できませんか?

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