Как отправить сообщение из cleftframe для дочерних окон в MDI
Я хочу отправить сообщение на дочерних окон от CLeftFrame для отображения данных на элемент управления "дерево", а как назвать вид переключатель дочерних окон
Что я уже пробовал:
//In FormLeft
void CFormLeft::OnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult) { LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR); *pResult = 0; m_TreeCtrl->SendMessage(WM_COMMAND, wParam, lParam); }
//дочерние фреймы
CView* CSDISplitDoc::SwitchToView ( CView* pNewView ) { DIFrameWnd* pMainWnd = (CMDIFrameWnd*)AfxGetMainWnd(); CMDIChildWnd* pChild = (CMDIChildWnd*)pMainWnd->MDIGetActive(); // Get the active view attached to the active MDI child window. CView* pOldActiveView = pChild->GetActiveView(); CSplitterWnd* pSplitter = (CSplitterWnd *)pOldActiveView->GetParent(); int row, col; ASSERT(pSplitter->IsChildPane(pOldActiveView, row, col)); // set flag so that document will not be deleted when view is destroyed m_bAutoDelete = FALSE; // Dettach existing view RemoveView(pOldActiveView); // set flag back to default m_bAutoDelete = TRUE; ::SetWindowLong(pOldActiveView->m_hWnd, GWL_ID, 0); ::SetWindowLong(pNewView->m_hWnd, GWL_ID, pSplitter->IdFromRowCol(row, col)); pNewView->ShowWindow(SW_SHOW); pOldActiveView->ShowWindow(SW_HIDE); AddView(pNewView); pSplitter->GetParentFrame()->SetActiveView(pNewView); pSplitter->RecalcLayout(); pNewView->SendMessage(WM_PAINT); return pOldActiveView; }