VS2010 c++ 如何捕获 Cdockablepane 点击底部选项卡的 消息
发布网友
发布时间:2022-06-08 22:31
我来回答
共4个回答
热心网友
时间:2022-07-11 15:55
BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message == WM_LBUTTONDOWN)
{
CWnd* pWnd = m_wndClassView.GetActiveWindow();
CWnd* pImmediateParent = m_wndClassView.GetParent(); // m_wndClassView (CDockablePane)
if (pImmediateParent != NULL && pImmediateParent->IsKindOf(RUNTIME_CLASS(CMFCBaseTabCtrl)))
{
CMFCBaseTabCtrl* pTabCtrl = (CMFCBaseTabCtrl*)pImmediateParent;
CWnd* pTabPanel = (CWnd*)pTabCtrl->GetParent();
if (pMsg->hwnd == pTabCtrl->m_hWnd)
{
//输入需要处理的代码
}
}
}
return CFrameWndEx::PreTranslateMessage(pMsg);
}
热心网友
时间:2022-07-11 15:56
CWnd* pImmediateParent = m_wndTestCaseView.GetParent();
if(pImmediateParent!=NULL && pImmediateParent->IsKindOf(RUNTIME_CLASS(CMFCBaseTabCtrl)))
{
CMFCBaseTabCtrl* pTab = (CMFCBaseTabCtrl*)pImmediateParent;
pTab->GetActiveTab();//当前的tab激活的
}
热心网友
时间:2022-07-11 15:56
gamewnd类是不是你自己写的?是不是从与窗口相关的类比如CWnd派生而来的
热心网友
时间:2022-07-11 15:57
朋友,问题解决了吗,我现在也遇到了这个问题