| | |
| | | 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(); |
| | | } |
| | |
| | | //ImageShow(pDefectInfo->m_nDefectID); |
| | | if (!m_bDefectAll) |
| | | { |
| | | ImageShow(pDispInfo->item.row - 1); |
| | | /*< LYW 20211221 - #5000 ADD Start >*/ |
| | | ImageShow(pDefectInfo->m_nDefectID); |
| | | /*< LYW 20211221 - #5000 ADD End >*/ |
| | | //origin |
| | | //ImageShow(pDispInfo->item.row - 1); |
| | | } |
| | | else |
| | | { |
| | |
| | | //정렬 순서를 사용자가 원하는 순으로 하자 |
| | | if (!m_bDefectAll) |
| | | { |
| | | m_sldImg.SetPos(pDispInfo->item.row - 1); |
| | | |
| | | int nPos = m_sldImg.GetPos(); |
| | | CString strPos; |
| | | strPos.Format(_T("%d"), nPos); |
| | | m_ctrCount.SetWindowText(strPos); |
| | | /*< LYW 20211221 - #5000 Delete Start >*/ |
| | | |
| | | // m_sldImg.SetPos(pDispInfo->item.row - 1); |
| | | // |
| | | // int nPos = m_sldImg.GetPos(); |
| | | // CString strPos; |
| | | // strPos.Format(_T("%d"), nPos); |
| | | // m_ctrCount.SetWindowText(strPos); |
| | | /*< LYW 20211221 - #5000 Delete End >*/ |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | if (m_Formation.m_vecImage[i].m_nDefectID == nSelectDefect) |
| | | { |
| | | ImageShow(i); |
| | | /*< LYW 20211221 - #5000 ADD Start >*/ |
| | | ImageShow(nSelectDefect); |
| | | /*< LYW 20211221 - #5000 ADD End >*/ |
| | | //origin |
| | | //ImageShow(i); |
| | | break; |
| | | } |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | 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: 여기에 컨트롤 알림 처리기 코드를 추가합니다. |
| | |
| | | |
| | | if (!m_bDefectAll) |
| | | { |
| | | nIndex = nDefectID; |
| | | break; |
| | | /*< LYW 20211221 - #5000 ADD Start >*/ |
| | | if (pImage->m_nDefectID == nDefectID) |
| | | { |
| | | nIndex = i; |
| | | break; |
| | | } |
| | | /*< LYW 20211221 - #5000 ADD End >*/ |
| | | //Origin |
| | | // nIndex = nDefectID; |
| | | // break; |
| | | } |
| | | else |
| | | { |
| | |
| | | _akReviewList* pImageInfo = &m_Formation.m_vecImage[nPos]; |
| | | |
| | | m_FormationMap.setSelectDefect(pImageInfo->m_nDefectID); |
| | | //ImageShow(pImageInfo->m_nDefectID/*nPos*/); |
| | | ImageShow(nPos); |
| | | /*< LYW 20211221 - #5000 ADD Start >*/ |
| | | ImageShow(pImageInfo->m_nDefectID/*nPos*/); |
| | | /*< LYW 20211221 - #5000 ADD End >*/ |
| | | //Origin |
| | | //ImageShow(nPos); |
| | | setDefectShow(pImageInfo->m_nDefectID, 1); |
| | | } |
| | | } |
| | |
| | | { |
| | | // 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); |
| | | |
| | | } |