新人求助: 基于MFC的MDI程序, 多个子窗体之间切换时触发什么事件(消息)? MDI程序, 我自己添加了多个文档模板, 向导生成的代码可以在不同的文档间使用不同的菜单,我自己也添加了对应文档模板的工具栏, 想在子窗体激活或切换时更换主框架的工具栏,但不知子窗体切换主框架会响应什么消息, 请高人给予指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的,我非常想结了这个贴子, 不过我试过切换文档不会触发该消息,如下代码从未执行过,设置断点也不能进去void CMainFrame::OnChildActivate(){ CMDIFrameWnd::OnChildActivate(); // TODO: Add your message handler code here AfxMessageBox("Select Doc"); } afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);WM_MDIACTIVATE消息 The framework calls this member function for the child window being deactivated and the child window being activated. afx_msg void OnMDIActivate( BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd ); //子框架窗口类CChildFrame类中加入WM_MDIACTIVATE消息处理//h头文件中加上afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);//cpp文件中BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd) //{{AFX_MSG_MAP(CChildFrame) //}}AFX_MSG_MAP ON_WM_MDIACTIVATE()END_MESSAGE_MAP()void CChildFrame::OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd){ if(pActivateWnd->GetSafeHwnd() && pDeactivateWnd->GetSafeHwnd()) { AfxMessageBox(_T("Hello,World!")); } CMDIChildWnd::OnMDIActivate(bActivate, pActivateWnd, pDeactivateWnd);} 感谢VisualEleven,那个工能已经按照你的方法实现了,而且是我目前用到的最简单的方法,虽然我想直接在主框架中加代码,看来是没有可能实现的了,就此结贴吧 搞*.wave文件时经常看到傅里叶变换,目的是什么? 关于CreateEnhMetaFile生成wmf文件的问题 int变量radio的一个小问题 调试一个问题调试的郁闷。。。散分100 调试问题:调用堆栈窗口(call stack)中的USER32! 77d18734()是什么意思 求《怎样用ASP和COM进行Web编程》配套光盘 _T这个是什么意思?以及ODBC? 如何使程序作为服务运行 怎样加亮report 风格的CListCtrl中的一整行 winsock客户端接收问题 求用png做树控件背景的方法 CArray类中是否可以嵌套CArray?
{
CMDIFrameWnd::OnChildActivate(); // TODO: Add your message handler code here AfxMessageBox("Select Doc");
}
afx_msg void OnMDIActivate(
BOOL bActivate,
CWnd* pActivateWnd,
CWnd* pDeactivateWnd
);
//子框架窗口类CChildFrame类中加入WM_MDIACTIVATE消息处理
//h头文件中加上
afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);//cpp文件中
BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd)
//{{AFX_MSG_MAP(CChildFrame) //}}AFX_MSG_MAP
ON_WM_MDIACTIVATE()
END_MESSAGE_MAP()void CChildFrame::OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd)
{
if(pActivateWnd->GetSafeHwnd() && pDeactivateWnd->GetSafeHwnd())
{
AfxMessageBox(_T("Hello,World!"));
}
CMDIChildWnd::OnMDIActivate(bActivate, pActivateWnd, pDeactivateWnd);
}