IsDialogMessage功能确定消息是否针对指定的对话框,如果是,则处理消息。
BOOL IsDialogMessage(
HWND 【hDlg】, | //对话框的句柄 |
LPMSG 【LPMSG】 | //具有消息结构的地址 |
); |
参数
【hDlg】
标识对话框。
【LPMSG】
指向包含要检查的消息的MSG结构。
返回值
如果消息已经被处理,则返回值不为零。
如果消息未被处理,返回值为零。
备注
虽然IsDialogMessage功能用于无模式对话框,但您可以将其与包含控件的任何窗口一起使用,使窗口能够提供与对话框中使用的相同的键盘选择。
当IsDialogMessage处理消息时,它会检查键盘消息并将其转换为相应对话框的选择命令。例如,当按下TAB键时,选择下一个控件或一组控件,按下向下箭头键,选择组中的下一个控件。
由于IsDialogMessage功能执行消息的所有必要的转换和调度,因此IsDialogMessage处理的消息不能传递给TranslateMessage或DispatchMessage功能。
IsDialogMessage将WM_GETDLGCODE邮件发送到对话框过程,以确定应处理哪些密钥。
IsDialogMessage可以向窗口发送DM_GETDEFID和DM_SETDEFID消息。这些消息在WINUSER.H头文件中定义为WM_USER和WM_USER + 1,因此与具有相同值的应用程序定义的消息冲突是可能的。
也可以看看
DispatchMessage, DM_GETDEFID, DM_SETDEFID, MSG, TranslateMessage, WM_GETDLGCODE, WM_USER