MESSAGE_HANDLER
定义消息映射中的项。
MESSAGE_HANDLER(
msg,
func
)
参数
msg
[in] Windows消息。func
[in]消息处理函数的名称。
备注
MESSAGE_HANDLER 映射到Windows消息到指定的处理程序函数。
必须定义在 MESSAGE_HANDLER 宏指定的所有函数:
LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
在 MessageHandler 调用之前,消息映射设置 bHandled 到 TRUE。如果 MessageHandler 不完全处理消息,则应设置 bHandled 到 FALSE 指示消息需要进一步处理。
说明 |
---|
从 BEGIN_MSG_MAP始终启动消息映射。您可以声明与 ALT_MSG_MAP的后续替换消息映射。END_MSG_MAP 宏指示消息映射的结尾。每个消息映射必须正好包含 BEGIN_MSG_MAP 和 END_MSG_MAP一个实例。 |
除了 MESSAGE_HANDLER外,还可以使用 COMMAND_HANDLER 和 NOTIFY_HANDLER 映射 WM_COMMAND 和 WM_NOTIFY 消息,分别。
有关使用的更多信息消息在ATL映射,请参见 消息映射。
示例
class CMyBaseWindow : public CWindowImpl<CMyBaseWindow>
{
public:
BEGIN_MSG_MAP(CMyBaseWindow)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
END_MSG_MAP()
// When a CMyBaseWindow object receives a WM_CREATE message, the message
// is directed to CMyBaseWindow::OnCreate for the actual processing.
LRESULT OnCreate(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/,
BOOL& /*bHandled*/)
{
return 0;
}
};
要求
Header: atlwin.h