// navsptview.cpp : implementation file // #include "stdafx.h" #include "geomative.h" #include "navsptview.h" #include "Constant.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif extern int g_iTransFileMode; ///////////////////////////////////////////////////////////////////////////// // CNavSptView IMPLEMENT_DYNCREATE(CNavSptView, CFormView) CNavSptView::CNavSptView() : CFormView(CNavSptView::IDD) { //{{AFX_DATA_INIT(CNavSptView) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } CNavSptView::~CNavSptView() { } void CNavSptView::DoDataExchange(CDataExchange* pDX) { CFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(CNavSptView) DDX_Control(pDX, IDC_NAV_EXEC_TAB, m_navTab); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CNavSptView, CFormView) //{{AFX_MSG_MAP(CNavSptView) ON_NOTIFY(TCN_SELCHANGE, IDC_NAV_EXEC_TAB, OnSelchangeNavExecTab) ON_WM_SIZE() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CNavSptView diagnostics #ifdef _DEBUG void CNavSptView::AssertValid() const { CFormView::AssertValid(); } void CNavSptView::Dump(CDumpContext& dc) const { CFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CNavSptView message handlers void CNavSptView::OnInitialUpdate() { CFormView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class CString szLabel; if (EN_TRANSFER_FILE_BY_CLOUND == g_iTransFileMode) { /*szLabel.Empty(); szLabel.LoadString(IDS_ELECTRICAL_METHOD); ASSERT(!szLabel.IsEmpty()); m_navTab.InsertItem(TAB_INDEX_CE, szLabel);*/ szLabel.Empty(); szLabel.LoadString(IDS_2D_ERI); ASSERT(!szLabel.IsEmpty()); m_navTab.InsertItem(TAB_INDEX_2D-1, szLabel); szLabel.Empty(); szLabel.LoadString(IDS_3D_ERI); ASSERT(!szLabel.IsEmpty()); m_navTab.InsertItem(TAB_INDEX_3D-1, szLabel); //m_navCEDlg.Create(IDD_NAV_SPT_CE, GetDlgItem(IDC_NAV_EXEC_TAB)); m_nav2DDlg.Create(IDD_NAV_SPT_2D, GetDlgItem(IDC_NAV_EXEC_TAB)); m_nav3DDlg.Create(IDD_NAV_SPT_3D, GetDlgItem(IDC_NAV_EXEC_TAB)); //m_navCEDlg.ShowWindow(false); m_nav2DDlg.ShowWindow(true); m_nav3DDlg.ShowWindow(false); m_navTab.SetCurSel(0); } else { szLabel.Empty(); szLabel.LoadString(IDS_ELECTRICAL_METHOD); ASSERT(!szLabel.IsEmpty()); m_navTab.InsertItem(TAB_INDEX_CE, szLabel); szLabel.Empty(); szLabel.LoadString(IDS_2D_ERI); ASSERT(!szLabel.IsEmpty()); m_navTab.InsertItem(TAB_INDEX_2D, szLabel); szLabel.Empty(); szLabel.LoadString(IDS_3D_ERI); ASSERT(!szLabel.IsEmpty()); m_navTab.InsertItem(TAB_INDEX_3D, szLabel); m_navCEDlg.Create(IDD_NAV_SPT_CE, GetDlgItem(IDC_NAV_EXEC_TAB)); m_nav2DDlg.Create(IDD_NAV_SPT_2D, GetDlgItem(IDC_NAV_EXEC_TAB)); m_nav3DDlg.Create(IDD_NAV_SPT_3D, GetDlgItem(IDC_NAV_EXEC_TAB)); m_navCEDlg.ShowWindow(false); m_nav2DDlg.ShowWindow(true); m_nav3DDlg.ShowWindow(false); m_navTab.SetCurSel(1); } } void CNavSptView::OnSelchangeNavExecTab(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here int iCurSel = VAL_MINUS_ONE; iCurSel = m_navTab.GetCurSel(); if (EN_TRANSFER_FILE_BY_CLOUND == g_iTransFileMode) { switch (iCurSel) { case TAB_INDEX_CE: //m_navCEDlg.ShowWindow(false); m_nav2DDlg.ShowWindow(true); m_nav3DDlg.ShowWindow(false); break; case TAB_INDEX_2D: //m_navCEDlg.ShowWindow(false); m_nav2DDlg.ShowWindow(false); m_nav3DDlg.ShowWindow(true); break; default: break; } } else { switch (iCurSel) { case TAB_INDEX_CE: m_navCEDlg.ShowWindow(true); m_nav2DDlg.ShowWindow(false); m_nav3DDlg.ShowWindow(false); break; case TAB_INDEX_2D: m_navCEDlg.ShowWindow(false); m_nav2DDlg.ShowWindow(true); m_nav3DDlg.ShowWindow(false); break; case TAB_INDEX_3D: m_navCEDlg.ShowWindow(false); m_nav2DDlg.ShowWindow(false); m_nav3DDlg.ShowWindow(true); break; default: break; } } m_navTab.SetFocus(); *pResult = VAL_ZERO; } void CNavSptView::OnSize(UINT nType, int cx, int cy) { CFormView::OnSize(nType, cx, cy); // TODO: Add your message handler code here CTabCtrl* pNavTab = NULL; pNavTab = (CTabCtrl*)GetDlgItem(IDC_NAV_EXEC_TAB); if (EN_TRANSFER_FILE_BY_CLOUND == g_iTransFileMode) { if ((NULL != pNavTab)/* && (VAL_ZERO != m_navCEDlg.GetSafeHwnd()) */ && (VAL_ZERO != m_nav2DDlg.GetSafeHwnd()) && (VAL_ZERO != m_nav3DDlg.GetSafeHwnd())) { CRect rect; GetClientRect(&rect); pNavTab->MoveWindow(&rect); rect.top += RECT_TOP_ADJUST; rect.bottom -= RECT_BOTTOM_ADJUST; rect.left += RECT_LEFT_ADJUST; rect.right -= RECT_RIGHT_ADJUST; //m_navCEDlg.MoveWindow(&rect); m_nav2DDlg.MoveWindow(&rect); m_nav3DDlg.MoveWindow(&rect); } } else { if ((NULL != pNavTab) && (VAL_ZERO != m_navCEDlg.GetSafeHwnd()) && (VAL_ZERO != m_nav2DDlg.GetSafeHwnd()) && (VAL_ZERO != m_nav3DDlg.GetSafeHwnd())) { CRect rect; GetClientRect(&rect); pNavTab->MoveWindow(&rect); rect.top += RECT_TOP_ADJUST; rect.bottom -= RECT_BOTTOM_ADJUST; rect.left += RECT_LEFT_ADJUST; rect.right -= RECT_RIGHT_ADJUST; m_navCEDlg.MoveWindow(&rect); m_nav2DDlg.MoveWindow(&rect); m_nav3DDlg.MoveWindow(&rect); } } pNavTab = NULL; }