我想知道如何使用CSplitterWndEx将DockablePane拆分为CView(用于绘制矩形/线等等)和CFormView(用于放置UI控件,如按钮,组合框等等)。 )。 DockablePane将成为MDI应用程序的一部分。代码示例非常有用。我在MyDockablePane :: OnCreate函数上尝试了以下代码,但它只显示了一个"空白"没有拆分器的DockablePane窗口:(感谢您的时间调查)
int MyDockablePane::OnCreate(LPCREATESTRUCT lpcs)
{
if (CDockablePane::OnCreate(lpcs) == -1)
return -1;
CRect cr;
GetClientRect(&cr);
m_wndSplitter.CreateStatic(this,1,2);
// MyFormView derived from CFormView
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(MyFormView),
CSize(cr.Width() *48/100, cr.Height()), NULL))
{
return FALSE;
}
// MyCView derived from CView
if (!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(MyCView),
CSize(cr.Width() * 52/100, cr.Height()), NULL))
{
return FALSE;
}
return TRUE;
}
//在MainFrame上我调用了DockablePane的Create,ShowPane, // EnableDocking和MainFrame的DockPane
答案 0 :(得分:0)
尝试在代码末尾添加:
m_wndSplitter.SetWindowPos(NULL,cr.left, cr.top, cr.Width(), cr.Height(), SWP_NOZORDER);
m_wndSplitter.ShowWindow(SW_SHOW);