在C*View中创建CTreeCtrl和CTabCtrl的有关问题
在C**View中创建CTreeCtrl和CTabCtrl的问题
我做了一个分割视图的界面,在其中一个视图中创建了一个CTabCtrl和CTreeCtrl。
我在CTabCtrl的void CTabctrl::OnSelchange(NMHDR* pNMHDR, LRESULT* pResult)函数中,加入了如下代码
void CTabctrl::OnSelchange(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd;
CViewTree* pViewTree=(CViewTree*)pMF->m_wndSplit2.GetPane(0,0);
switch(pViewTree->m_tab.GetCurSel())
{
case 0:
pViewTree->m_tree.ShowWindow(SW_SHOW);
case 1:
pViewTree->m_tree.ShowWindow(SW_HIDE);
}
*pResult = 0;
}
我希望按下TAB第一个标签的时候显示树控件,按下第二个标签的时候隐藏树控件。
现在是我按下第二个标签的时候树控件会消失,再按下第一个标签的时候树控件就显示不出来了。
那个树控件好像显示到TAB的后面了,被TAB盖住了,所以显示不出来。怎么解决这个问题。
我的树控件和TAB控件都是在C**View中创建的,我本来想把树控件放到TAB控件类中去创建,编译的时候没错,一运行就出错。所以我就把树控件和TAB控件都放到C**View中创建了。会不会和这个有关系。
我是在C**View的OnCreate()中创建的TAB控件和树控件。
------解决方案--------------------
switch(pViewTree->m_tab.GetCurSel())
{
case 0:
pViewTree->m_tree.ShowWindow(SW_SHOW);
break;
case 1:
pViewTree->m_tree.ShowWindow(SW_HIDE);
break;
}
break没写,悲剧,显示完了就隐藏了,难怪不能实现,换了就行了吧
我做了一个分割视图的界面,在其中一个视图中创建了一个CTabCtrl和CTreeCtrl。
我在CTabCtrl的void CTabctrl::OnSelchange(NMHDR* pNMHDR, LRESULT* pResult)函数中,加入了如下代码
void CTabctrl::OnSelchange(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CMainFrame* pMF=(CMainFrame*)AfxGetApp()->m_pMainWnd;
CViewTree* pViewTree=(CViewTree*)pMF->m_wndSplit2.GetPane(0,0);
switch(pViewTree->m_tab.GetCurSel())
{
case 0:
pViewTree->m_tree.ShowWindow(SW_SHOW);
case 1:
pViewTree->m_tree.ShowWindow(SW_HIDE);
}
*pResult = 0;
}
我希望按下TAB第一个标签的时候显示树控件,按下第二个标签的时候隐藏树控件。
现在是我按下第二个标签的时候树控件会消失,再按下第一个标签的时候树控件就显示不出来了。
那个树控件好像显示到TAB的后面了,被TAB盖住了,所以显示不出来。怎么解决这个问题。
我的树控件和TAB控件都是在C**View中创建的,我本来想把树控件放到TAB控件类中去创建,编译的时候没错,一运行就出错。所以我就把树控件和TAB控件都放到C**View中创建了。会不会和这个有关系。
我是在C**View的OnCreate()中创建的TAB控件和树控件。
------解决方案--------------------
switch(pViewTree->m_tab.GetCurSel())
{
case 0:
pViewTree->m_tree.ShowWindow(SW_SHOW);
break;
case 1:
pViewTree->m_tree.ShowWindow(SW_HIDE);
break;
}
break没写,悲剧,显示完了就隐藏了,难怪不能实现,换了就行了吧