感谢看到这个问题的同仁,问题如下:
SDI切分为1行2列,两个窗口;请问如何给动态给其中一个窗口加载树形控件。试过直接Creat,不过不行,代码如下:m_TreeCtrl.Create( TVS_CHECKBOXES | TVS_EDITLABELS | TVS_FULLROWSELECT |
TVS_HASBUTTONS | TVS_HASLINES | TVS_INFOTIP |TVS_SHOWSELALWAYS,rect,pCwnd,IDC_MYTREE);
bool CMainFrame::InitTree(void)
{
......
......
}
SDI切分为1行2列,两个窗口;请问如何给动态给其中一个窗口加载树形控件。试过直接Creat,不过不行,代码如下:m_TreeCtrl.Create( TVS_CHECKBOXES | TVS_EDITLABELS | TVS_FULLROWSELECT |
TVS_HASBUTTONS | TVS_HASLINES | TVS_INFOTIP |TVS_SHOWSELALWAYS,rect,pCwnd,IDC_MYTREE);
bool CMainFrame::InitTree(void)
{
......
......
}
rectDummy.SetRectEmpty(); // Create view
const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES |
TVS_LINESATROOT | TVS_HASBUTTONS | WS_CLIPSIBLINGS |
WS_CLIPCHILDREN; if (!m_wndTree.Create(dwViewStyle, rectDummy, this, 2))
{
TRACE0("创建视图失败\n");
return -1; // fail to create
}
在CMainFrame类里添加一个成员
CSplitterWnd m_wndSplitter;实现CMainFrame::OnCreateClient()方法,部分代码:
// TODO: 创建分割视图
if (!m_wndSplitter.CreateStatic(this, 1, 2))
{
TRACE0("Failed to CreateStaticSplitter\n");
return FALSE;
}
// add - an input view in column 1
if (!m_wndSplitter.CreateView(0, 0,
RUNTIME_CLASS(CLeftView), CSize(170, 0), pContext))
{
TRACE0("Failed to create second pane\n");
return FALSE;
}
// 使用同样的方法添加另一个视图
// activate the input view
SetActiveView((CView*)m_wndSplitter.GetPane(0,1));