5

ウィンドウが最大化されたときに送信されるWM_MESSAGEを知っている人はいますか(タイトルバーで最大化ボタンを押すか、タイトルバーをダブルクリックすることによって)。

最大化ボタンが押されているというWindowsメッセージはありますか?

Win32 / C ++、ありがとう。

4

2 に答える 2

4

wParamに値SIZE_MAXIMIZEDのWM_SIZEメッセージが表示されます

編集

以下の@jamesdlinコメントは、WM_WINDOWPOSCHANGEDドキュメントへの私の注意を呼びました。

備考 デフォルトでは、DefWindowProc関数はWM_SIZEおよびWM_MOVEメッセージをウィンドウに送信します。アプリケーションがDefWindowProcを呼び出さずにWM_WINDOWPOSCHANGEDメッセージを処理する場合、WM_SIZEおよびWM_MOVEメッセージは送信されません。DefWindowProcを呼び出さずに、WM_WINDOWPOSCHANGEDメッセージ中に移動またはサイズ変更処理を実行する方が効率的です。

ありがとうジェームズ!

于 2012-11-21T02:06:57.490 に答える
1

私は最近これに対処しましたが、私が決めたアプローチは、IsZoomedに応答してチェックしWM_WINDOWPOSCHANGED、その結果を前の結果と比較して遷移が発生したことを検出WM_WINDOWPOSCHANGEDし、デフォルトのウィンドウ手順に転送することでした。

アプリケーションでのメッセージ処理を完全に制御でき、 /WM_WINDOWPOSCHANGEDを抑制するハンドラーがない(そしてこれからも存在しない)ことがわかっている場合は、 jachguateの回答で説明されているように、ハンドラーで直接処理できるはずです。。WM_MOVEWM_SIZEWM_SIZE

于 2012-11-21T05:28:08.347 に答える