int CFxistView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CTabView::OnCreate(lpCreateStruct) == -1) return -1; if (m_font.CreatePointFont (80, _T ("MS Sans Serif"))) GetTabCtrl ().SetFont (&m_font); // // Add pages. // int nIndex = AddPage (_T ("基本信息"),0,RUNTIME_CLASS(COverviewDlg),IDD_DIALOG_OVERVIEW); ASSERT (nIndex != -1); nIndex = AddPage (_T ("文档"),1,RUNTIME_CLASS(CDocumentsDlg),IDD_DIALOG_DOCUMENTS); ASSERT (nIndex != -1); nIndex = AddPage (_T ("索引"),2,RUNTIME_CLASS(CIndexingDlg),IDD_DIALOG_INDEXING); ASSERT (nIndex != -1); nIndex = AddPage (_T ("检索"),3,RUNTIME_CLASS(CSearchingDlg),IDD_DIALOG_SEARCHING); ASSERT (nIndex != -1); nIndex = AddPage (_T ("索引维护"),3,RUNTIME_CLASS(CIndexMaintainDlg),IDD_DIALOG_INDEXMAINTAIN); ASSERT (nIndex != -1); nIndex = AddPage (_T ("前向索引"),3,RUNTIME_CLASS(CTermVectorDlg),IDD_FORWARDINDEXDLG); ASSERT (nIndex != -1); nIndex = AddPage (_T ("插件"),3,RUNTIME_CLASS(CPluginDlg),IDD_DIALOG_PLUGIN); ASSERT (nIndex != -1); return 0; }
void CTabView::SetPages(int nViewType,int nTabIndex) { GetTabCtrl().SetCurSel(nTabIndex); rootPage.ShowWindow(FALSE); monitorPage.ShowWindow(FALSE); sendPage.ShowWindow(FALSE); dpPage.ShowWindow(FALSE); switch(nViewType){ case 0: switch(nTabIndex){ case 0: rootPage.ShowWindow(TRUE); break; } break; case 1: switch(nTabIndex){ case 0: rootPage.ShowWindow(TRUE); break; case 1: rootPage.ShowWindow(TRUE); break; case 2: rootPage.ShowWindow(TRUE); break; } break; case 2: switch(nTabIndex){ case 0: monitorPage.ShowWindow(TRUE); break; case 1: monitorPage.ShowWindow(TRUE); break; } break; case 3: switch(nTabIndex){ case 0: sendPage.ShowWindow(TRUE); break; case 1: sendPage.ShowWindow(TRUE); break; } break; case 4: switch(nTabIndex){ case 0: dpPage.ShowWindow(TRUE); break; } break; } }
BOOL COXTabClientWnd::LoadState(LPCTSTR lpszProfileName) { #ifndef _MAC CWinApp* pApp=AfxGetApp(); ASSERT(pApp!=NULL); ASSERT(!IsAttached() || GetTabCtrl()!=NULL); BOOL bIsAttached=(BOOL)pApp->GetProfileInt(lpszProfileName,_T("IsAttached"),TRUE); if(bIsAttached && !IsAttached()) { TRACE(_T("COXTabClientWnd::LoadState: fail to load state\n")); return FALSE; } if(!bIsAttached && !IsAttached()) return TRUE; DWORD dwOffset=(DWORD)pApp->GetProfileInt(lpszProfileName, _T("Offset"),ID_TABOFFSET); DWORD dwStyle=(DWORD)pApp->GetProfileInt(lpszProfileName, _T("Style"),DEFAULT_TABCTRLSTYLE); if(GetTabCtrl()->GetOffset()==dwOffset && GetTabCtrl()->GetStyle()==dwStyle && bIsAttached==IsAttached()) return TRUE; CMDIFrameWnd* pParentFrame=GetParentFrame(); ASSERT(pParentFrame!=NULL); VERIFY(Detach()); if(!bIsAttached) return TRUE; VERIFY(Attach(pParentFrame,dwStyle)); ASSERT(IsAttached() && GetTabCtrl()!=NULL); GetTabCtrl()->SetOffset(dwOffset); return TRUE; #else return FALSE; #endif }
void CTabView::OnSelchangeTabCtrl(NMHDR *pNMHDR, LRESULT *pResult) { CspDoc *m_pDoc = (CspDoc*)GetDocument(); int sel = GetTabCtrl().GetCurSel(); if(m_pDoc){ m_pDoc->m_nTabIndex = sel; m_pDoc->UpdateAllViews(NULL,TCN_SELCHANGE); } }
BOOL COXTabClientWnd::SaveState(LPCTSTR lpszProfileName) { #ifndef _MAC CWinApp* pApp=AfxGetApp(); ASSERT(pApp!=NULL); ASSERT(!IsAttached() || GetTabCtrl()!=NULL); pApp->WriteProfileInt(lpszProfileName,_T("IsAttached"),IsAttached()); pApp->WriteProfileInt(lpszProfileName,_T("Offset"), (IsAttached() ? GetTabCtrl()->GetOffset() : ID_TABOFFSET)); pApp->WriteProfileInt(lpszProfileName,_T("Style"), (IsAttached() ? GetTabCtrl()->GetStyle() : DEFAULT_TABCTRLSTYLE)); return TRUE; #else return FALSE; #endif }
void cbAuiNotebook::GetPagesInTabCtrl(std::vector<wxWindow*> &result, wxWindow *page) { result.clear(); wxAuiTabCtrl* tabCtrl = GetTabCtrl(page); if (tabCtrl) { int count = tabCtrl->GetPageCount(); for (int ii = 0; ii < count; ++ii) result.push_back(tabCtrl->GetPage(ii).window); } }
void CTabView::OnUpdate(CView* /*pSender*/, LPARAM lHint, CObject* /*pHint*/) { // TODO: 在此添加专用代码和/或调用基类 CspDoc *m_pDoc = (CspDoc*)GetDocument(); switch(lHint){ case TVN_SELCHANGED: GetTabCtrl().DeleteAllItems(); SetTabs(m_pDoc->m_nViewType); SetPages(m_pDoc->m_nViewType,m_pDoc->m_nTabIndex); break; case TCN_SELCHANGE: SetPages(m_pDoc->m_nViewType,m_pDoc->m_nTabIndex); break; } }
void CTabView::SetTabs(int nTabLevel) { static CString sLable[][9] = { {_T("Cortex Simulator")}, {_T("Vbus"),_T("Device"),_T("Intterupts")}, {_T("Memory"),_T("GPIOs")}, {_T("VBus"),_T("INTs")}, {_T("Motor")} }; TC_ITEM item; item.mask = TCIF_TEXT; for(int i = 0;!sLable[nTabLevel][i].IsEmpty();i++){ item.pszText = (LPWSTR)(LPCTSTR)sLable[nTabLevel][i]; item.cchTextMax = sLable[nTabLevel][i].GetLength(); GetTabCtrl().InsertItem(i, &item); } }
void CTabView::OnSize(UINT nType, int cx, int cy) { CCtrlView::OnSize(nType, cx, cy); // TODO: 在此处添加消息处理程序代码 GetTabCtrl().GetClientRect(&rs); rs.top+=27; rs.bottom-=4; rs.left+=4; rs.right-=4; if(rootPage && monitorPage){ rootPage.MoveWindow(&rs); monitorPage.MoveWindow(&rs); sendPage.MoveWindow(&rs); dpPage.MoveWindow(&rs); } }