在分割视图中如何获取子视图的指针? 在分割视图中,我想在其中一个视图中向另一个视图用SendMessage函数发送WM_COMMAND消息,但是不知怎样获取另一个视图的指针?请高手指点。谢谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用了下面这种方法,怎么不行呢?void CToolView::OnButton1() {CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd; CConferenceView *pView=(CConferenceView *)pMain->GetActiveView(); pView->SendMessage(WM_COMMAND,MAKEWPARAM(IDT_LINE,0),0); } GetFirstView GetNextView 遍历View CMainFrame* pfrm=(CMainFrame*)AfxGetApp()->m_pMainWnd ; pfrm->m_wndsp1.SetActivePane (0,1); CMidListView* pviewnew=NULL; pviewnew=(CMidListView*)pfrm->GetActiveView();请注意使用setActivePane,设置活动窗格。 void CMainFrame::SwitchToView(int nViewType){ CView* pView = (CView*)m_wndSplitter2.GetPane(0,0); CRect rcRight,rcFrame; pView->GetClientRect(&rcRight); GetClientRect(&rcFrame); switch(nViewType) { case ListPCMView: // 0PCM-ListPCMView m_pPCMView { if(!pView->IsKindOf(RUNTIME_CLASS(CListPCMView))) { //删除旧的视图 m_wndSplitter2.DeleteView(0,0); //创建新的视图 m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CListPCMView),CSize(0,280),NULL); //调整分布 m_wndSplitter2.RecalcLayout(); m_pPCMView= (CListPCMView*)m_wndSplitter2.GetPane(0,0); } break; } case ListINTERFACEView: // 12(中继,坐席)-ListINTERFACEView ,m_pINTERFACEVView { if(!pView->IsKindOf(RUNTIME_CLASS(CListINTERFACEView))) { m_wndSplitter2.DeleteView(0,0); m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CListINTERFACEView),CSize(0,280),NULL); m_wndSplitter2.RecalcLayout(); m_pINTERFACEVView= (CListINTERFACEView*)m_wndSplitter2.GetPane(0,0); } break; } case ListCONFView: // 3会议-ListCONFView , m_pCONFView { if(!pView->IsKindOf(RUNTIME_CLASS(CListCONFView))) { m_wndSplitter2.DeleteView(0,0); m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CListCONFView),CSize(0,280),NULL); m_wndSplitter2.RecalcLayout(); m_pCONFView= (CListCONFView*)m_wndSplitter2.GetPane(0,0); } break; } case ListVOICEView: // 4语音ListVOICEView -m_pVOICEView { if(!pView->IsKindOf(RUNTIME_CLASS(CListVOICEView))) { m_wndSplitter2.DeleteView(0,0); m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CListVOICEView),CSize(0,280),NULL); m_wndSplitter2.RecalcLayout(); m_pVOICEView= (CListVOICEView*)m_wndSplitter2.GetPane(0,0); } break; } default: break; } //CListCtrl& ctl=GetListCtrl(); } 有没有人,希望将来自己腾达的时候,把自己使用盗版软件的费用补上! 关于异步套接字编程的问题 MFC中,若创建的窗口继承自CWnd,创建窗口函数只能用CreateEx(..)而不 MIB树的获取 求上网助手源代码 一个简单问题 class view里没东西了? 请教一个问题关于FTP方面的 很土的问题,大家帮一下吧,谢谢!! CFile.Write()问题 VC中怎么实现喷枪及任意形状的栽剪 MFC中有菜单选中事件?
void CToolView::OnButton1()
{
CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd; CConferenceView *pView=(CConferenceView *)pMain->GetActiveView();
pView->SendMessage(WM_COMMAND,MAKEWPARAM(IDT_LINE,0),0);
}
pfrm->m_wndsp1.SetActivePane (0,1);
CMidListView* pviewnew=NULL;
pviewnew=(CMidListView*)pfrm->GetActiveView();
请注意使用setActivePane,设置活动窗格。
{
CView* pView = (CView*)m_wndSplitter2.GetPane(0,0);
CRect rcRight,rcFrame;
pView->GetClientRect(&rcRight);
GetClientRect(&rcFrame);
switch(nViewType)
{
case ListPCMView: // 0PCM-ListPCMView m_pPCMView
{
if(!pView->IsKindOf(RUNTIME_CLASS(CListPCMView)))
{
//删除旧的视图
m_wndSplitter2.DeleteView(0,0);
//创建新的视图
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CListPCMView),CSize(0,280),NULL);
//调整分布
m_wndSplitter2.RecalcLayout();
m_pPCMView= (CListPCMView*)m_wndSplitter2.GetPane(0,0); }
break;
}
case ListINTERFACEView: // 12(中继,坐席)-ListINTERFACEView ,m_pINTERFACEVView
{
if(!pView->IsKindOf(RUNTIME_CLASS(CListINTERFACEView)))
{
m_wndSplitter2.DeleteView(0,0);
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CListINTERFACEView),CSize(0,280),NULL);
m_wndSplitter2.RecalcLayout();
m_pINTERFACEVView= (CListINTERFACEView*)m_wndSplitter2.GetPane(0,0);
}
break;
}
case ListCONFView: // 3会议-ListCONFView , m_pCONFView
{
if(!pView->IsKindOf(RUNTIME_CLASS(CListCONFView)))
{
m_wndSplitter2.DeleteView(0,0);
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CListCONFView),CSize(0,280),NULL);
m_wndSplitter2.RecalcLayout();
m_pCONFView= (CListCONFView*)m_wndSplitter2.GetPane(0,0);
}
break;
}
case ListVOICEView: // 4语音ListVOICEView -m_pVOICEView
{
if(!pView->IsKindOf(RUNTIME_CLASS(CListVOICEView)))
{
m_wndSplitter2.DeleteView(0,0);
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CListVOICEView),CSize(0,280),NULL);
m_wndSplitter2.RecalcLayout();
m_pVOICEView= (CListVOICEView*)m_wndSplitter2.GetPane(0,0);
}
break;
}
default:
break;
} //CListCtrl& ctl=GetListCtrl();
}