void CMainTabWnd::OnActiveTabChanged(POSITION posOldActiveTab, POSITION posNewActiveTab) { int nTabType = 0;//VC Search if( GetActiveTab() == m_aposTabs[CMainTabWnd::TI_RESOURCE] ) m_dlgResource.OnMainTabChanged(); else if( GetActiveTab() == m_aposTabs[CMainTabWnd::TI_DOWNLOAD])//设置各tab中的焦点 { nTabType = 1;//Smart Filter m_dlgDownload.SetActiveTab(); } else if( GetActiveTab() == m_aposTabs[CMainTabWnd::TI_SHARE]) { nTabType = 1; theApp.emuledlg->sharedfileswnd->sharedfilesctrl.SetFocus(); theApp.emuledlg->sharedfileswnd->sharedfilesctrl.FilterBySearchKey(NULL); } else if( GetActiveTab() == m_aposTabs[CMainTabWnd::TI_SEARCH]) m_dlgSearch.OnMainTabChanged(); else if( GetActiveTab() == m_aposTabs[CMainTabWnd::TI_ADVANCE]) m_dlgAdvance.SetActiveTab(); if (m_dlgSidePanel.m_SearchBarCtrl.GetSafeHwnd() != NULL) {//切换主标签时 清空搜索框 m_dlgSidePanel.m_SearchBarCtrl.SwitchSearchEditInfo(nTabType); } }
void Panel::TabNavigate(bool forward) { TabState state = GetTabNavigate(forward); if (state.tab != No_Tab) { // Navigate forward or backward if (forward) m_tabHistoryPos--; else m_tabHistoryPos++; // Set the tab control if (GetActiveTab() != state.tab) m_tab.SetCurSel(state.tab); // Show the appropriate panel for (int i = 0; i < Number_Tabs; i++) { if (i == state.tab) m_tabs[i]->MakeActive(state); else m_tabs[i]->MakeInactive(); } } }
BOOL Panel::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) { // Let the active tab process the command first Tabs tab = GetActiveTab(); if (tab != No_Tab) { if (GetTab(tab)->OnCmdMsg(nID,nCode,pExtra,pHandlerInfo)) return TRUE; } return CWnd::OnCmdMsg(nID,nCode,pExtra,pHandlerInfo); }
BOOL Panel::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) { switch (((LPNMHDR)lParam)->code) { case TCN_SELCHANGE: // Pick up a tab change SetActiveTab(GetActiveTab()); break; } return CWnd::OnNotify(wParam, lParam, pResult); }
void TabDoc::UpdateActiveTab(void) { CString url = m_html->GetURL(); int idx = No_DocTab; for (int i = 0; i < sizeof m_files / sizeof m_files[0]; i++) { CString check(m_files[i]); if (url.Find(check) > 0) idx = i; check.Replace('\\','/'); if (url.Find(check) > 0) idx = i; } if (idx != GetActiveTab()) m_tab.SetCurSel(idx); }
BOOL TabDoc::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) { // Pick up a tab change if (((LPNMHDR)lParam)->code == TCN_SELCHANGE) { DocTabs tab = GetActiveTab(); if (tab != No_DocTab) { Show(theApp.GetAppDir()+m_files[tab]); TabState state; GetTabState(state); Panel::GetPanel(this)->AddToTabHistory(state); } } return TabBase::OnNotify(wParam, lParam, pResult); }
BOOL CEditorTabCtrl::SetActiveTab(int iTab) { if(GetActiveTab()!=iTab) { m_TerrainDlg.SetButtonState(-1); switch(iTab) { case 0: CSceneObjectTree::GetInstance()->ClearSelection(); MouseMsgInterface::GetInstance()->SwitchToNULL(); break; case 1: MouseMsgInterface::GetInstance()->SwitchToSelectEditor(); break; } } return CMFCTabCtrl::SetActiveTab(iTab); }
void Panel::SetActiveTab(Tabs tab) { if (tab != No_Tab) { // Set the tab control if (GetActiveTab() != tab) m_tab.SetCurSel(tab); // Show the appropriate panel TabState state; for (int i = 0; i < Number_Tabs; i++) { if (i == tab) m_tabs[i]->MakeActive(state); else m_tabs[i]->MakeInactive(); } // Save the tab state in the history AddToTabHistory(state); } }
INT_PTR CDialogManage::OnNotify(WPARAM wParam, LPARAM lParam) { LPNMHDR nm = (LPNMHDR)lParam; switch (nm->idFrom) { case IDC_MANAGE_TAB: if (nm->code == TCN_SELCHANGE) { // Disable all tab windows first EnableWindow(m_TabSkins.GetWindow(), FALSE); EnableWindow(m_TabThemes.GetWindow(), FALSE); EnableWindow(m_TabSettings.GetWindow(), FALSE); GetActiveTab().Activate(); } break; default: return 1; } return 0; }
INT_PTR CDialogPackage::OnNotify(WPARAM wParam, LPARAM lParam) { LPNMHDR nm = (LPNMHDR)lParam; switch (nm->idFrom) { case IDC_PACKAGE_TAB: if (nm->code == TCN_SELCHANGE) { // Disable all tab windows first EnableWindow(m_TabInfo.GetWindow(), FALSE); EnableWindow(m_TabOptions.GetWindow(), FALSE); EnableWindow(m_TabAdvanced.GetWindow(), FALSE); GetActiveTab().Activate(); } break; default: return 1; } return 0; }
//--------------------------------------------------------------------------- void wxPagedWindow::OnScroll( wxScrollEvent& event ) { wxScrollBar* pSender = (wxScrollBar*)event.GetEventObject(); // wxMessageBox("wxPagedWindow::OnScroll","-I->"); if ( pSender == mpTabScroll ) { int maxUnits = GetWholeTabRowLen() / 20; mCurentRowOfs = -event.GetPosition()*maxUnits; mFirstTitleGap = mTitleRowStart + mCurentRowOfs + mTabTrianGap; // let' it automatically disable itself if it's time mpTabScroll->Enable( mTitleRowLen < GetWholeTabRowLen() || mCurentRowOfs < 0 ); // repaint title bars wxWindowDC dc(this); DrawDecorations( dc ); } else { if ( !mScrollEventInProgress ) { mScrollEventInProgress = true; GetActiveTab()->GetEventHandler()->ProcessEvent( event ); } else { // event bounced back to us, from here we // know that it has traveled the loop - thus it's processed! mScrollEventInProgress = false; } } } // wxPagedWindow::OnScroll()
INT_PTR CDialogAbout::OnNotify(WPARAM wParam, LPARAM lParam) { LPNMHDR nm = (LPNMHDR)lParam; switch (nm->idFrom) { case IDC_ABOUT_TAB: if (nm->code == TCN_SELCHANGE) { // Disable all tab windows first EnableWindow(m_TabLog.GetWindow(), FALSE); EnableWindow(m_TabSkins.GetWindow(), FALSE); EnableWindow(m_TabPlugins.GetWindow(), FALSE); EnableWindow(m_TabVersion.GetWindow(), FALSE); GetActiveTab().Activate(); } break; default: return 1; } return 0; }
LRESULT xKeyFrameTab::OnPropertyChanged(WPARAM wParam, LPARAM lParam) { int i = GetActiveTab(); IPropertyObj * obj = NULL; switch (i) { case 0: obj = Environment::Instance()->GetKeyFrame(0); break; case 1: obj = Environment::Instance()->GetKeyFrame(1); break; case 2: obj = Environment::Instance()->GetKeyFrame(2); break; case 3: obj = Environment::Instance()->GetKeyFrame(3); break; case 4: obj = Environment::Instance()->GetGlobalParam(); break; } if (!obj) return S_OK; CMFCPropertyGridProperty * prop = (CMFCPropertyGridProperty *)lParam; const char * name = prop->GetName(); const Property * p = obj->GetProperty(name); if (p) { if (p->type == PT_TString && p->size == 128) { const COleVariant & strValue = prop->GetValue(); CString val = (CString)strValue; TString128 data = (LPCTSTR)val; obj->SetPropertyData(p, &data); } else if (p->type == PT_Float) { const COleVariant & strValue = prop->GetValue(); CString val = (CString)strValue; float data = (float)atof((LPCTSTR)val); obj->SetPropertyData(p, &data); } else if (p->type == PT_Color) { xPropertyGridColorPick * colorPick = (xPropertyGridColorPick *)prop; COLORREF color = colorPick->GetColor(); int r = GetRValue(color); int g = GetGValue(color); int b = GetBValue(color); Color4 data = Color4(r / 255.0f, g / 255.0f, b / 255.0f); obj->SetPropertyData(p, &data); } } return S_OK; }