以下是一个简单的示例:
// MyMDIChildWnd.h
class MyMDIChildWnd : public CMDIChildWnd
{
// 声明消息映射
afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);
DECLARE_MESSAGE_MAP()
};
// MyMDIChildWnd.cpp
BEGIN_MESSAGE_MAP(MyMDIChildWnd, CMDIChildWnd)
ON_WM_MDIACTIVATE()
END_MESSAGE_MAP()
// 实现消息处理函数
void MyMDIChildWnd::OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd)
{
// 在这里处理 MDI 子窗口激活事件
// 可以添加你的自定义代码
CMDIChildWnd::OnMDIActivate(bActivate, pActivateWnd, pDeactivateWnd);
}
在这个示例中,MyMDIChildWnd 类继承自 CMDIChildWnd,并声明了 OnMDIActivate 方法。在消息映射中,使用 ON_WM_MDIACTIVATE 宏将消息映射到相应的处理函数。
当 MDI 子窗口激活或失去激活时,OnMDIActivate 方法会被调用,你可以在这里添加自己的处理逻辑。调用 CMDIChildWnd::OnMDIActivate 以确保默认的处理也能继续进行。
转载请注明出处:http://www.zyzy.cn/article/detail/23630/MFC/CWnd