ウィンドウが最大化されたときに送信されるWM_MESSAGEを知っている人はいますか(タイトルバーで最大化ボタンを押すか、タイトルバーをダブルクリックすることによって)。
最大化ボタンが押されているというWindowsメッセージはありますか?
Win32 / C ++、ありがとう。
ウィンドウが最大化されたときに送信されるWM_MESSAGEを知っている人はいますか(タイトルバーで最大化ボタンを押すか、タイトルバーをダブルクリックすることによって)。
最大化ボタンが押されているというWindowsメッセージはありますか?
Win32 / C ++、ありがとう。
wParamに値SIZE_MAXIMIZEDのWM_SIZEメッセージが表示されます
編集
以下の@jamesdlinコメントは、WM_WINDOWPOSCHANGEDドキュメントへの私の注意を呼びました。
備考 デフォルトでは、DefWindowProc関数はWM_SIZEおよびWM_MOVEメッセージをウィンドウに送信します。アプリケーションがDefWindowProcを呼び出さずにWM_WINDOWPOSCHANGEDメッセージを処理する場合、WM_SIZEおよびWM_MOVEメッセージは送信されません。DefWindowProcを呼び出さずに、WM_WINDOWPOSCHANGEDメッセージ中に移動またはサイズ変更処理を実行する方が効率的です。
ありがとうジェームズ!
私は最近これに対処しましたが、私が決めたアプローチは、IsZoomed
に応答してチェックしWM_WINDOWPOSCHANGED
、その結果を前の結果と比較して遷移が発生したことを検出WM_WINDOWPOSCHANGED
し、デフォルトのウィンドウ手順に転送することでした。
アプリケーションでのメッセージ処理を完全に制御でき、 /WM_WINDOWPOSCHANGED
を抑制するハンドラーがない(そしてこれからも存在しない)ことがわかっている場合は、 jachguateの回答で説明されているように、ハンドラーで直接処理できるはずです。。WM_MOVE
WM_SIZE
WM_SIZE