当用户在控件中执行操作时,控件可以向对话框过程发送WM_COMMAND消息。这些消息称为通知消息,通知用户输入的过程,并允许其执行适当的响应。
所有预定义的控件(静态控件除外)都会发送选定用户操作的通知消息。例如,每当用户选择按钮时,按钮就会发送BN_CLICKED通知消息。在所有情况下,【wParam中】参数的低位字包含控制标识符,【wParam中】的高位字包含通知代码,【lParam的】参数包含控件窗口句柄。
对话框过程应监视和处理通知消息。特别地,该过程必须处理具有IDOK或IDCANCEL标识符的消息;这些消息表示用户关闭对话框的请求。该过程应使用模式对话框的EndDialog功能和无模式对话框的DestroyWindow功能关闭对话框。
如果对话框有一个菜单(如系统菜单),并且用户选择一个命令,Windows也会将WM_COMMAND消息发送到对话框过程。特别是,Windows用户在对话框的“系统”菜单中选择“关闭”命令时,会将【wParam中】参数设置为IDCANCEL,发送WM_COMMAND消息。该消息与“取消”按钮发送的通知消息几乎相同,应以完全相同的方式进行处理。