10.3.4 关闭对话框
对于模态对话框,当用户单击OK按钮或Cancel按钮后,模式对话框会关闭。此时对话框对象会发送BN_CLICKED控件通知消息,带有按钮的ID,是IDOK或IDCANCEL,通常情况下,CDialog类为这些消息提供默认的处理函数:OnOK()和OnCancel(),在其中调用EndDialog()成员函数关闭对话框。当然,用户也可以在自己的代码中直接调用EndDialog()函数。
对于非模式对话框,对话框的关闭动作,通常由父对话框处理。在默认的OnClose()函数中调用销毁对话框的DestroyWindow()成员函数。如果非模态对话框是独立的,应该重写PostNcDestroy()函数销毁对话框对象,或重载OnCancel()函数,从其中调用DestroyWindow()成员函数。否则,非模态对话框的父窗口会在不需要时,自动销毁非模态对话框。