void TabMenuControl::SetCurrentPage(unsigned page) { assert(page < buttons.size()); if (!pager.ClickPage(page)) return; if (page == GetMenuPage()) { form.SetCaption(caption); const MenuTabIndex di = FindPage(last_content_page); this->GetTabMenuDisplay()->SetSelectedIndex(di); } else { const PageItem& theitem = GetPageItem(page); SetLastContentPage(page); const MainMenuButton &main_button = GetMainMenuButton(theitem.main_menu_index); StaticString<128> caption; caption.Format(_T("%s > %s"), gettext(main_button.caption), gettext(theitem.menu_caption)); form.SetCaption(caption); } }
void CCoolTabCtrl::SetActivePage(int nIndex) { if(nIndex == m_nActivePage) return; CPageItem *pOldItem,*pItem; if(m_nActivePage >= 0) { pOldItem = (CPageItem*)GetPageItem(m_nActivePage); if(pOldItem) { pOldItem->m_pWnd->ShowWindow(SW_HIDE); } } pItem = (CPageItem*)GetPageItem(nIndex); if(!pItem) return; m_nActivePage = nIndex; if(m_nStyle&TCS_ANIMATE) SetTimer(100,15,NULL);///为了在95或NT4下也有动画效果,没有使用AnimateWindow函数 else pItem->m_pWnd->ShowWindow(SW_SHOW); }