コード例 #1
0
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);
	}
}
コード例 #2
0
ファイル: Panel.cpp プロジェクト: wyrover/Windows-Inform7
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();
    }
  }
}
コード例 #3
0
ファイル: Panel.cpp プロジェクト: wyrover/Windows-Inform7
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);
}
コード例 #4
0
ファイル: Panel.cpp プロジェクト: wyrover/Windows-Inform7
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);
}
コード例 #5
0
ファイル: TabDoc.cpp プロジェクト: wyrover/Windows-Inform7
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);
}
コード例 #6
0
ファイル: TabDoc.cpp プロジェクト: wyrover/Windows-Inform7
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);
}
コード例 #7
0
ファイル: EditorTabCtrl.cpp プロジェクト: phoenixzz/SGPEngine
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);
}
コード例 #8
0
ファイル: Panel.cpp プロジェクト: wyrover/Windows-Inform7
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);
  }
}
コード例 #9
0
ファイル: DialogManage.cpp プロジェクト: JamesAC/rainmeter
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;
}
コード例 #10
0
ファイル: DialogPackage.cpp プロジェクト: jieah/rainmeter
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;
}
コード例 #11
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()
コード例 #12
0
ファイル: DialogAbout.cpp プロジェクト: testaccountx/testrepo
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;
}
コード例 #13
0
ファイル: xEnvironmentPane.cpp プロジェクト: ak4hige/myway3d
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;
}