我有MFC MDI应用程序。这样,对于一个子窗口,我有分割窗口。顶视图显示具有某些当前值的趋势,而底视图则具有Listctrl,Listctrl显示趋势的详细信息。我在两个视图中都使用OnDraw()更新某些内容。但是执行时,只有一个视图处于活动阶段。当我单击底视图时,顶部的趋势视图停止绘制趋势。在趋势视图中单击后,它将开始更新。为什么我在正常情况下都在单独的窗口中都有这两个视图,都可以正常工作。
BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
if(iWindowNumber == 4) // Creating splitwindow for one child window
{
CRect cr;
GetClientRect( &cr);
if (!m_wndSplitter.CreateStatic(this, 2, 1))
return FALSE;
if(!m_wndSplitter.CreateView(0,0, RUNTIME_CLASS(CTrendView),CSize(cr.Width(), cr.Height()-200),pContext)||
!m_wndSplitter.CreateView(1,0, RUNTIME_CLASS(COprEventLog),CSize(cr.Width(), cr.Height()-600),pContext))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}
m_wndSplitter.SetActivePane(1, 0);
return TRUE;
}
return CMDIChildWnd::OnCreateClient(lpcs, pContext);
}
我尝试了SetActivePane(),但是在默认情况下,它再次使底部窗口处于活动状态,而顶部窗口处于非活动状态。我希望两个窗口都应同时处于活动状态。