想象你家的门铃响了(比如有人按门铃、敲门、或者有快递),这些都是“消息”。
在 MFC 中,消息就是系统或用户触发的各种事件,比如鼠标点击(WM_LBUTTONDOWN
)、键盘输入(WM_KEYDOWN
)、窗口关闭(WM_CLOSE
)等。
整个过程分三步走,类似“快递收发站”:
CWinApp
类里),像快递分拣中心一样,不断检查有没有新消息(比如鼠标点击、键盘输入)。MSG
结构),然后投递给对应的“收件窗口”。WindowProc
),负责接收消息。CWnd
类),它会根据消息类型,决定是“自己处理”还是“转交给其他快递员”。WM_LBUTTONDOWN
),MFC 会查表找到你写的 OnLButtonDown
函数来处理。BEGIN_MESSAGE_MAP(MyWindow, CWnd)
ON_WM_LBUTTONDOWN() // 绑定消息和函数
END_MESSAGE_MAP()
void MyWindow::OnLButtonDown(UINT flags, CPoint point) {
// 处理鼠标点击的逻辑,比如弹个对话框
MessageBox(_T("你点击了鼠标!"));
}
假设你做了一个按钮,点击后关闭窗口:
WM_LBUTTONDOWN
消息。OnClick
函数。OnClick
中调用 DestroyWindow()
关闭窗口。就像生活中的快递系统,MFC 的消息机制让程序能高效、有序地响应各种事件!