当对话框控件发生事件时,控件将通过WM_COMMAND消息通知对话框过程。创建平方米对话框中的示例处理来自组合框,列表框和确定按钮的通知消息。控制标识符位于【wParam中】的低位字中,通知消息位于【wParam中】的高位字中。
如果控制标识符为IDCOMBO,则组合框中发生事件。作为响应,对话框过程将忽略除CBN_SELENDOK之外的所有其他组合框事件,这表示进行了选择,下拉列表被关闭,并且应该接受所做的更改。对话框过程调用InitFoodList以重置列表框的内容,并在下拉列表框中添加当前选择的名称。
如果控制标识符是IDLIST,则在列表框中发生事件。这将导致对话框过程忽略除LBN_DBLCLK之外的所有列表框事件,这表示用户已双击列表项。该事件的处理方式与已选择OK按钮相同。
如果控件标识符是IDOK,用户已经选择了OK按钮。作为响应,对话框过程将所选食物的名称插入到应用程序的多行编辑控件中,然后调用EndDialog功能关闭对话框。
如果控件标识符是IDCANCEL,用户点击了取消按钮。作为响应,对话框过程调用EndDialog关闭对话框。