在简单对话框

中处理WM_COMMAND消息
【勇芳软件工作室】汉化HomePreviousNext

当对话框控件发生事件时,控件将向对话框过程发送WM_COMMAND消息。【wParam中】参数的高位字是一个通知代码,指示发生的事件类型。【wParam中】的低位字是识别控件的常数。【lParam的】参数是控件的窗口句柄。

在处理WM_COMMAND消息时,拼写检查器示例检查【wParam中】的低位字中的控制标识符,以确定消息的来源。常数IDCOMBO,IDOK,IDIGNORE和IDCANCEL分别标识组合框,更改按钮,忽略按钮和取消按钮控件。

组合框可能会发送WM_COMMAND消息,原因有多种。要确定事件的类型,对话框过程将检查【wParam中】的高位字中的通知代码。该示例仅处理当用户双击列表项时发送的CBN_DBLCLK通知消息。对话框过程以与更改按钮单击相同的方式处理此通知消息。

此示例中的按钮仅在用户选择时才发送WM_COMMAND消息。当用户选择“更改”按钮时,对话框过程将应用程序编辑控件中的当前选择与组合框中的选择字段的内容进行替换。选择字段可以包含用户键入的所选列表项或文本。然后,对话框过程将以与处理忽略按钮单击相同的方式选择下一个拼写错误的单词。

当用户选择忽略按钮时,对话框过程将调用应用程序定义的SelectNextWord和InitSpellList函数,以在应用程序的编辑控件中选择下一个拼写错误的单词。InitSpellList将拼写错误的单词放在组合框的选择字段中,并将建议的拼写添加到组合框列表中。

当用户选择取消按钮时,对话框过程调用EndDialog功能关闭对话框。