// sptmngframe.cpp : implementation file // #include "stdafx.h" #include "geomative.h" #include "sptmngframe.h" #include "blankview.h" #include "MainFrm.h" #include "Constant.h" #include "navsptview.h" #include "SptOperator.h" #include "appsptview.h" #include "appcesptview.h" #include "crossHole/CCrossHoleConfig2DMainDlg.h" #include "crossHole/CCrossHoleConfig3DMainDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif extern CGeoMativeApp theApp; extern HHOOK hHook; extern LRESULT __stdcall CBTHookProc(long nCode, WPARAM wParam, LPARAM lParam); extern int g_UIOffset; extern int g_iTransFileMode; ///////////////////////////////////////////////////////////////////////////// // CSptMngFrame extern HHOOK hHook; extern LRESULT __stdcall CBTHookProc(long nCode, WPARAM wParam, LPARAM lParam); IMPLEMENT_DYNCREATE(CSptMngFrame, CMDIChildWnd) /* CSptMngFrame::CSptMngFrame() { m_pAppSptView = NULL; m_pNavSptView = NULL; m_pSptOperator = NULL; m_bAutoMenuEnable = FALSE; m_pSptOperator = new CSptOperator(theApp.m_pConnection); ASSERT(m_pSptOperator != NULL); m_bIsActive = FALSE; } */ CSptMngFrame::~CSptMngFrame() { delete m_pSptOperator; } BEGIN_MESSAGE_MAP(CSptMngFrame, CMDIChildWnd) //{{AFX_MSG_MAP(CSptMngFrame) ON_WM_CLOSE() ON_WM_MDIACTIVATE() ON_MESSAGE(WM_SCHEDULE, OnSchedule) ON_MESSAGE(WM_REFRESH, OnRefresh) ON_MESSAGE(WM_CLOSE_FRAME_WINDOW, OnCloseFrameWindow) ON_COMMAND(IDM_OP_SCON_CE_DB_C, OnCreateCESConInDB) ON_COMMAND(IDM_OP_SCON_CE_DB_D, OnDeleteCESConInDB) ON_COMMAND(IDM_OP_SCON_2D_DB_C, OnCreate2DSConInDB) ON_COMMAND(IDM_CREATE_2D_NON_STANDARD_SCRIPTS, OnCreate2dNonStandardScripts) ON_COMMAND(IDM_CREATE_3D_NON_STANDARD_SCRIPTS, OnCreate3dNonStandardScripts) ON_COMMAND(IDM_OP_SCON_2D_DB_D, OnDelete2DSConInDB) ON_COMMAND(IDM_OP_SCON_2D_DB_E, OnExport2DSConInDB) ON_COMMAND(IDM_OP_SCON_3D_DB_E, OnExport3DSConInDB) ON_COMMAND(IDM_OP_DE_SPT_F_CSF, OnCreateScriptFileInOffline) ON_COMMAND(IDM_OP_SF_L_D, OnDeleteScriptFileInLoc) ON_COMMAND(IDM_OP_SPT_DB_D, OnDeleteSConInDB) ON_COMMAND(IDM_OP_SCON_3D_DB_C, OnCreate3DSConInDB) ON_COMMAND(IDM_OP_SCON_3D_DB_D, OnDelete3DSConInDB) ON_COMMAND(IDM_BROWSE_SCRIPT, OnBrowse2DScript) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CSptMngFrame message handlers void CSptMngFrame::OnClose() { // TODO: Add your message handler code here and/or call default ::SendMessage(AfxGetMainWnd()->m_hWnd, WM_SCHEDULE, (WPARAM)VAL_ZERO, (LPARAM)VAL_ZERO); ((CMainFrame*)AfxGetMainWnd())->m_pSptMngFrm = NULL; m_bIsActive = FALSE; CMDIChildWnd::OnClose(); } LRESULT CSptMngFrame::OnCloseFrameWindow(WPARAM wParam, LPARAM lParam) { OnClose(); return 0; } BOOL CSptMngFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // TODO: Add your specialized code here and/or call the base class m_splitter.CreateStatic(this, SPL_WND_A_ROW, SPL_WND_A_COL); m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_0, RUNTIME_CLASS(CNavSptView), CSize(SPL_VIEW_NAV_WIDTH + 100, SPL_VIEW_NAV_HEIGHT), pContext); m_pNavSptView = static_cast(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_0)); ASSERT(m_pNavSptView != NULL); m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView), CSize(SPL_VIEW_NAV_WIDTH, SPL_VIEW_NAV_HEIGHT), pContext); m_pAppSptView = static_cast(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1)); ASSERT(m_pAppSptView != NULL); return CMDIChildWnd::OnCreateClient(lpcs, pContext); } void CSptMngFrame::OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd) { CMDIChildWnd::OnMDIActivate(bActivate, pActivateWnd, pDeactivateWnd); // TODO: Add your message handler code here m_bIsActive = bActivate; if (TRUE == bActivate) //当MDI窗口处于激活状态,bActive的值为TRUE; { int iSConIndex = (int)VAL_ZERO; POSITION posSCon; DWORD dwItemHandle = (DWORD)VAL_ZERO; DWORD dwImageState = (DWORD)VAL_ZERO; UINT uStyle = (UINT)VAL_ZERO; UINT uState = (UINT)VAL_ZERO; HTREEITEM hSptItem = NULL; CString strTitle; strTitle.LoadString(IDS_EXEC_MANAGE+g_UIOffset); if (GetTitle() != strTitle) { SetTitle((LPCTSTR)strTitle); m_pSptOperator->InitialNavExecView((CNavSptView*)m_pNavSptView); } int iTabCurSel = ((CNavSptView*)m_pNavSptView)->m_navTab.GetCurSel(); if (EN_TRANSFER_FILE_BY_CLOUND == g_iTransFileMode) { iTabCurSel++; } switch (iTabCurSel) //当各个MDI窗口之间发生切换时,控制调度 { case TAB_INDEX_CE: posSCon = ((CNavSptView*)m_pNavSptView)->m_navCEDlg.m_ceList.GetFirstSelectedItemPosition(); iSConIndex = ((CNavSptView*)m_pNavSptView)->m_navCEDlg.m_ceList.GetNextSelectedItem(posSCon); if (VAL_MINUS_ONE != iSConIndex) { dwItemHandle = ((CNavSptView*)m_pNavSptView)->m_navCEDlg.m_ceList.GetItemData(iSConIndex); dwImageState = ((CNavSptView*)m_pNavSptView)->m_navCEDlg.m_ceList.GetItemState(iSConIndex, TVIS_STATEIMAGEMASK); uStyle = m_pSptOperator->m_handleProcessor.GetStyleFromHandle(dwItemHandle); uState = m_pSptOperator->m_stateProcessor.ChangeToItemState(dwImageState); ::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)uStyle, (LPARAM)uState); } else { ::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)PZ_STYLE_SCON_CE, (LPARAM)VAL_ZERO); } break; case TAB_INDEX_2D: posSCon = ((CNavSptView*)m_pNavSptView)->m_nav2DDlg.m_2dList.GetFirstSelectedItemPosition(); iSConIndex = ((CNavSptView*)m_pNavSptView)->m_nav2DDlg.m_2dList.GetNextSelectedItem(posSCon); if (VAL_MINUS_ONE != iSConIndex) { dwItemHandle = ((CNavSptView*)m_pNavSptView)->m_nav2DDlg.m_2dList.GetItemData(iSConIndex); dwImageState = ((CNavSptView*)m_pNavSptView)->m_nav2DDlg.m_2dList.GetItemState(iSConIndex, TVIS_STATEIMAGEMASK); uStyle = m_pSptOperator->m_handleProcessor.GetStyleFromHandle(dwItemHandle); uState = m_pSptOperator->m_stateProcessor.ChangeToItemState(dwImageState); ::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)uStyle, (LPARAM)uState); } else { ::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)PZ_STYLE_SCON_2D, (LPARAM)VAL_ZERO); } break; case TAB_INDEX_3D: posSCon = ((CNavSptView*)m_pNavSptView)->m_nav3DDlg.m_3dList.GetFirstSelectedItemPosition(); iSConIndex = ((CNavSptView*)m_pNavSptView)->m_nav3DDlg.m_3dList.GetNextSelectedItem(posSCon); if (VAL_MINUS_ONE != iSConIndex) { dwItemHandle = ((CNavSptView*)m_pNavSptView)->m_nav3DDlg.m_3dList.GetItemData(iSConIndex); dwImageState = ((CNavSptView*)m_pNavSptView)->m_nav3DDlg.m_3dList.GetItemState(iSConIndex, TVIS_STATEIMAGEMASK); uStyle = m_pSptOperator->m_handleProcessor.GetStyleFromHandle(dwItemHandle); uState = m_pSptOperator->m_stateProcessor.ChangeToItemState(dwImageState); ::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)uStyle, (LPARAM)uState); } else { ::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)PZ_STYLE_SCON_3D, (LPARAM)VAL_ZERO); } // ::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)PZ_STYLE_MED_DEF, (LPARAM)VAL_ZERO); break; default: break; } } else //当MDI窗口处于非激活状态或即将关闭,bActive的值为FALSE; { if (NULL != ((CMainFrame*)AfxGetMainWnd())->m_pSptMngFrm) { ::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)VAL_ZERO, (LPARAM)VAL_ZERO); } } } LRESULT CSptMngFrame::OnSchedule(WPARAM wParam, LPARAM lParam) { DWORD dwItemHandle = (DWORD)VAL_ZERO; DWORD dwImageState = (DWORD)VAL_ZERO; UINT uStyle = (UINT)VAL_ZERO; UINT uState = (UINT)VAL_ZERO; dwItemHandle = (DWORD)wParam; dwImageState = (DWORD)lParam; uStyle = (UINT)m_pSptOperator->m_handleProcessor.GetStyleFromHandle(dwItemHandle); uState = (UINT)m_pSptOperator->m_stateProcessor.ChangeToItemState(dwImageState); ShowAppView(dwItemHandle, uState); ::SendMessage(((CMainFrame*)AfxGetMainWnd())->m_hWnd, WM_SCHEDULE, (WPARAM)uStyle, (LPARAM)uState); return 0; } LRESULT CSptMngFrame::OnRefresh(WPARAM wParam, LPARAM lParam) { switch ((UINT)wParam) { case OP_SPT_SYN: /* this->m_pExecOperator->InitialNavExecScmDlg(((CNavSptView*)m_pNavExecView)->m_navScmDlg); if (TAB_INDEX_SCM == ((CNavSptView*)m_pNavExecView)->m_navTab.GetCurSel()) { ShowAppView((DWORD)VAL_ZERO, (UINT)VAL_ZERO); } */ this->m_pSptOperator->InitialNavExecView((CNavSptView*)m_pNavSptView); ShowAppView((DWORD)VAL_ZERO, (UINT)VAL_ZERO); break; case OP_DE_F_D: /* this->m_pExecOperator->InitialNavExecSptDlg(((CNavSptView*)m_pNavExecView)->m_navSptDlg); if (TAB_INDEX_SPT == ((CNavSptView*)m_pNavExecView)->m_navTab.GetCurSel()) { this->ShowAppView((DWORD)VAL_ZERO, (UINT)VAL_ZERO); } */ break; default: break; } return 0; } bool CSptMngFrame::ShowAppView(DWORD dwHandle, UINT uState) { DWORD dwDevHandle = (DWORD)VAL_ZERO; UINT uStyle = (UINT)VAL_ZERO; uStyle = (DWORD)m_pSptOperator->m_handleProcessor.GetStyleFromHandle(dwHandle); if (VAL_ZERO != uState) { int iTabCurSel = ((CNavSptView*)m_pNavSptView)->m_navTab.GetCurSel(); if (EN_TRANSFER_FILE_BY_CLOUND == g_iTransFileMode) { iTabCurSel = iTabCurSel + 1; } switch (iTabCurSel) { case TAB_INDEX_CE: if (PZ_STYLE_SCON_CE == uStyle) { if (NULL != m_pAppSptView) { if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CAppCESptView))) { m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1); m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CAppCESptView), CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL); m_pAppSptView = static_cast(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1)); } m_pSptOperator->ShowCEScriptConInfo(dwHandle, m_pAppSptView); } } else { if (NULL != m_pAppSptView) { if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CBlankView))) { m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1); m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView), CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL); m_pAppSptView = static_cast(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1)); } } } break; case TAB_INDEX_2D: if (PZ_STYLE_SCON_2D == uStyle) { if (NULL != m_pAppSptView) { if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CAppSptView))) { m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1); m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CAppSptView), CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL); m_pAppSptView = static_cast(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1)); } m_pSptOperator->Show2DScriptConInfo(dwHandle, m_pAppSptView); } } else { if (NULL != m_pAppSptView) { if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CBlankView))) { m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1); m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView), CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL); m_pAppSptView = static_cast(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1)); } } } break; case TAB_INDEX_3D: if (PZ_STYLE_SCON_3D == uStyle) { if (NULL != m_pAppSptView) { if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CAppSptView))) { m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1); m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CAppSptView), CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL); m_pAppSptView = static_cast(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1)); } m_pSptOperator->Show3DScriptConInfo(dwHandle, m_pAppSptView); } } else { if (NULL != m_pAppSptView) { if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CBlankView))) { m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1); m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView), CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL); m_pAppSptView = static_cast(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1)); } } } // switch (uStyle) // { // case PZ_STYLE_MED_DEF: // if (NULL != m_pAppExecView) // { // if (_T("CBlankView") != m_pAppExecView->GetRuntimeClass()->m_lpszClassName) // { // m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1); // m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView), // CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL); // m_pAppExecView = static_cast(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1)); // } // } // break; // case PZ_STYLE_MED_CUS: // if (NULL != m_pAppExecView) // { // if (_T("CBlankView") != m_pAppExecView->GetRuntimeClass()->m_lpszClassName) // { // m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1); // m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView), // CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL); // m_pAppExecView = static_cast(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1)); // } // } // break; // default: // break; // } break; default: if (NULL != m_pAppSptView) { if (!m_pAppSptView->IsKindOf(RUNTIME_CLASS(CBlankView))) { m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1); m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView), CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL); m_pAppSptView = static_cast(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1)); } } break; } } else { if (NULL != m_pAppSptView) { if (!m_pNavSptView->IsKindOf(RUNTIME_CLASS(CBlankView))) { m_splitter.DeleteView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1); m_splitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_1, RUNTIME_CLASS(CBlankView), CSize(SPL_VIEW_APP_HEIGHT, SPL_VIEW_APP_WIDTH), NULL); m_pAppSptView = static_cast(m_splitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_1)); } } } m_splitter.RecalcLayout(); return true; } void CSptMngFrame::OnCreateScriptFileInOffline() { /* CString szCaption; switch (m_pExecOperator->CreateScriptFileInOffline((CNavSptView*)m_pNavExecView)) { case APP_SUCCESS: szCaption.Empty(); szCaption.LoadString(IDS_OP_SUCCESS); AfxMessageBox(szCaption, MB_ICONINFORMATION); break; case APP_ERR_DB: szCaption.Empty(); szCaption.LoadString(IDS_OP_FAIL); AfxMessageBox(szCaption, MB_ICONEXCLAMATION); break; default: break; } */ } void CSptMngFrame::OnDeleteScriptFileInLoc() { /* CString szCaption; szCaption.Empty(); szCaption.LoadString(IDS_OP_LD_SF_SEL); if (MessageBox(szCaption, NULL, MB_YESNO | MB_ICONQUESTION) == IDYES) { switch (m_pExecOperator->DeleteScriptFileInLoc((CNavSptView*)m_pNavExecView)) { case APP_SUCCESS: szCaption.Empty(); szCaption.LoadString(IDS_OP_SUCCESS); AfxMessageBox(szCaption, MB_ICONINFORMATION); break; case APP_ERR_DB: szCaption.Empty(); szCaption.LoadString(IDS_OP_FAIL); AfxMessageBox(szCaption, MB_ICONEXCLAMATION); break; default: break; } } */ } void CSptMngFrame::OnDeleteSConInDB() { /* CString szCaption; szCaption.Empty(); szCaption.LoadString(IDS_OP_LD_SCON_SEL); if (MessageBox(szCaption, NULL, MB_YESNO | MB_ICONQUESTION) == IDYES) { switch (m_pExecOperator->DeleteSConInDB((CNavSptView*)m_pNavExecView)) { case APP_SUCCESS: OnSchedule((WPARAM)m_pExecOperator->m_handleProcessor.GenerateHandle(VAL_ZERO, PZ_STYLE_SPT_CON), (LPARAM)VAL_ZERO); szCaption.Empty(); szCaption.LoadString(IDS_OP_SUCCESS); AfxMessageBox(szCaption, MB_ICONINFORMATION); break; case APP_RELATION: szCaption.Empty(); szCaption.LoadString(IDS_OP_LD_SCON_RELATION); AfxMessageBox(szCaption, MB_ICONEXCLAMATION); break; case APP_ERR_DB: szCaption.Empty(); szCaption.LoadString(IDS_OP_FAIL); AfxMessageBox(szCaption, MB_ICONEXCLAMATION); break; default: break; } } */ } void CSptMngFrame::OnCreate2DSConInDB() { m_pSptOperator->Create2DSConInDB((CNavSptView*)m_pNavSptView); } //创建2D非标准脚本 void CSptMngFrame::OnCreate2dNonStandardScripts() { CCrossHoleConfig2DMainDlg::GetInstance()->DoModal(); } //创建3D非标准脚本 void CSptMngFrame::OnCreate3dNonStandardScripts() { CCrossHoleConfig3DMainDlg::GetInstance()->DoModal(); } void CSptMngFrame::OnExport2DSConInDB() { CString strTxt = _T(""); UINT uRes = m_pSptOperator->Export2DSConInDB((CNavSptView*)m_pNavSptView); if (APP_SUCCESS == uRes) strTxt.LoadString(IDS_OP_SUCCESS + g_UIOffset); else strTxt.LoadString(IDS_OP_FAIL + g_UIOffset); if (APP_CANCLE != uRes) { if (OFFSET_CHINESE == g_UIOffset) AfxMessageBox(strTxt); else MessageBoxEx(NULL, strTxt, STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); } } void CSptMngFrame::OnExport3DSConInDB() { CString strTxt = _T(""); UINT uRes = m_pSptOperator->Export3DSConInDB((CNavSptView*)m_pNavSptView); if (APP_SUCCESS == uRes) strTxt.LoadString(IDS_OP_SUCCESS+g_UIOffset); else strTxt.LoadString(IDS_OP_FAIL+g_UIOffset); if (APP_CANCLE != uRes) { if (OFFSET_CHINESE == g_UIOffset) AfxMessageBox(strTxt); else MessageBoxEx(NULL, strTxt, STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); } } void CSptMngFrame::OnDelete2DSConInDB() { CString szCaption; szCaption.Empty(); szCaption.LoadString(IDS_OP_LD_SCON_SEL+g_UIOffset); hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL); int nRet = 0; if (OFFSET_CHINESE == g_UIOffset) nRet = AfxMessageBox(szCaption, MB_YESNO | MB_ICONQUESTION); else nRet = MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_YESNO | MB_ICONQUESTION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); if (IDYES == nRet) { switch (m_pSptOperator->Delete2DSConInDB((CNavSptView*)m_pNavSptView)) { case APP_SUCCESS: szCaption.Empty(); szCaption.LoadString(IDS_OP_SUCCESS+g_UIOffset); hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL); if (OFFSET_CHINESE == g_UIOffset) AfxMessageBox(szCaption, MB_ICONINFORMATION); else MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); break; case APP_RELATION: szCaption.Empty(); szCaption.LoadString(IDS_OP_LD_SCON_RELATION); hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL); if (OFFSET_CHINESE == g_UIOffset) AfxMessageBox(szCaption, MB_ICONINFORMATION); else MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); break; case APP_ERR_DB: szCaption.Empty(); szCaption.LoadString(IDS_OP_FAIL+g_UIOffset); hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL); if (OFFSET_CHINESE == g_UIOffset) AfxMessageBox(szCaption, MB_ICONINFORMATION); else MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); break; default: break; } } } void CSptMngFrame::OnCreateCESConInDB() { m_pSptOperator->CreateCESConInDB((CNavSptView*)m_pNavSptView); } void CSptMngFrame::OnDeleteCESConInDB() { CString szCaption; szCaption.Empty(); szCaption.LoadString(IDS_OP_LD_SCON_SEL+g_UIOffset); hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL); int nRet = 0; if (OFFSET_CHINESE == g_UIOffset) nRet = AfxMessageBox(szCaption, MB_YESNO | MB_ICONQUESTION); else nRet = MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_YESNO | MB_ICONQUESTION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); if (IDYES == nRet) { switch (m_pSptOperator->DeleteCESConInDB((CNavSptView*)m_pNavSptView)) { case APP_SUCCESS: szCaption.Empty(); szCaption.LoadString(IDS_OP_SUCCESS+g_UIOffset); hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL); if (OFFSET_CHINESE == g_UIOffset) AfxMessageBox(szCaption, MB_ICONINFORMATION); else MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); break; case APP_RELATION: szCaption.Empty(); szCaption.LoadString(IDS_OP_LD_SCON_RELATION); hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL); if (OFFSET_CHINESE == g_UIOffset) AfxMessageBox(szCaption, MB_ICONINFORMATION); else MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); break; case APP_ERR_DB: szCaption.Empty(); szCaption.LoadString(IDS_OP_FAIL+g_UIOffset); hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL); if (OFFSET_CHINESE == g_UIOffset) AfxMessageBox(szCaption, MB_ICONINFORMATION); else MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); break; default: break; } } } void CSptMngFrame::OnCreate3DSConInDB() { // TODO: Add your command handler code here //add by waston; m_pSptOperator->Create3DSConInDB((CNavSptView*)m_pNavSptView); } void CSptMngFrame::OnDelete3DSConInDB() { CString szCaption; szCaption.Empty(); szCaption.LoadString(IDS_OP_LD_SCON_SEL+g_UIOffset); hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL); int nRet = 0; if (OFFSET_CHINESE == g_UIOffset) nRet = AfxMessageBox(szCaption, MB_YESNO | MB_ICONQUESTION); else nRet = MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_YESNO | MB_ICONQUESTION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); if (IDYES == nRet) { switch (m_pSptOperator->Delete3DSConInDB((CNavSptView*)m_pNavSptView)) { case APP_SUCCESS: szCaption.Empty(); szCaption.LoadString(IDS_OP_SUCCESS+g_UIOffset); hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL); if (OFFSET_CHINESE == g_UIOffset) AfxMessageBox(szCaption, MB_ICONINFORMATION); else MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); break; case APP_RELATION: szCaption.Empty(); szCaption.LoadString(IDS_OP_LD_SCON_RELATION); hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL); if (OFFSET_CHINESE == g_UIOffset) AfxMessageBox(szCaption, MB_ICONINFORMATION); else MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); break; case APP_ERR_DB: szCaption.Empty(); szCaption.LoadString(IDS_OP_FAIL+g_UIOffset); hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL); if (OFFSET_CHINESE == g_UIOffset) AfxMessageBox(szCaption, MB_ICONINFORMATION); else MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)); break; default: break; } } } void CSptMngFrame::OnBrowse2DScript() { m_pSptOperator->Browse2DScript((CNavSptView*)m_pNavSptView); }