Ongoing70 #3766 CF AOI Review 전설비 설정한 기준치 이상 Offset 적용시 경고 기능 추가
- ReviewHistory에서 Offset 저장시 ReviewSystem에 메세지를 보내 저장한 Offset 다시 Load하도록 수정
- Offset Save, Offset Load 하면 설정한 기준 값을 기준으로 색 표현 기능 추가
- 설정된 1차 기준값 보다 Offset의 절대값이 높을시 노란색 표시
- 설정된 2차 기준값 보다 Offset의 절대값이 높을시 빨간색 표시
| | |
| | | HANDLE hThread = CreateThread(NULL, 0, RunThreadReviewHistory, this, 0, &dwThreadId); |
| | | m_ThreadId = dwThreadId; |
| | | /*< LYW 20211029 - #3684 ADD End >*/ |
| | | m_CheckInsViewCenterLine.SetCheck(FALSE); |
| | | |
| | | for (int i = 0; i < 105; i++) |
| | | { |
| | |
| | | DDX_Text(pDX, IDC_EDIT_OFFSET_Y, m_dEditOffsetY); |
| | | DDX_Text(pDX, IDC_EDIT_DFFSET_GANTRY_IDX, m_strGantryIdx); |
| | | DDX_Text(pDX, IDC_STATIC_LAST_SAVE_OFFSET_TIME, m_TextLastSaveOffsetTime); |
| | | DDX_Control(pDX, IDC_CHECK_INS_VIEW_CENTER_LINE, m_CheckInsViewCenterLine); |
| | | } |
| | | |
| | | BEGIN_MESSAGE_MAP(CReveiwHistoryDlg, CDialogEx) |
| | |
| | | ON_WM_KEYDOWN() |
| | | ON_BN_CLICKED(IDC_BUTTON_OFFSET_APPLY, &CReveiwHistoryDlg::OnBnClickedButtonOffsetApply) |
| | | ON_BN_CLICKED(IDC_BUTTON_OFFSET_SAVE, &CReveiwHistoryDlg::OnBnClickedButtonOffsetSave) |
| | | ON_BN_CLICKED(IDC_CHECK_INS_VIEW_CENTER_LINE, &CReveiwHistoryDlg::OnBnClickedCheckInsViewCenterLine) |
| | | END_MESSAGE_MAP() |
| | | |
| | | // CReveiwHistoryDlg 메시지 처리기 |
| | |
| | | { |
| | | dc.SetStretchBltMode(COLORONCOLOR); |
| | | m_AlignSecend.Draw(dc, m_Align_rect2); |
| | | } |
| | | if (m_CheckInsViewCenterLine.GetCheck() == TRUE) |
| | | { |
| | | DrawInsViewCenterLine(&dc); |
| | | } |
| | | CDialogEx::OnPaint(); |
| | | } |
| | |
| | | |
| | | m_ConfigOption.m_nSelectRawType = 3; |
| | | |
| | | } |
| | | |
| | | void CReveiwHistoryDlg::DrawInsViewCenterLine(CPaintDC * pDC) |
| | | { |
| | | if (m_picture_rect2.Width() == 0 || m_picture_rect2.Height() == 0) return; |
| | | |
| | | CRect rtDraw = m_picture_rect2; |
| | | |
| | | CPen pen, *pPen = NULL; |
| | | pen.CreatePen(PS_DOT, 1, RGB(255, 0, 0)); |
| | | pDC->SelectObject(&pen); |
| | | |
| | | //pDC->SelectStockObject(WHITE_PEN); |
| | | |
| | | // center line |
| | | pDC->MoveTo((rtDraw.Width() / 2) + rtDraw.left, 0 + rtDraw.top); |
| | | pDC->LineTo((rtDraw.Width() / 2) + rtDraw.left, rtDraw.Height() + rtDraw.top); |
| | | pDC->MoveTo(0 + rtDraw.left, (rtDraw.Height() / 2) + rtDraw.top); |
| | | pDC->LineTo(rtDraw.Width() + rtDraw.left, (rtDraw.Height() / 2) + rtDraw.top); |
| | | } |
| | | |
| | | void CReveiwHistoryDlg::OnBnClickedBtnFindBin() |
| | |
| | | { |
| | | // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. |
| | | SaveOffset(); |
| | | SendMsg2ReviewSystem(); |
| | | } |
| | | |
| | | BOOL CReveiwHistoryDlg::LoadOffset(CString strFilePath) |
| | |
| | | macroFile.GetItem(_T("CAMERA_COUNT"), m_nCameraCount, 0); |
| | | macroFile.GetItem(_T("SCAN_COUNT"), m_nScanCount, 0); |
| | | macroFile.GetItem(_T("XPOS_COUNT"), m_XposCount, 0); |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | macroFile.GetItem(_T("WARN_STANDARD"), m_dWarnStandard, 0); |
| | | macroFile.GetItem(_T("HARD_STANDARD"), m_dHardStandard, 0); |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | CString strItem = _T(""); |
| | | double dXoffset = 0; |
| | | double dYoffset = 0; |
| | |
| | | strItem.Format(_T("XPOS_COUNT")); |
| | | macroFile.SetItem(strItem, m_XposCount); |
| | | |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | strItem.Format(_T("WARN_STANDARD")); |
| | | macroFile.SetItem(strItem, m_dWarnStandard); |
| | | |
| | | strItem.Format(_T("HARD_STANDARD")); |
| | | macroFile.SetItem(strItem, m_dHardStandard); |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | |
| | | |
| | | CString strData; |
| | | double dData = 0; |
| | |
| | | else AfxMessageBox(_T("OFFSET SAVE FAIL"), MB_OK | MB_ICONHAND); |
| | | |
| | | return bReturn; |
| | | } |
| | | |
| | | BOOL CReveiwHistoryDlg::SendMsg2ReviewSystem() |
| | | { |
| | | HWND hWnd = ::FindWindow(NULL, _T("ReviewSystem")); |
| | | |
| | | if (hWnd) |
| | | { |
| | | COPYDATASTRUCT cds; |
| | | cds.dwData = COPYDATA_REVIEWHISTORYOR2REVIEWSYSTEM; |
| | | cds.cbData = 0; |
| | | cds.lpData = 0; |
| | | |
| | | ::SendMessage(hWnd, WM_COPYDATA, 0, (LPARAM)(LPVOID)&cds); |
| | | |
| | | return TRUE; |
| | | } |
| | | |
| | | return FALSE; |
| | | } |
| | | |
| | | BOOL CReveiwHistoryDlg::ApplyOffset(int nModuleidx, int nCamIndex, int ScanIndex, double dXOffsetValue, double dYOffsetValue) |
| | |
| | | } |
| | | return 0; |
| | | } |
| | | /*< LYW 20211029 - #3684 ADD End >*/ |
| | | /*< LYW 20211029 - #3684 ADD End >*/ |
| | | |
| | | void CReveiwHistoryDlg::OnBnClickedCheckInsViewCenterLine() |
| | | { |
| | | // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. |
| | | Invalidate(TRUE); |
| | | |
| | | } |
| | |
| | | #define REVIEW_OFFSET_CONFIGFILE_FULL_PATHNAME _T("D:\\DIT_Review\\ReviewServerConfig\\ReviewOffSet.cfg") |
| | | #define REVIEW_OFFSET_BACKUP_FORDER_NAME _T("OffsetBackup") |
| | | #define REVIEW_OFFSET_BACKUP_FORDER_PATH _T("D:\\DIT_Review\\ReviewServerConfig\\OffsetBackup\\") |
| | | |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | #define COPYDATA_REVIEWHISTORYOR2REVIEWSYSTEM 1800 |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | /*< LYW 20211025 - #3684 ADD End >*/ |
| | | |
| | | struct _DefectList |
| | |
| | | void OpenFileHeader(CString strPath, CString strFullPath); |
| | | void BinFileOpen(int nCount); |
| | | void OnCbnSelchangeComboRawtype(); |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | void DrawInsViewCenterLine(CPaintDC *pDC); |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | |
| | | /*< LYW 20211025 - #3684 ADD Start >*/ |
| | | afx_msg void OnBnClickedButtonOffsetApply(); |
| | | afx_msg void OnBnClickedButtonOffsetSave(); |
| | | BOOL LoadOffset(CString strFilePath); |
| | | BOOL SaveOffset(); |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | BOOL SendMsg2ReviewSystem(); |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | BOOL ApplyOffset(int nModuleidx, int nCamIndex, int ScanIndex, double dXOffsetValue, double dYOffsetValue); |
| | | BOOL SetInputOffSet(int nModuleidx, int nCamIndex, int ScanIndex, int nXposIndex, double dXOffsetValue, double dYOffsetValue, double dXposMin, double dXposMax, BOOL bCheckSave = 0); |
| | | void InitDataInfo(); |
| | |
| | | int m_nCameraCount; |
| | | int m_nScanCount; |
| | | int m_XposCount; |
| | | double m_dWarnStandard; |
| | | double m_dHardStandard; |
| | | int m_nCurModelIdx; |
| | | |
| | | /*< LYW 20211025 - #3684 ADD End >*/ |
| | |
| | | /*< LYW 20211028 - #index ADD Start >*/ |
| | | CString m_TextLastSaveOffsetTime; |
| | | /*< LYW 20211028 - #index ADD End >*/ |
| | | CButton m_CheckInsViewCenterLine; |
| | | afx_msg void OnBnClickedCheckInsViewCenterLine(); |
| | | }; |
| | |
| | | //{{NO_DEPENDENCIES}} |
| | | // Microsoft Visual C++에서 생성한 포함 파일입니다. |
| | | // ReveiwHistory.rc에서 사용되고 있습니다. |
| | | // Microsoft Visual C++에서 생성한 포함 파일입니다. |
| | | // ReveiwHistory.rc에서 사용되고 있습니다. |
| | | // |
| | | #define IDM_ABOUTBOX 0x0010 |
| | | #define IDD_ABOUTBOX 100 |
| | |
| | | #define IDC_BUTTON_OFFSET_APPLY 1060 |
| | | #define IDC_STATIC_GROUP_LAST_OFFSET_SAVE_TIME 1061 |
| | | #define IDC_STATIC_LAST_SAVE_OFFSET_TIME 1062 |
| | | #define IDC_CHECK_INS_VIEW_CENTER_LINE 1063 |
| | | #define ID_OPTION_PATHSETTING 32771 |
| | | #define ID_VIEW_ALLDEFECT 32772 |
| | | #define ID_VIEW_REVIEWDEFECT 32773 |
| | |
| | | #ifndef APSTUDIO_READONLY_SYMBOLS |
| | | #define _APS_NEXT_RESOURCE_VALUE 150 |
| | | #define _APS_NEXT_COMMAND_VALUE 32776 |
| | | #define _APS_NEXT_CONTROL_VALUE 1063 |
| | | #define _APS_NEXT_CONTROL_VALUE 1064 |
| | | #define _APS_NEXT_SYMED_VALUE 104 |
| | | #endif |
| | | #endif |
| | |
| | | , m_editGlassOffSetmodeScanIndex(0) |
| | | , m_editGlassOffSetmodeXpos(0) |
| | | , m_editGlassOffSetmodeYpos(0) |
| | | , m_dWarnStandard(0) |
| | | , m_dHardStandard(0) |
| | | { |
| | | m_EditChangeTargetXpos = 0; |
| | | m_EditChangeTargetYpos = 0; |
| | |
| | | DDX_Text(pDX, IDC_EDIT_SCAN_INDEX, m_editGlassOffSetmodeScanIndex); |
| | | DDX_Text(pDX, IDC_EDIT_MOTOR_XPOS, m_editGlassOffSetmodeXpos); |
| | | DDX_Text(pDX, IDC_EDIT_MOTOR_YPOS, m_editGlassOffSetmodeYpos); |
| | | DDX_Text(pDX, IDC_EDIT_WARN_STANDARD, m_dWarnStandard); |
| | | DDX_Text(pDX, IDC_EDIT_HARD_STANDARD, m_dHardStandard); |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | strData.Format(_T("%.03lf"), pOffSet.dXoffSetValue); |
| | | m_ctrlGridReviewOffSetInfo.SetItemText(nCol, nRow,strData); |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | if (abs(pOffSet.dXoffSetValue) * 1000 >= m_dHardStandard) |
| | | { |
| | | m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow, RGB(255, 0, 0)); |
| | | } |
| | | else if (abs(pOffSet.dXoffSetValue) * 1000 >= m_dWarnStandard) |
| | | { |
| | | m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow, RGB(255, 255, 0)); |
| | | } |
| | | else |
| | | { |
| | | m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow, RGB(255, 255, 210)); |
| | | } |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | |
| | | strData.Format(_T("%.03lf"), pOffSet.dYoffSetValue); |
| | | m_ctrlGridReviewOffSetInfo.SetItemText( nCol, nRow + 1, strData); |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | if (abs(pOffSet.dYoffSetValue) * 1000 >= m_dHardStandard) |
| | | { |
| | | m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow + 1, RGB(255, 0, 0)); |
| | | } |
| | | else if (abs(pOffSet.dYoffSetValue) * 1000 >= m_dWarnStandard) |
| | | { |
| | | m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow + 1, RGB(255, 255, 0)); |
| | | } |
| | | else |
| | | { |
| | | m_ctrlGridReviewOffSetInfo.SetItemBkColour(nCol, nRow + 1, RGB(255, 255, 210)); |
| | | } |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | nRow += 2; |
| | | } |
| | | nRow = 1; |
| | |
| | | pDlgOffsetTool->InitProcess(); |
| | | pDlgOffsetTool->EnableBT(); |
| | | } |
| | | else |
| | | else if(pDlgOffsetTool->nThreadType == 1) |
| | | { |
| | | pDlgOffsetTool->DissableBT(); |
| | | pDlgOffsetTool->SaveConfigFile(); |
| | | pDlgOffsetTool->EnableBT(); |
| | | |
| | | } |
| | | else |
| | | { |
| | | pDlgOffsetTool->DissableBT(); |
| | | pDlgOffsetTool->OffsetLoad(); |
| | | pDlgOffsetTool->EnableBT(); |
| | | } |
| | | return 0; |
| | | } |
| | |
| | | macroFile.GetItem(_T("CAMERA_COUNT"),m_nCameraCount , 0); |
| | | macroFile.GetItem(_T("SCAN_COUNT"), m_nScanCount, 0); |
| | | macroFile.GetItem(_T("XPOS_COUNT"), m_XposCount, 0); |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | macroFile.GetItem(_T("WARN_STANDARD"), m_dWarnStandard, 0); |
| | | macroFile.GetItem(_T("HARD_STANDARD"), m_dHardStandard, 0); |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | CString strItem = _T(""); |
| | | double dXoffset=0; |
| | | double dYoffset=0; |
| | |
| | | strItem.Format(_T("XPOS_COUNT")); |
| | | macroFile.SetItem(strItem, m_XposCount); |
| | | |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | strItem.Format(_T("WARN_STANDARD")); |
| | | macroFile.SetItem(strItem, m_dWarnStandard); |
| | | |
| | | strItem.Format(_T("HARD_STANDARD")); |
| | | macroFile.SetItem(strItem, m_dHardStandard); |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | |
| | | |
| | | CString strData; |
| | | double dData= 0; |
| | |
| | | g_pLog->DisplayMessage(_T("Save Offset Success!!")); |
| | | } |
| | | // #3563 LYW_ CF AOI Review Offset 파라미터 저장시 완료 팝업 추가 ADD END |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | UpdateGridcontrol(); |
| | | UpdateData(TRUE); |
| | | Invalidate(FALSE); |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | |
| | | return bReturn; |
| | | } |
| | |
| | | |
| | | LRESULT DlgReviewOffSetTool::OnUserFunc(WPARAM wParam, LPARAM lParam) |
| | | { |
| | | int nmsg = (int)wParam; |
| | | if (nmsg == 0) |
| | | { |
| | | nThreadType = 2; |
| | | m_ctrlProcessBar.SetPos(0); |
| | | m_pThread = AfxBeginThread(ThradProcess, this); |
| | | return 0; |
| | | } |
| | | UpdateData(FALSE); |
| | | Invalidate(TRUE); |
| | | return 0; |
| | |
| | | /*< LYW 20211025 - #3684 ADD Start >*/ |
| | | void DlgReviewOffSetTool::OnBnClickedOffsetLoad() |
| | | { |
| | | |
| | | // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. |
| | | nThreadType = 2; |
| | | m_ctrlProcessBar.SetPos(0); |
| | | m_pThread = AfxBeginThread(ThradProcess, this); |
| | | } |
| | | void DlgReviewOffSetTool::OffsetLoad() |
| | | { |
| | | ReadConfigFile(); |
| | | UpdateGridcontrol(); |
| | | UpdateData(TRUE); |
| | | Invalidate(FALSE); |
| | | } |
| | | /*< LYW 20211025 - #3684 ADD End >*/ |
| | | /*< LYW 20211025 - #3684 ADD End >*/ |
| | |
| | | afx_msg void OnBnClickedCheckOffsetMode(); |
| | | /*< LYW 20211025 - #index ADD Start >*/ |
| | | afx_msg void OnBnClickedOffsetLoad(); |
| | | void OffsetLoad(); |
| | | /*< LYW 20211025 - #index ADD End >*/ |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | double m_dWarnStandard; |
| | | double m_dHardStandard; |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | }; |
| | |
| | | if (pCopyData) OnCopyDataAoiServer(pCopyData); |
| | | } |
| | | break; |
| | | |
| | | case COPYDATA_REVIEWHISTORYOR2REVIEWSYSTEM: |
| | | { |
| | | DlgReviewOffSetTool* pReviewOffSetTool = m_pView->GetReviewOffSetToolHandle(); |
| | | pReviewOffSetTool->PostMessage(WM_OFFSETTOOL_MESSAGE, 0, 200); |
| | | |
| | | } |
| | | break; |
| | | } |
| | | |
| | | return __super::OnCopyData(pWnd, pCopyDataStruct); |
| | |
| | | PUSHBUTTON "SET",IDC_BUTTION_CAHNGE_TARGET_POS,207,41,50,14 |
| | | PUSHBUTTON "APPLY",IDC_BUTTON_APPLT_OFFSET,262,26,60,23 |
| | | GROUPBOX "결함 정보",IDC_STATIC,7,2,328,59 |
| | | GROUPBOX "적용될 OFF SET",IDC_STATIC,339,11,173,50 |
| | | EDITTEXT IDC_EDIT_OFFSET_X_VALUE,352,37,66,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_OFFSET_Y_VALUE,423,37,66,14,ES_AUTOHSCROLL |
| | | LTEXT "Xmotor Pos : ",IDC_STATIC,354,22,44,8 |
| | | LTEXT "Ymotor Pos : ",IDC_STATIC,426,22,44,8 |
| | | GROUPBOX "적용될 OFF SET",IDC_STATIC,339,3,173,25 |
| | | EDITTEXT IDC_EDIT_OFFSET_X_VALUE,379,11,39,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_OFFSET_Y_VALUE,450,11,39,14,ES_AUTOHSCROLL |
| | | LTEXT "X Pos : ",IDC_STATIC,354,13,25,8 |
| | | LTEXT "Y Pos : ",IDC_STATIC,426,13,23,8 |
| | | COMBOBOX IDC_COMBO_SELECT_MODULE,47,67,75,104,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP,WS_EX_CLIENTEDGE |
| | | LTEXT "모듈 선택 ",IDC_STATIC,13,70,34,8 |
| | | GROUPBOX "Param Setting ",IDC_STATIC,518,5,233,79 |
| | |
| | | EDITTEXT IDC_EDIT_CAM_INDEX,600,67,19,14,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_MOTOR_YPOS,694,67,54,14,ES_AUTOHSCROLL |
| | | PUSHBUTTON "Offset Load",IDC_OFFSET_LOAD,139,63,62,22 |
| | | GROUPBOX "기준 값 설정",IDC_STATIC,340,31,172,33 |
| | | LTEXT "경 알람 기준",IDC_STATIC,369,38,42,8 |
| | | LTEXT "중 알람 기준",IDC_STATIC,431,38,42,8 |
| | | EDITTEXT IDC_EDIT_WARN_STANDARD,368,48,38,13,ES_AUTOHSCROLL |
| | | EDITTEXT IDC_EDIT_HARD_STANDARD,432,48,38,13,ES_AUTOHSCROLL |
| | | LTEXT "um",IDC_STATIC,410,50,10,8 |
| | | LTEXT "um",IDC_STATIC,474,49,10,8 |
| | | END |
| | | |
| | | IDD_DLG_REVIEW_HISTORY_TOOL DIALOGEX 0, 0, 961, 455 |
| | |
| | | //{{NO_DEPENDENCIES}} |
| | | // Microsoft Visual C++에서 생성한 포함 파일입니다. |
| | | // ReviewSystem.rc에서 사용되고 있습니다. |
| | | // Microsoft Visual C++에서 생성한 포함 파일입니다. |
| | | // ReviewSystem.rc에서 사용되고 있습니다. |
| | | // |
| | | #define IDCANCEL 2 |
| | | #define IDD_ABOUTBOX 100 |
| | |
| | | #define IDC_EDIT_WSI_HEIGHT13 1183 |
| | | #define IDC_LIST_WSI_DIAGNOSIS_RESULT 1184 |
| | | #define IDC_OFFSET_LOAD 1185 |
| | | #define IDC_EDIT_WARN_STANDARD 1186 |
| | | #define IDC_EDIT_HARD_STANDARD 1187 |
| | | #define IDC_BUTTON_STANDARD_SAVE 1188 |
| | | #define ID_INS_HOOK 32772 |
| | | #define ID_UNINS_HOOK 32773 |
| | | |
| | |
| | | #ifndef APSTUDIO_READONLY_SYMBOLS |
| | | #define _APS_NEXT_RESOURCE_VALUE 381 |
| | | #define _APS_NEXT_COMMAND_VALUE 32775 |
| | | #define _APS_NEXT_CONTROL_VALUE 1186 |
| | | #define _APS_NEXT_CONTROL_VALUE 1189 |
| | | #define _APS_NEXT_SYMED_VALUE 346 |
| | | #endif |
| | | #endif |
| | |
| | | |
| | | #define COPYDATA_SYSTEMSETTING2REVIEWSYSTEM 1500 |
| | | #define COPYDATA_RECIPEEDITOR2REVIEWSYSTEM 1600 |
| | | |
| | | /*< LYW 20211111 - #3766 ADD Start >*/ |
| | | #define COPYDATA_REVIEWHISTORYOR2REVIEWSYSTEM 1800 |
| | | /*< LYW 20211111 - #3766 ADD End >*/ |
| | | |
| | | // [2017:1:13]-[WEZASW] : 다중 모니터에서의 ReviewSystem Display |
| | | enum MonitorPosition {MonitorPos_CENTER=0, MonitorPos_TOP, MonitorPos_BOTTOM, MonitorPos_LEFT, MonitorPos_RIGHT, MonitorPos_Count}; |