私は現在少し混乱しています: WM_CLOSEと::CloseWindow何らかの形で「関連」しているのか、それともまったく異なるものですか?
Closing Windowsのドキュメントでは、API 関数についてはまったく言及されていませんCloseWindow。本当に「MinimizeWindow」と呼ばれるべきCloseWindowですか、それとも何が欠けていますか?
私は現在少し混乱しています: WM_CLOSEと::CloseWindow何らかの形で「関連」しているのか、それともまったく異なるものですか?
Closing Windowsのドキュメントでは、API 関数についてはまったく言及されていませんCloseWindow。本当に「MinimizeWindow」と呼ばれるべきCloseWindowですか、それとも何が欠けていますか?
CloseWindowとWM_CLOSE全く無関係です。CloseWindow関数の名前が悪い。その逆の機能は、OpenWindowウィンドウを復元することを考えると、同様に悪い名前が付けられています。
これらの名前は、おそらく Windows バージョン 1 または 2 にさかのぼると思います。現在、最小化および復元と呼ばれるものは、当時はcloseおよびopenと呼ばれていたと推測しています。
ウィンドウを最小化または復元する通常の方法は、ShowWindow渡すSW_MINIMIZEまたはを呼び出すことSW_RESTOREです。
CloseWindowとについてはすべて忘れることをお勧めしますOpenWindow。
CloseWindowは、非常に不適切な名前の winapi 関数です。ウィンドウを実際に閉じるのではなく、最小化するだけです。あなたがおそらく意味したのはDestroyWindow().
WM_CLOSEAlt通常、ユーザーが+を押すF4か、ウィンドウの閉じるボタンをクリックすると、デフォルトのウィンドウ プロシージャによって生成されるメッセージです。基になるメッセージはWM_SYSCOMMAND、SC_CLOSEです。Window + Close メニュー項目のように、コードでも生成できます。
WM_CLOSEウィンドウ プロシージャまたは MFC メッセージ マップでリッスンできます。ユーザーは、ウィンドウが閉じられることを期待します。したがって、通常は を呼び出しますDestroyWindow()。必須ではありません。たとえば、メッセージ ボックスを表示して、データを保存するかどうかをユーザーに尋ねることができます。彼が [いいえ] をクリックした場合、あなたは電話をかけませんDestroyWindow()。