2011-03-20 7 views
1

私はMFCでプログラミングしているときにメッセージマップとwindowprocの違いは何ですか? windowprocをオーバーライドしなければならないケースはありますか?メッセージマップとオーバーライドwindowprocの違い

たとえば、いつメッセージON_WM_CHARを使用する必要がありますか?また、いつwindowprocをオーバーライドしてWM_CHARの大文字と小文字を区別する必要がありますか?

おかげ

答えて

4

は、最も実用的な目的のためには、常に使用ON_WM_CHARではなく、そのウィンドウPROCをオーバーライドするでしょう。

メッセージループの基本的な動作を変更する必要がある場合は、主にウィンドウprocをオーバーライドしますが、これは非常にまれです(私が考えることができる唯一の例は、アニメーションゲームのようなものです。コードを定期的に実行するので、メインループを修正して一部の画面更新コードを含める(呼び出す)

+0

同意するもう1つの一般的な理由は、メッセージのデフォルトルーティングを変更することです'PreTranslateMessage'で実行されます)。 –