2017-10-18 16 views
0

定数WM_IME_COMPOSITIONWM_IME_KEYLASTは両方とも同じ値0x010Fを持っています。これらのウィンドウメッセージの1つを受信するWindowsプログラムのように、受信したメッセージが分からないようです。だから、どのようにこれらのメッセージを処理するコードを書くだろうか?どのように定数WM_IME_COMPOSITIONとWM_IME_KEYLASTが同じ値を持つことができます

私は好奇心から尋ねています。 WM_IME_COMPOSITIONWM_IME_KEYLASTのいずれかを処理する必要はありません。いくつかのドキュメントを見て、私が理解していない奇妙なことに気づいただけです。

答えて

1

WM_IME_KEYLASTはメッセージ識別子ではありません。メッセージの範囲の末尾を示す記号定数です。 Windows SDK全体でこのパターンが表示されます。キーメッセージに関連する値の範囲を記述するWM_KEYFIRSTWM_KEYLASTの記号があります。

WM_IME_KEYLASTを処理しないため、あいまいさはありません。たとえば、ある範囲のメッセージを処理する式で使用することができます(そして、使用する必要があります)。


この特定のケースでは、私は何の対応WM_IME_KEYFIRSTシンボルがないので、完全にはよく分からないが。 WM_IME_KEYLASTは、使用されていないメッセージ値が新しいWM_IME_COMPOSITIONメッセージのために再使用された古い名前である可能性があります。出荷された後、戻ってシンボルを削除することはできませんので、まだそこにはありますが、これ以上目的を果たせません。

関連する問題