gpt4 book ai didi

c++ - 消息映射宏

转载 作者:搜寻专家 更新时间:2023-10-31 01:21:52 26 4
gpt4 key购买 nike

你什么时候用ON_COMMAND,我们什么时候用ON_MESSAGE。它们之间有什么区别。

最佳答案

ON_COMMAND 专门用于处理命令消息(即 WM_COMMAND),例如单击按钮/菜单项/工具栏按钮。

ON_MESSAGE 更通用,可用于任何 Windows 消息。它通常用于未提供特定消息映射宏的不太频繁处理的消息。您也可以使用 ON_MESSAGE 来处理 ON_COMMAND 消息,但您必须自己提取消息信息(即命令 ID)。

示例:

看这里:

在消息映射中:

ON_MESSAGE( WM_COMMAND, OnMyCommand )

处理程序:

LRESULT CMyWnd::OnMyCommand( WPARAM wParam, LPARAM lParam ) 
{
// ... Handle message here
int commandId = LOWORD(wParam);

switch(commandId){
case ID_HELLOCOMMAND:
MessageBox(0, "Hello there!", "ID_HELLO_COMMAND", MB_OK);
break;
// ... other commands here
}

return 0L;
}

免责声明:由于 MFC 的消息泵机制,您可能需要做的比上面显示的多一些。最佳男士咨询:Jeff Prosise

关于c++ - 消息映射宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3446533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com