diff --git a/LaiPuLaser/LaiPuLaser/DlgChildLaserPathState.cpp b/LaiPuLaser/LaiPuLaser/DlgChildLaserPathState.cpp index f9cfa6c..bf87dd1 100644 --- a/LaiPuLaser/LaiPuLaser/DlgChildLaserPathState.cpp +++ b/LaiPuLaser/LaiPuLaser/DlgChildLaserPathState.cpp @@ -36,6 +36,7 @@ #include "DlgTekOscilloscopeCtrl.h" #include "ThorlabsKCubeMotorCtrlMgr.h" #include "OtherMonitorDevMgr.h" +#include "DlgDeviceMain.h" #define UPDATE_INFO_TIMER 1 @@ -515,12 +516,22 @@ void CDlgChildLaserPathState::OnBnClickedTestFucBtn() LogInfo.m_ClassName = "CDlgChildLaserPathState"; LogInfo.m_FuncName = "OnBnClickedTestFucBtn"; gLogMgr->WriteLogInfo(LogInfo); - shared_ptr dlg(new CDlgTestFunc); - if (dlg.get()) - { - dlg->DoModal(); - GetFrame()->ShowWindowMax(); - } + CDlgTestFunc dlg; + dlg.DoModal(); + if(dlg.IsbShowDlgGraphEdit()) + { + GetFrame()->m_DlgGraphEdit.ShowAllItem(); + //隐藏主界面,编辑图形 + gDlgDeviceMain->ShowWindow(SW_HIDE); + GetFrame()->ShowWindowMax(); + //重新绘制 + m_pView->RefreshView(); + } + else + { + gDlgDeviceMain->ShowWindow(SW_SHOW); + GetFrame()->ShowWindowMax(); + } } void CDlgChildLaserPathState::OnBnClickedMainLaserState() { diff --git a/LaiPuLaser/LaiPuLaser/DlgGraphEdit.cpp b/LaiPuLaser/LaiPuLaser/DlgGraphEdit.cpp index f0cba2f..a9d5985 100644 --- a/LaiPuLaser/LaiPuLaser/DlgGraphEdit.cpp +++ b/LaiPuLaser/LaiPuLaser/DlgGraphEdit.cpp @@ -304,7 +304,6 @@ void CDlgGraphEdit::OnBnClickedZoomOutBtn() m_pView->OnZoomOut(); } #endif -#define MAIN_DLG_SIZE_Y 1050 void CDlgGraphEdit::OnStnClickedOpenMainDlg() { diff --git a/LaiPuLaser/LaiPuLaser/DlgTestFunc.cpp b/LaiPuLaser/LaiPuLaser/DlgTestFunc.cpp index 452a0d7..57e0760 100644 --- a/LaiPuLaser/LaiPuLaser/DlgTestFunc.cpp +++ b/LaiPuLaser/LaiPuLaser/DlgTestFunc.cpp @@ -107,6 +107,8 @@ CDlgTestFunc::CDlgTestFunc(CWnd* pParent /*=NULL*/) m_DimmerAngVal1 = 0;//移动到角度值 m_DimmerAngVal2 = 0;//移动到角度值 + + m_bShowDlgGraphEdit = false;//显示绘制界面 } CDlgTestFunc::~CDlgTestFunc() { @@ -222,6 +224,8 @@ BEGIN_MESSAGE_MAP(CDlgTestFunc, CDialogEx) ON_BN_CLICKED(IDD_ROTATO_DIMMER_TO_ANG_BTN2, &CDlgTestFunc::OnBnClickedRotatoDimmerToAngBtn2) ON_BN_CLICKED(IDD_PATH_MOTOR_DLG_BTN, &CDlgTestFunc::OnBnClickedPathMotorDlgBtn) ON_BN_CLICKED(IDC_ACS_PAR_COMPARE_BTN, &CDlgTestFunc::OnBnClickedAcsParCompareBtn) + ON_BN_CLICKED(NEW_WAFER_VIEW_BTN2, &CDlgTestFunc::OnBnClickedWaferViewBtn2) + ON_BN_CLICKED(NEW_CLOSE_WAFER_VIEW_BTN, &CDlgTestFunc::OnBnClickedCloseWaferViewBtn) END_MESSAGE_MAP() #if 1 BOOL CDlgTestFunc::OnInitDialog() @@ -475,6 +479,55 @@ void CDlgTestFunc::OnBnClickedHideMainFrameBtn() Sleep(300); this->ShowWindow(SW_SHOW); } +void CDlgTestFunc::OnBnClickedWaferViewBtn() +{ + CLogInfo LogInfo; + LogInfo.m_ClassName = "CDlgTestFunc"; + LogInfo.m_FuncName = "OnBnClickedWaferViewBtn"; + gLogMgr->WriteLogInfo(LogInfo); + +#if 0 + if(gDraw->IsbDlgLayerViewShow()) + { + LogInfo.m_LogMsg = "Cannot Re-Open"; + gLogMgr->WriteLogInfo(LogInfo); + return; + } + CDlgLayerViewShow *dlg = new CDlgLayerViewShow; + dlg->Create(IDD_LAYER_VIEW_SHOW_DLG, this); + dlg->ShowWindow(SW_SHOW); +#else + + GetFrame()->m_DlgGraphEdit.ShowAllItem(); + //显示图形界面 + gDlgDeviceMain->ShowWindow(SW_HIDE); + GetFrame()->ShowWindowMax(); + //重新绘制 + //m_pView->RefreshView(); + m_pView->DoZoomFull(); +#endif +} +void CDlgTestFunc::OnBnClickedWaferViewBtn2() +{ + CLogInfo LogInfo; + LogInfo.m_ClassName = "CDlgTestFunc"; + LogInfo.m_FuncName = "OnBnClickedWaferViewBtn2"; + gLogMgr->WriteLogInfo(LogInfo); + m_bShowDlgGraphEdit = true;//显示绘制界面 + OnOK();//关闭界面才能进行鼠标操作 +} +void CDlgTestFunc::OnBnClickedCloseWaferViewBtn() +{ + CLogInfo LogInfo; + LogInfo.m_ClassName = "CDlgTestFunc"; + LogInfo.m_FuncName = "OnBnClickedCloseWaferViewBtn"; + gLogMgr->WriteLogInfo(LogInfo); + + //显示图形界面 + gDlgDeviceMain->ShowWindow(SW_SHOW); + GetFrame()->ShowWindowMax(); +} + #endif #if 1 void CDlgTestFunc::SetMoveDis(int idx) @@ -948,11 +1001,8 @@ void CDlgTestFunc::OnBnClickedIoTestBtn() gLogMgr->WriteLogInfo(LogInfo); if(gAuthorityMgr->CheckAuthority(_Authority_Factory,true)==false) return; - shared_ptr dlg(new CDlgIOTest); - if (dlg.get()) - { - dlg->DoModal(); - } + CDlgIOTest dlg; + dlg.DoModal(); } #endif #if 1 @@ -1192,22 +1242,6 @@ void CDlgTestFunc::OnBnClickedAirDimmerBtn() #endif #if 1 -void CDlgTestFunc::OnBnClickedWaferViewBtn() -{ - CLogInfo LogInfo; - LogInfo.m_ClassName = "CDlgTestFunc"; - LogInfo.m_FuncName = "OnBnClickedWaferViewBtn"; - gLogMgr->WriteLogInfo(LogInfo); - if(gDraw->IsbDlgLayerViewShow()) - { - LogInfo.m_LogMsg = "Cannot Re-Open"; - gLogMgr->WriteLogInfo(LogInfo); - return; - } - CDlgLayerViewShow *dlg = new CDlgLayerViewShow; - dlg->Create(IDD_LAYER_VIEW_SHOW_DLG, this); - dlg->ShowWindow(SW_SHOW); -} void CDlgTestFunc::OnBnClickedOpenObjBtn() { CLogInfo LogInfo; diff --git a/LaiPuLaser/LaiPuLaser/DlgTestFunc.h b/LaiPuLaser/LaiPuLaser/DlgTestFunc.h index 3281a2e..2c6efd3 100644 --- a/LaiPuLaser/LaiPuLaser/DlgTestFunc.h +++ b/LaiPuLaser/LaiPuLaser/DlgTestFunc.h @@ -50,7 +50,8 @@ public: virtual ~CDlgTestFunc(); virtual void OnCancel(); bool IsbNeedReOpenTestFuncDlg(){return m_bNeedReOpenTestFuncDlg;}; - bool IsbHideMainFrame(){return m_bHideMainFrame;}; + bool IsbHideMainFrame(){return m_bHideMainFrame;}; + bool IsbShowDlgGraphEdit(){return m_bShowDlgGraphEdit;}; enum { IDD = IDD_TEST_FUNC_DLG }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 @@ -116,6 +117,8 @@ private: bool m_bHideMainFrame;//是否隐藏主界面 ETestFuncType m_CurETestFuncType;//当前执行的类型 CValVectorMgr m_ValVectorMgr; + + bool m_bShowDlgGraphEdit;//显示绘制界面 public: afx_msg void OnBnClickedMoveUpBtn(); afx_msg void OnBnClickedMoveRightBtn(); @@ -184,4 +187,6 @@ public: afx_msg void OnBnClickedRotatoDimmerToAngBtn2(); afx_msg void OnBnClickedPathMotorDlgBtn(); afx_msg void OnBnClickedAcsParCompareBtn(); + afx_msg void OnBnClickedWaferViewBtn2(); + afx_msg void OnBnClickedCloseWaferViewBtn(); }; diff --git a/LaiPuLaser/LaiPuLaser/GlobalDefine.h b/LaiPuLaser/LaiPuLaser/GlobalDefine.h index 3ecea2f..da55df2 100644 --- a/LaiPuLaser/LaiPuLaser/GlobalDefine.h +++ b/LaiPuLaser/LaiPuLaser/GlobalDefine.h @@ -33,6 +33,9 @@ using namespace std;/*使 #define VAR_PAR_CNT 20//可变参数的数量 +#define MAIN_DLG_SIZE_Y 1050 + + //软件中的延时时间 #define FIRST_OPEN_DELAY 5000 //打开软件后等待这个时间再开始检测状态 #define READ_INFO_FAST_DELAY 300 //读取信息延时ms (快速) diff --git a/LaiPuLaser/LaiPuLaser/LaiPuLaser.rc b/LaiPuLaser/LaiPuLaser/LaiPuLaser.rc index c134e55..52315ea 100644 Binary files a/LaiPuLaser/LaiPuLaser/LaiPuLaser.rc and b/LaiPuLaser/LaiPuLaser/LaiPuLaser.rc differ diff --git a/LaiPuLaser/LaiPuLaser/LaiPuLaserView.cpp b/LaiPuLaser/LaiPuLaser/LaiPuLaserView.cpp index db50bd1..fe186a6 100644 --- a/LaiPuLaser/LaiPuLaser/LaiPuLaserView.cpp +++ b/LaiPuLaser/LaiPuLaser/LaiPuLaserView.cpp @@ -31,6 +31,7 @@ #include "ObjFillMgr.h" #include "CommonFlowMgr.h" #include "CriticalSection.h" +#include "DlgDeviceMain.h" @@ -387,7 +388,7 @@ BOOL CLaiPuLaserView::PreTranslateMessage(MSG* pMsg) OnSpace(); break; case VK_ESCAPE://Esc 键 - OnEscape(); + OnEscape(true); break; case VK_DELETE://删除 OnDelSelObj(); @@ -422,7 +423,7 @@ BOOL CLaiPuLaserView::PreTranslateMessage(MSG* pMsg) return CScrollView::PreTranslateMessage(pMsg); } //ESC 键响应 -void CLaiPuLaserView::OnEscape() +void CLaiPuLaserView::OnEscape(bool bDlgDeviceMain) { CClientDC dc(this); OnPrepareDC(&dc); @@ -438,7 +439,16 @@ void CLaiPuLaserView::OnEscape() LogInfo.m_FuncName = "OnEscape"; //LogInfo.m_LogMsg = Bool2Str(bLock); gLogMgr->WriteLogInfo(LogInfo); - + + + //回到主界面 + if(bDlgDeviceMain && gDlgDeviceMain) + { + gDraw->SetbObjEditMode(false);//关闭编辑模式 + gDlgDeviceMain->ShowWindow(SW_SHOW); + //全屏显示(会影响弹出对话框的位置) + gDlgDeviceMain->MoveWindow(CRect(0,0,1950,MAIN_DLG_SIZE_Y)); + } } //方向键响应 void CLaiPuLaserView::MoveObjToPtByDir(DIRECTION dir,double Dis) @@ -1250,9 +1260,14 @@ void CLaiPuLaserView::RefreshView() if(gDraw->IsbDlgLayerViewShow()) { + CLogInfo LogInfo; + LogInfo.m_ClassName = "CLaiPuLaserView"; + LogInfo.m_FuncName = "RefreshView"; + LogInfo.m_LogMsg = "SendMsgToWnd"; + gLogMgr->WriteLogInfo(LogInfo); CString WndName = "Wafer View"; CString WndMsg = "Invalidate"; - SendMsgToWnd(WndName,WndMsg); + SendMsgToWnd(WndName,WndMsg); } else { diff --git a/LaiPuLaser/LaiPuLaser/LaiPuLaserView.h b/LaiPuLaser/LaiPuLaser/LaiPuLaserView.h index ee38b32..6a487c7 100644 --- a/LaiPuLaser/LaiPuLaser/LaiPuLaserView.h +++ b/LaiPuLaser/LaiPuLaser/LaiPuLaserView.h @@ -97,7 +97,7 @@ public: int GetCurrScaleVal(int val);//单位是像素 double GetCurrScaleVal(double val);//单位:毫米 void RefreshView(); - void OnEscape(); + void OnEscape(bool bDlgDeviceMain); void MoveObjToPtByDir(DIRECTION dir,double Dis); afx_msg BOOL OnMouseWheel(UINT nFlags,short zDelta,CPoint pt); double GetCurZoomScale(){return m_zoomScale;}; diff --git a/LaiPuLaser/LaiPuLaser/MouseTool.cpp b/LaiPuLaser/LaiPuLaser/MouseTool.cpp index 4eba6cb..7e64f69 100644 --- a/LaiPuLaser/LaiPuLaser/MouseTool.cpp +++ b/LaiPuLaser/LaiPuLaser/MouseTool.cpp @@ -52,7 +52,7 @@ void CMouseTool::OnLButtonDown(UINT nFlags, CPoint point,CClientDC &dc) } void CMouseTool::OnRButtonDown(UINT nFlags, CPoint point,CClientDC &dc) { - GetCurViewPtr()->OnEscape(); + GetCurViewPtr()->OnEscape(false); } void CMouseTool::OperateOver() { diff --git a/LaiPuLaser/LaiPuLaser/resource.h b/LaiPuLaser/LaiPuLaser/resource.h index 4f720cc..d2f1f8f 100644 Binary files a/LaiPuLaser/LaiPuLaser/resource.h and b/LaiPuLaser/LaiPuLaser/resource.h differ