首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CTabCtrl的有关问题

2012-01-22 
CTabCtrl的问题!case4:m_page1.ShowWindow(SW_HIDE)m_page2.ShowWindow(SW_SHOW)m_MngMsg_Tab.DeleteIte

CTabCtrl的问题!
case   4:
m_page1.ShowWindow(SW_HIDE);
m_page2.ShowWindow(SW_SHOW);
m_MngMsg_Tab.DeleteItem(0);
m_page2.Invalidate();
break;
case   5://搜索结果
m_MngMsg_Tab.InsertItem(_T( "2 "),0);
m_MngMsg_Tab.DeleteItem(1);

m_page1.ShowWindow(SW_SHOW);
m_page2.ShowWindow(SW_HIDE);
m_MngMsg_Tab.DeleteItem(1);
m_page1.Invalidate();
break;
default:
return;
}
我这个TabCtrl有2个标签,分别对应着m_page1,m_page2
现在通过switch   case   控制其显示。同一时刻只显示一个page页,
所以如果不使用   m_MngMsg_Tab.DeleteItem(*);则TabCtrl的2个标头都会显示,而使用之后再次切换回来的时候标头就都没有了。

明白了吗?怎么解决这个问题?


[解决办法]
void CSymbolPointEd::OnTcnSelchangeSymbolTab(NMHDR *pNMHDR, LRESULT *pResult)
{

//显示当前选择项
if (m_nCurrent != m_tabCtrl.GetCurSel())
{
m_curTabPages[m_nCurrent]-> ShowWindow(SW_HIDE);
m_nCurrent = m_tabCtrl.GetCurSel();
m_curTabPages[m_nCurrent]-> ShowWindow(SW_SHOW);
m_curTabPages[m_nCurrent]-> SetFocus();

}
*pResult = 0;
}
[解决办法]
只显示一个标头?好像不行吧
[解决办法]
偶觉得你可以只保留一个标签作作样子,切换的时候把标签名由A换成B再由B换成A...

热点排行