// ViewMainInformation.cpp : 备泅 颇老涝聪促. // #include "stdafx.h" #include "EdgeInspector_App.h" #include "ViewMain_Information.h" #include "afxdialogex.h" // CViewMainInformation 措拳 惑磊涝聪促. IMPLEMENT_DYNAMIC(CViewMain_Information, CDialogEx) CViewMain_Information::CViewMain_Information(CWnd* pParent /*=NULL*/) : CDialogEx(CViewMain_Information::IDD, pParent) { } CViewMain_Information::~CViewMain_Information() { } void CViewMain_Information::DoDataExchange(CDataExchange* pDX) { DDX_Control(pDX, IDC_INSPECTION_DATA, m_InspectData); DDX_Control(pDX, IDC_MEASURE_DATA_SIDE, m_MeasureData_Side); DDX_Control(pDX, IDC_MEASURE_DATA_CORNER_TOP, m_MeasureData_Corner_Top); DDX_Control(pDX, IDC_MEASURE_DATA_CORNER_BOT, m_MeasureData_Corner_Bot); CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CViewMain_Information, CDialogEx) END_MESSAGE_MAP() BOOL CViewMain_Information::OnInitDialog() { CDialogEx::OnInitDialog(); Init_InspectData(); Init_MeasureData_Side(); Init_MeasureData_Corner_Top(); Init_MeasureData_Corner_Bot(); return TRUE; } BOOL CViewMain_Information::PreTranslateMessage(MSG* pMsg) { if( pMsg->message == WM_KEYDOWN ) { if(pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE ) { ::TranslateMessage(pMsg); ::DispatchMessage(pMsg); return TRUE; // DO NOT process further } } return CDialog::PreTranslateMessage(pMsg); } void CViewMain_Information::ResetView() { Init_InspectData(); Init_MeasureData_Side(); Init_MeasureData_Corner_Top(); Init_MeasureData_Corner_Bot(); } void CViewMain_Information::UpdateView() { Fill_MeasureData_Side(); Fill_PLCData(); return; // program down.. Fill_MeasureData_Corner_Top(); Fill_MeasureData_Corner_Bot(); Fill_InspectData(); } void CViewMain_Information::Init_InspectData() { if (m_InspectData.GetSafeHwnd() == NULL) return; int nRows = 6 + 1; int nCols = MAX_SIDE_COUNT + 1; int nFixRows = 1; int nFixCols = 0; int nRowIdx = 0; int nColIdx = 0; m_InspectData.DeleteAllItems(); m_InspectData.SetVirtualMode(FALSE); m_InspectData.GetDefaultCell(TRUE, FALSE)->SetBackClr(g_nGridFixCellColor); m_InspectData.GetDefaultCell(FALSE, TRUE)->SetBackClr(g_nGridFixCellColor); m_InspectData.GetDefaultCell(FALSE, FALSE)->SetBackClr(g_nGridCellColor); m_InspectData.SetFixedTextColor(g_nGridFixFontColor); m_InspectData.SetRowCount(nRows); m_InspectData.SetColumnCount(nCols); m_InspectData.SetFixedRowCount(nFixRows); m_InspectData.SetFixedColumnCount(nFixCols); CFont *pFont = m_InspectData.GetFont(); if (pFont) { LOGFONT lf; pFont->GetLogFont(&lf); lf.lfItalic = 0; lf.lfHeight = 12; lf.lfWeight = FW_BOLD; _tcscpy_s(lf.lfFaceName, _T("Arial")); m_InspectData.GetDefaultCell(FALSE, TRUE)->SetFont(&lf); m_InspectData.GetDefaultCell(TRUE, FALSE)->SetFont(&lf); m_InspectData.GetDefaultCell(FALSE, FALSE)->SetFont(&lf); m_InspectData.GetDefaultCell(TRUE, TRUE)->SetFont(&lf); } // Col m_InspectData.SetColumnWidth(nColIdx, 180); m_InspectData.SetItemText(nRowIdx, nColIdx++, _T("Result")); m_InspectData.SetColumnWidth(nColIdx, 80); m_InspectData.SetItemText(nRowIdx, nColIdx++, _T("A Top")); m_InspectData.SetColumnWidth(nColIdx, 80); m_InspectData.SetItemText(nRowIdx, nColIdx++, _T("B Top")); m_InspectData.SetColumnWidth(nColIdx, 80); m_InspectData.SetItemText(nRowIdx, nColIdx++, _T("C Top")); m_InspectData.SetColumnWidth(nColIdx, 80); m_InspectData.SetItemText(nRowIdx, nColIdx++, _T("D Top")); m_InspectData.SetColumnWidth(nColIdx, 80); m_InspectData.SetItemText(nRowIdx, nColIdx++, _T("A Bot")); m_InspectData.SetColumnWidth(nColIdx, 80); m_InspectData.SetItemText(nRowIdx, nColIdx++, _T("B Bot")); m_InspectData.SetColumnWidth(nColIdx, 80); m_InspectData.SetItemText(nRowIdx, nColIdx++, _T("C Bot")); m_InspectData.SetColumnWidth(nColIdx, 80); m_InspectData.SetItemText(nRowIdx, nColIdx++, _T("D Bot")); nColIdx = 0; nRowIdx = 1; m_InspectData.GetCell(nRowIdx, nColIdx)->SetState(GVIS_READONLY); m_InspectData.SetRowHeight(nRowIdx, 18); m_InspectData.SetItemText(nRowIdx++, nColIdx, _T("Start Line pxl")); m_InspectData.GetCell(nRowIdx, nColIdx)->SetState(GVIS_READONLY); m_InspectData.SetRowHeight(nRowIdx, 18); m_InspectData.SetItemText(nRowIdx++, nColIdx, _T("Top Align Mark")); m_InspectData.GetCell(nRowIdx, nColIdx)->SetState(GVIS_READONLY); m_InspectData.SetRowHeight(nRowIdx, 18); m_InspectData.SetItemText(nRowIdx++, nColIdx, _T("Bot Align Mark")); m_InspectData.GetCell(nRowIdx, nColIdx)->SetState(GVIS_READONLY); m_InspectData.SetRowHeight(nRowIdx, 18); m_InspectData.SetItemText(nRowIdx++, nColIdx, _T("End Line pxl")); m_InspectData.GetCell(nRowIdx, nColIdx)->SetState(GVIS_READONLY); m_InspectData.SetRowHeight(nRowIdx, 18); m_InspectData.SetItemText(nRowIdx++, nColIdx, _T("Total Defect Count")); m_InspectData.GetCell(nRowIdx, nColIdx)->SetState(GVIS_READONLY); m_InspectData.SetRowHeight(nRowIdx, 18); m_InspectData.SetItemText(nRowIdx++, nColIdx, _T("NG Defect Count")); m_InspectData.SetFixedRowSelection(FALSE); m_InspectData.SetFixedColumnSelection(FALSE); m_InspectData.EnableSelection(TRUE); m_InspectData.SetEditable(FALSE); m_InspectData.SetRowResize(FALSE); m_InspectData.SetColumnResize(FALSE); m_InspectData.ExpandColumnsToFit(TRUE); } void CViewMain_Information::Init_MeasureData_Side() { if (m_MeasureData_Side.GetSafeHwnd() == NULL) return; int nRows = MAX_SIDE_DIMENSION_MEASURE_COUNT + 1; int nCols = MAX_SIDE_COUNT + 1; int nFixRows = 1; int nFixCols = 0; int nRowIdx = 0; int nColIdx = 0; m_MeasureData_Side.DeleteAllItems(); m_MeasureData_Side.SetVirtualMode(FALSE); m_MeasureData_Side.GetDefaultCell(TRUE, FALSE)->SetBackClr(g_nGridFixCellColor); m_MeasureData_Side.GetDefaultCell(FALSE, TRUE)->SetBackClr(g_nGridFixCellColor); m_MeasureData_Side.GetDefaultCell(FALSE, FALSE)->SetBackClr(g_nGridCellColor); m_MeasureData_Side.SetFixedTextColor(g_nGridFixFontColor); m_MeasureData_Side.SetRowCount(nRows); m_MeasureData_Side.SetColumnCount(nCols); m_MeasureData_Side.SetFixedRowCount(nFixRows); m_MeasureData_Side.SetFixedColumnCount(nFixCols); CFont *pFont = m_MeasureData_Side.GetFont(); if (pFont) { LOGFONT lf; pFont->GetLogFont(&lf); lf.lfItalic = 0; lf.lfHeight = 12; lf.lfWeight = FW_BOLD; _tcscpy_s(lf.lfFaceName, _T("Arial")); m_MeasureData_Side.GetDefaultCell(FALSE, TRUE)->SetFont(&lf); m_MeasureData_Side.GetDefaultCell(TRUE, FALSE)->SetFont(&lf); m_MeasureData_Side.GetDefaultCell(FALSE, FALSE)->SetFont(&lf); m_MeasureData_Side.GetDefaultCell(TRUE, TRUE)->SetFont(&lf); } // Col m_MeasureData_Side.SetColumnWidth(nColIdx, 90); m_MeasureData_Side.SetItemText(nRowIdx, nColIdx++, _T("Side")); m_MeasureData_Side.SetColumnWidth(nColIdx, 80); m_MeasureData_Side.SetItemText(nRowIdx, nColIdx++, _T("A Top")); m_MeasureData_Side.SetColumnWidth(nColIdx, 80); m_MeasureData_Side.SetItemText(nRowIdx, nColIdx++, _T("B Top")); m_MeasureData_Side.SetColumnWidth(nColIdx, 80); m_MeasureData_Side.SetItemText(nRowIdx, nColIdx++, _T("C Top")); m_MeasureData_Side.SetColumnWidth(nColIdx, 80); m_MeasureData_Side.SetItemText(nRowIdx, nColIdx++, _T("D Top")); m_MeasureData_Side.SetColumnWidth(nColIdx, 80); m_MeasureData_Side.SetItemText(nRowIdx, nColIdx++, _T("A Bot")); m_MeasureData_Side.SetColumnWidth(nColIdx, 80); m_MeasureData_Side.SetItemText(nRowIdx, nColIdx++, _T("B Bot")); m_MeasureData_Side.SetColumnWidth(nColIdx, 80); m_MeasureData_Side.SetItemText(nRowIdx, nColIdx++, _T("C Bot")); m_MeasureData_Side.SetColumnWidth(nColIdx, 80); m_MeasureData_Side.SetItemText(nRowIdx, nColIdx++, _T("D Bot")); nColIdx = 0; nRowIdx = 1; CString strTemp; for(int i=0; iSetState(GVIS_READONLY); m_MeasureData_Side.SetItemText(nRowIdx++, nColIdx, strTemp); } m_MeasureData_Side.SetFixedRowSelection(FALSE); m_MeasureData_Side.SetFixedColumnSelection(FALSE); m_MeasureData_Side.EnableSelection(TRUE); m_MeasureData_Side.SetEditable(FALSE); m_MeasureData_Side.SetRowResize(FALSE); m_MeasureData_Side.SetColumnResize(FALSE); m_MeasureData_Side.ExpandColumnsToFit(TRUE); } void CViewMain_Information::Init_MeasureData_Corner_Top() { if (m_MeasureData_Corner_Top.GetSafeHwnd() == NULL) return; int nRows = MAX_CORNER_DIMENSION_MEASURE_COUNT + 1; int nCols = MAX_SIDE_COUNT + 1; int nFixRows = 1; int nFixCols = 0; int nRowIdx = 0; int nColIdx = 0; m_MeasureData_Corner_Top.DeleteAllItems(); m_MeasureData_Corner_Top.SetVirtualMode(FALSE); m_MeasureData_Corner_Top.GetDefaultCell(TRUE, FALSE)->SetBackClr(g_nGridFixCellColor); m_MeasureData_Corner_Top.GetDefaultCell(FALSE, TRUE)->SetBackClr(g_nGridFixCellColor); m_MeasureData_Corner_Top.GetDefaultCell(FALSE, FALSE)->SetBackClr(g_nGridCellColor); m_MeasureData_Corner_Top.SetFixedTextColor(g_nGridFixFontColor); m_MeasureData_Corner_Top.SetRowCount(nRows); m_MeasureData_Corner_Top.SetColumnCount(nCols); m_MeasureData_Corner_Top.SetFixedRowCount(nFixRows); m_MeasureData_Corner_Top.SetFixedColumnCount(nFixCols); CFont *pFont = m_MeasureData_Corner_Top.GetFont(); if (pFont) { LOGFONT lf; pFont->GetLogFont(&lf); lf.lfItalic = 0; lf.lfHeight = 12; lf.lfWeight = FW_BOLD; _tcscpy_s(lf.lfFaceName, _T("Arial")); m_MeasureData_Corner_Top.GetDefaultCell(FALSE, TRUE)->SetFont(&lf); m_MeasureData_Corner_Top.GetDefaultCell(TRUE, FALSE)->SetFont(&lf); m_MeasureData_Corner_Top.GetDefaultCell(FALSE, FALSE)->SetFont(&lf); m_MeasureData_Corner_Top.GetDefaultCell(TRUE, TRUE)->SetFont(&lf); } // Col m_MeasureData_Corner_Top.SetColumnWidth(nColIdx, 90); m_MeasureData_Corner_Top.SetItemText(nRowIdx, nColIdx++, _T("Top Corner")); m_MeasureData_Corner_Top.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Top.SetItemText(nRowIdx, nColIdx++, _T("A Top")); m_MeasureData_Corner_Top.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Top.SetItemText(nRowIdx, nColIdx++, _T("B Top")); m_MeasureData_Corner_Top.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Top.SetItemText(nRowIdx, nColIdx++, _T("C Top")); m_MeasureData_Corner_Top.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Top.SetItemText(nRowIdx, nColIdx++, _T("D Top")); m_MeasureData_Corner_Top.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Top.SetItemText(nRowIdx, nColIdx++, _T("A Bot")); m_MeasureData_Corner_Top.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Top.SetItemText(nRowIdx, nColIdx++, _T("B Bot")); m_MeasureData_Corner_Top.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Top.SetItemText(nRowIdx, nColIdx++, _T("C Bot")); m_MeasureData_Corner_Top.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Top.SetItemText(nRowIdx, nColIdx++, _T("D Bot")); nColIdx = 0; nRowIdx = 1; CString strTemp; for(int i=0; iSetState(GVIS_READONLY); m_MeasureData_Corner_Top.SetItemText(nRowIdx++, nColIdx, strTemp); } m_MeasureData_Corner_Top.SetFixedRowSelection(FALSE); m_MeasureData_Corner_Top.SetFixedColumnSelection(FALSE); m_MeasureData_Corner_Top.EnableSelection(TRUE); m_MeasureData_Corner_Top.SetEditable(FALSE); m_MeasureData_Corner_Top.SetRowResize(FALSE); m_MeasureData_Corner_Top.SetColumnResize(FALSE); m_MeasureData_Corner_Top.ExpandColumnsToFit(TRUE); } void CViewMain_Information::Init_MeasureData_Corner_Bot() { if (m_MeasureData_Corner_Bot.GetSafeHwnd() == NULL) return; int nRows = MAX_CORNER_DIMENSION_MEASURE_COUNT + 1; int nCols = MAX_SIDE_COUNT + 1; int nFixRows = 1; int nFixCols = 0; int nRowIdx = 0; int nColIdx = 0; m_MeasureData_Corner_Bot.DeleteAllItems(); m_MeasureData_Corner_Bot.SetVirtualMode(FALSE); m_MeasureData_Corner_Bot.GetDefaultCell(TRUE, FALSE)->SetBackClr(g_nGridFixCellColor); m_MeasureData_Corner_Bot.GetDefaultCell(FALSE, TRUE)->SetBackClr(g_nGridFixCellColor); m_MeasureData_Corner_Bot.GetDefaultCell(FALSE, FALSE)->SetBackClr(g_nGridCellColor); m_MeasureData_Corner_Bot.SetFixedTextColor(g_nGridFixFontColor); m_MeasureData_Corner_Bot.SetRowCount(nRows); m_MeasureData_Corner_Bot.SetColumnCount(nCols); m_MeasureData_Corner_Bot.SetFixedRowCount(nFixRows); m_MeasureData_Corner_Bot.SetFixedColumnCount(nFixCols); CFont *pFont = m_MeasureData_Corner_Bot.GetFont(); if (pFont) { LOGFONT lf; pFont->GetLogFont(&lf); lf.lfItalic = 0; lf.lfHeight = 12; lf.lfWeight = FW_BOLD; _tcscpy_s(lf.lfFaceName, _T("Arial")); m_MeasureData_Corner_Bot.GetDefaultCell(FALSE, TRUE)->SetFont(&lf); m_MeasureData_Corner_Bot.GetDefaultCell(TRUE, FALSE)->SetFont(&lf); m_MeasureData_Corner_Bot.GetDefaultCell(FALSE, FALSE)->SetFont(&lf); m_MeasureData_Corner_Bot.GetDefaultCell(TRUE, TRUE)->SetFont(&lf); } // Col m_MeasureData_Corner_Bot.SetColumnWidth(nColIdx, 90); m_MeasureData_Corner_Bot.SetItemText(nRowIdx, nColIdx++, _T("Bot Corner")); m_MeasureData_Corner_Bot.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Bot.SetItemText(nRowIdx, nColIdx++, _T("A Top")); m_MeasureData_Corner_Bot.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Bot.SetItemText(nRowIdx, nColIdx++, _T("B Top")); m_MeasureData_Corner_Bot.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Bot.SetItemText(nRowIdx, nColIdx++, _T("C Top")); m_MeasureData_Corner_Bot.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Bot.SetItemText(nRowIdx, nColIdx++, _T("D Top")); m_MeasureData_Corner_Bot.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Bot.SetItemText(nRowIdx, nColIdx++, _T("A Bot")); m_MeasureData_Corner_Bot.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Bot.SetItemText(nRowIdx, nColIdx++, _T("B Bot")); m_MeasureData_Corner_Bot.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Bot.SetItemText(nRowIdx, nColIdx++, _T("C Bot")); m_MeasureData_Corner_Bot.SetColumnWidth(nColIdx, 80); m_MeasureData_Corner_Bot.SetItemText(nRowIdx, nColIdx++, _T("D Bot")); nColIdx = 0; nRowIdx = 1; CString strTemp; for(int i=0; iSetState(GVIS_READONLY); m_MeasureData_Corner_Bot.SetItemText(nRowIdx++, nColIdx, strTemp); } m_MeasureData_Corner_Bot.SetFixedRowSelection(FALSE); m_MeasureData_Corner_Bot.SetFixedColumnSelection(FALSE); m_MeasureData_Corner_Bot.EnableSelection(TRUE); m_MeasureData_Corner_Bot.SetEditable(FALSE); m_MeasureData_Corner_Bot.SetRowResize(FALSE); m_MeasureData_Corner_Bot.SetColumnResize(FALSE); m_MeasureData_Corner_Bot.ExpandColumnsToFit(TRUE); } void CViewMain_Information::Fill_PLCData() { CString strText; strText.Format(_T("%d"), g_pStatus->m_pTransData->m_nUnitNo);//研磨部 SetDlgItemText(IDC_STATIC_INSINFO_UNITNO, strText); strText.Format(_T("%d"), g_pStatus->m_pTransData->m_nEqpNo);//研磨段 SetDlgItemText(IDC_STATIC_INSINFO_EQPNO, strText); strText.Format(_T("%d"), g_pStatus->m_pTransData->m_nisGrind);//研磨棒 SetDlgItemText(IDC_STATIC_INSINFO_ISGRIND, strText); strText.Format(_T("%d"), g_pStatus->m_pTransData->m_nRoughPadLayer);//研磨棒使用寿命 SetDlgItemText(IDC_STATIC_INSINFO_GLASS_ID, strText); strText.Format(_T("%d"), g_pStatus->m_pTransData->m_nHandNumber);//Stage No SetDlgItemText(IDC_STATIC_INSINFO_STAGENO, strText); } void CViewMain_Information::Fill_InspectData() { if (m_InspectData.GetSafeHwnd() == NULL) return; CGlass_Data* pGlassData = g_pStatus->m_pGlassData; if(pGlassData == NULL) return; CString strTemp; int nRow = 0; int nCol = 0; for(int i=0; iGetSideData((DimensionDir) i); if(pSideData == NULL) continue; BOOL bComplete = pSideData->m_bInspection_Complete; if(bComplete == FALSE) continue; nRow = 1; nCol = i + 1; // Start Line strTemp.Format(_T("%d"), pSideData->m_nGlassStartLine); m_InspectData.SetItemText(nRow++, nCol, strTemp); // Top Mark strTemp.Format(_T("%d, %d"), pSideData->m_ptTopMark_FindResult.x, pSideData->m_ptTopMark_FindResult.y); m_InspectData.SetItemText(nRow++, nCol, strTemp); // Bottom Mark strTemp.Format(_T("%d, %d"), pSideData->m_ptBotMark_FindResult.x, pSideData->m_ptBotMark_FindResult.y); m_InspectData.SetItemText(nRow++, nCol, strTemp); // End Line if(pSideData->m_bFindGlassEndLine == FALSE) m_InspectData.GetCell(nRow,nCol)->SetBackClr(g_nGridCellOnColor); else m_InspectData.GetCell(nRow,nCol)->SetBackClr(g_nGridCellColor); strTemp.Format(_T("%d"), pSideData->m_nGlassEndLine); m_InspectData.SetItemText(nRow++, nCol, strTemp); // Total Defect Count strTemp.Format(_T("%d"), pSideData->m_nTotalDefectCount); m_InspectData.SetItemText(nRow++, nCol, strTemp); // NG Defect Count strTemp.Format(_T("%d"), pSideData->m_nNgDefectCount); m_InspectData.SetItemText(nRow++, nCol, strTemp); } m_InspectData.Invalidate(); } void CViewMain_Information::Fill_MeasureData_Side() { if (m_MeasureData_Side.GetSafeHwnd() == NULL) return; CGlass_Data* pGlassData = g_pStatus->m_pGlassData; if(pGlassData == NULL) return; CString strTemp; int nRow = 0; int nCol = 0; for(int i=0; iGetSideData((DimensionDir) i); if(pSideData == NULL) continue; BOOL bComplete = pSideData->m_bInspection_Complete; if(bComplete == FALSE) continue; for(int nMeasureIdx = 0; nMeasureIdx < MAX_SIDE_DIMENSION_MEASURE_COUNT; nMeasureIdx++) { nRow = nMeasureIdx + 1; nCol = i + 1; int nMeasureStatus = pSideData->m_nSideMeasure_CutLine_Status[nMeasureIdx]; if(nMeasureStatus == 0) continue; if(nMeasureStatus == 1) m_MeasureData_Side.GetCell(nRow,nCol)->SetBackClr(g_nGridCellColor); else m_MeasureData_Side.GetCell(nRow,nCol)->SetBackClr(g_nGridCellOnColor); strTemp.Format(_T("%.3f"), pSideData->m_dSideMeasrue_CutLine_Result_mm[nMeasureIdx]); m_MeasureData_Side.SetItemText(nRow++, nCol, strTemp); g_pStatus->m_pTransData->m_nEqpNo; } } m_MeasureData_Side.Invalidate(); } void CViewMain_Information::Fill_MeasureData_Corner_Top() { } void CViewMain_Information::Fill_MeasureData_Corner_Bot() { }