// DlgRcpGlassInfo.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù. // #include "stdafx.h" #include "ReviewRecipeEditor.h" #include "DlgRcpGlassInfo.h" #include "ReviewRecipeEditorDlg.h" #include "afxdialogex.h" #include "CHReviewRecipe/Rcp_RsAlignManager.h" IMPLEMENT_DYNAMIC(CDlgRcpGlassInfo, CDialog) CDlgRcpGlassInfo::CDlgRcpGlassInfo(CWnd* pParent /*=NULL*/) : CDialog(CDlgRcpGlassInfo::IDD, pParent) , m_nRadioCorrnerDir(0) , m_nRadioOriginDir(0) , m_nRcpGlassTypeCount(0) { for(int i=0; i<4; i++) { DeleteObject(m_BitmapCorner[i]); DeleteObject(m_BitmapSelectCorner[i]); } m_nCurrentIndex = -1; } CDlgRcpGlassInfo::~CDlgRcpGlassInfo() { } void CDlgRcpGlassInfo::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Radio(pDX, IDC_RADIO_CORRNER_LT, m_nRadioCorrnerDir); DDX_Radio(pDX, IDC_RADIO_ORIGIN_LT, m_nRadioOriginDir); DDX_Control(pDX, IDC_GRID_RCP_GLASS_SETTING_INFO, m_ctrlGridGlassSettingInfo); DDX_Text(pDX, IDC_EDIT_RCP_GLASSTYPEINFO_TYPE_COUNT, m_nRcpGlassTypeCount); } BEGIN_MESSAGE_MAP(CDlgRcpGlassInfo, CDialog) ON_BN_CLICKED(IDC_BUTTON_RCP_GLASSINFO_RESET, &CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassInfoReset) ON_BN_CLICKED(IDC_BUTTON_RCP_GLASSINFO_APPLY, &CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassInfoApply) ON_CONTROL_RANGE(BN_CLICKED, IDC_RADIO_CORRNER_LT, IDC_RADIO_ORIGIN_RB, OnBnClickedRadio) ON_EN_CHANGE(IDC_EDIT_RCP_GLASSTYPEINFO_TYPE_COUNT, &CDlgRcpGlassInfo::OnEnChangeEditRcpGlasstypeinfoTypeCount) ON_NOTIFY(NM_DBLCLK, IDC_GRID_RCP_GLASS_SETTING_INFO, &CDlgRcpGlassInfo::OnGridDblClick) ON_BN_CLICKED(IDC_BUTTON_RCP_GLASSINFO_FINDALIGN, &CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoFindalign) ON_BN_CLICKED(IDC_BUTTON_RCP_GLASSINFO_MOVE_FIRSTALIGN, &CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoMoveFirstalign) ON_BN_CLICKED(IDC_BUTTON_RCP_GLASSINFO_MOVE_SECONDALIGN, &CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoMoveSecondalign) ON_BN_CLICKED(IDC_BUTTON_RCP_GLASSINFO_CACULATE_ORIGIN, &CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoCaculateOrigin) END_MESSAGE_MAP() BOOL CDlgRcpGlassInfo::OnInitDialog() { CDialog::OnInitDialog(); //Glass Direction InitRcpGlassDirectionInfoControl(); //Glass Origin Setting InitRcpGlassSettingInfoControl(); FillRcpGlassSettingInfo(); return TRUE; } void CDlgRcpGlassInfo::UpdateDialogData() { FillRcpGlassSettingInfo(); } void CDlgRcpGlassInfo::InitRcpGlassDirectionInfoControl() { m_BitmapCorner[0] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_LT)); m_BitmapCorner[1] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_RT)); m_BitmapCorner[2] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_LB)); m_BitmapCorner[3] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_RB)); m_BitmapSelectCorner[0] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_LTC)); m_BitmapSelectCorner[1] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_RTC)); m_BitmapSelectCorner[2] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_LBC)); m_BitmapSelectCorner[3] = LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP_RBC)); UpdateData(FALSE); } void CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassInfoReset() { ResetRcpGlassOriginSettingInfo(); } void CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassInfoApply() { ApplyRcpGlassOriginSettingInfo(); } void CDlgRcpGlassInfo::OnBnClickedRadio( UINT nID ) { // UpdateData(TRUE); // // DrawConnerCutBmpImage(); // DrawOriginBmpImage(); } void CDlgRcpGlassInfo::DrawConnerCutBmpImage() { switch(m_nRadioCorrnerDir) { case 0: ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LT))->SetBitmap(m_BitmapSelectCorner[0]); ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RT))->SetBitmap(m_BitmapCorner[1]); ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LB))->SetBitmap(m_BitmapCorner[2]); ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RB))->SetBitmap(m_BitmapCorner[3]); break; case 1: ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LT))->SetBitmap(m_BitmapCorner[0]); ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RT))->SetBitmap(m_BitmapSelectCorner[1]); ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LB))->SetBitmap(m_BitmapCorner[2]); ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RB))->SetBitmap(m_BitmapCorner[3]); break; case 2: ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LT))->SetBitmap(m_BitmapCorner[0]); ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RT))->SetBitmap(m_BitmapCorner[1]); ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LB))->SetBitmap(m_BitmapSelectCorner[2]); ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RB))->SetBitmap(m_BitmapCorner[3]); break; case 3: ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LT))->SetBitmap(m_BitmapCorner[0]); ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RT))->SetBitmap(m_BitmapCorner[1]); ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_LB))->SetBitmap(m_BitmapCorner[2]); ((CButton*)GetDlgItem(IDC_RADIO_CORRNER_RB))->SetBitmap(m_BitmapSelectCorner[3]); break; } } void CDlgRcpGlassInfo::DrawOriginBmpImage() { switch(m_nRadioOriginDir) { case 0: ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LT))->SetBitmap(m_BitmapSelectCorner[0]); ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RT))->SetBitmap(m_BitmapCorner[1]); ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LB))->SetBitmap(m_BitmapCorner[2]); ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RB))->SetBitmap(m_BitmapCorner[3]); break; case 1: ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LT))->SetBitmap(m_BitmapCorner[0]); ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RT))->SetBitmap(m_BitmapSelectCorner[1]); ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LB))->SetBitmap(m_BitmapCorner[2]); ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RB))->SetBitmap(m_BitmapCorner[3]); break; case 2: ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LT))->SetBitmap(m_BitmapCorner[0]); ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RT))->SetBitmap(m_BitmapCorner[1]); ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LB))->SetBitmap(m_BitmapSelectCorner[2]); ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RB))->SetBitmap(m_BitmapCorner[3]); break; case 3: ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LT))->SetBitmap(m_BitmapCorner[0]); ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RT))->SetBitmap(m_BitmapCorner[1]); ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_LB))->SetBitmap(m_BitmapCorner[2]); ((CButton*)GetDlgItem(IDC_RADIO_ORIGIN_RB))->SetBitmap(m_BitmapSelectCorner[3]); break; } } void CDlgRcpGlassInfo::ApplyRcpGlassOriginSettingInfo() { CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd(); if(pDlg == NULL) return; CRcp_RsGlassTypeInfoManager* pRcpRsGlassTypeInfoManger = pDlg->GetRsGlassTypeInfoManager(); if(pRcpRsGlassTypeInfoManger == NULL) return; int nRowIdx, nColIdx, nArrayCount; CString strItemText, strTemp; CGridCellCombo* pCellCombo = NULL; CStringArray strArrayOption; pRcpRsGlassTypeInfoManger->SetRcpGlassTypeInfoCount(m_nRcpGlassTypeCount); nColIdx = 1; for(int nIdx=0; nIdx < m_nRcpGlassTypeCount; nIdx++) { CRsRcpGlassTypeInfo* pRcpGlassTypeInfo = pRcpRsGlassTypeInfoManger->GetRcpGlassTypeInfo(nIdx); if(pRcpGlassTypeInfo == NULL) continue; nRowIdx = 1; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_strGlassTypeName = strItemText; nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dGlassSizeWidth = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dGlassSizeHeight = _tcstod(strItemText, NULL); nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridGlassSettingInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); strItemText = pCellCombo->GetText(); pCellCombo->GetOptions(strArrayOption); nArrayCount = (int)strArrayOption.GetCount(); for(int j = 0; j < nArrayCount; j++) { strTemp = strArrayOption.GetAt(j); if(strTemp.Compare(strItemText) == 0) { pRcpGlassTypeInfo->m_nOriginDirection = j; break; } } } nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridGlassSettingInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); strItemText = pCellCombo->GetText(); pCellCombo->GetOptions(strArrayOption); nArrayCount = (int)strArrayOption.GetCount(); for(int j = 0; j < nArrayCount; j++) { strTemp = strArrayOption.GetAt(j); if(strTemp.Compare(strItemText) == 0) { pRcpGlassTypeInfo->m_nCornnerDirection = j; break; } } } nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dFirstAlignPositionGlassX = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dFirstAlignPositionGlassY = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dSecondAlignPositionGlassX = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dSecondAlignPositionGlassY = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dFirstAlignPositionMotorX = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dFirstAlignPositionMotorY = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dSecondAlignPositionMotorX = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dSecondAlignPositionMotorY = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dFirstAlignPositionPixelX = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dFirstAlignPositionPixelY = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dSecondAlignPositionPixelX = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dSecondAlignPositionPixelY = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dOriginPositionX = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dOriginPositionY = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dCameraOffSetX = _tcstod(strItemText, NULL); nRowIdx++; strItemText = m_ctrlGridGlassSettingInfo.GetItemText(nRowIdx, nColIdx); pRcpGlassTypeInfo->m_dCameraOffSetY = _tcstod(strItemText, NULL); nColIdx++; } } void CDlgRcpGlassInfo::ResetRcpGlassOriginSettingInfo() { m_nRadioOriginDir = 0; m_nRadioCorrnerDir = 0; DrawConnerCutBmpImage(); DrawOriginBmpImage(); m_nRcpGlassTypeCount = 0; UpdateData(FALSE); OnEnChangeEditRcpGlasstypeinfoTypeCount(); } void CDlgRcpGlassInfo::OnEnChangeEditRcpGlasstypeinfoTypeCount() { UpdateData(TRUE); int i,nRowIdx, nColIdx; int nWidth, nMargin, nDataColumnWidth; CString strTemp, strItemText; CRect rect; m_ctrlGridGlassSettingInfo.GetWindowRect(&rect); m_ctrlGridGlassSettingInfo.SetColumnCount(m_nRcpGlassTypeCount + 1); nWidth = m_ctrlGridGlassSettingInfo.GetColumnWidth(0); nMargin = 20; nDataColumnWidth = rect.Width() - nWidth - nMargin; if(m_nRcpGlassTypeCount > 0) { GV_ITEM Item; CStringArray strArrayOption; CGridCellCombo* pCellCombo = NULL; nColIdx = 1; nDataColumnWidth = nDataColumnWidth / m_nRcpGlassTypeCount; for(i = 0; i < m_nRcpGlassTypeCount; i++) { m_ctrlGridGlassSettingInfo.SetColumnWidth(i + 1, nDataColumnWidth); //±Û¶ó½º ŸÀÔ À妽º nRowIdx = 0; Item.mask = GVIF_TEXT; Item.row = nRowIdx; Item.col = nColIdx; strTemp.Format(_T("%02d"), i); Item.strText = strTemp; m_ctrlGridGlassSettingInfo.SetItem(&Item); nRowIdx = 4; strArrayOption.RemoveAll(); for(int j = 0; j < GLASS_CORNERCUT_DIRECTION_COUNT; j++) { switch(j) { case GLASS_CORNERCUT_LEFT_TOP: strItemText.Format(_T("Left Top"));//_T("Á»ó")); break; case GLASS_CORNERCUT_RIGHT_TOP: strItemText.Format(_T("Right Top"));//_T("¿ì»ó")); break; case GLASS_CORNERCUT_LEFT_BOTTOM: strItemText.Format(_T("Left Bottom"));//_T("ÁÂÇÏ")); break; case GLASS_CORNERCUT_RIGHT_BOTTOM: strItemText.Format(_T("Right Bottom"));//_T("¿ìÇÏ")); break; default: strItemText.Format(_T("")); break; } strArrayOption.Add(strItemText); } m_ctrlGridGlassSettingInfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo)); pCellCombo = (CGridCellCombo*)m_ctrlGridGlassSettingInfo.GetCell(nRowIdx, nColIdx); pCellCombo->SetOptions(strArrayOption); pCellCombo->SetStyle(CBS_DROPDOWN); nRowIdx++; strArrayOption.RemoveAll(); for(int j = 0; j < GlassOriginDir_Count; j++) { switch(j) { case GlassOriginDir_LeftTop: strItemText.Format(_T("Left Top"));//_T("Á»ó")); break; case GlassOriginDir_RightTop: strItemText.Format(_T("Right Top"));//_T("¿ì»ó")); break; case GlassOriginDir_LeftBottom: strItemText.Format(_T("Left Bottom"));//_T("ÁÂÇÏ")); break; case GlassOriginDir_RightBottom: strItemText.Format(_T("Right Bottom"));//_T("¿ìÇÏ")); break; default: strItemText.Format(_T("")); break; } strArrayOption.Add(strItemText); } m_ctrlGridGlassSettingInfo.SetCellType(nRowIdx, nColIdx, RUNTIME_CLASS(CGridCellCombo)); pCellCombo = (CGridCellCombo*)m_ctrlGridGlassSettingInfo.GetCell(nRowIdx, nColIdx); pCellCombo->SetOptions(strArrayOption); pCellCombo->SetStyle(CBS_DROPDOWN); nColIdx++; } } } void CDlgRcpGlassInfo::InitRcpGlassSettingInfoControl() { int nRowIdx, nColIdx, nRows, nCols, nFixRows, nFixCols; CString strTemp; nRows = 22; nCols = m_nRcpGlassTypeCount + 1; nFixRows = 1; nFixCols = 1; nRowIdx = 0; nColIdx = 0; m_ctrlGridGlassSettingInfo.GetDefaultCell(FALSE, FALSE)->SetBackClr(RGB(0xFF, 0xFF, 0xE0)); m_ctrlGridGlassSettingInfo.SetRowCount(nRows); m_ctrlGridGlassSettingInfo.SetColumnCount(nCols); m_ctrlGridGlassSettingInfo.SetFixedRowCount(nFixRows); m_ctrlGridGlassSettingInfo.SetFixedColumnCount(nFixCols); CRect rect; m_ctrlGridGlassSettingInfo.GetWindowRect(&rect); m_ctrlGridGlassSettingInfo.SetColumnCount(m_nRcpGlassTypeCount + 1); int nWidth = m_ctrlGridGlassSettingInfo.GetColumnWidth(0); int nMargin = 5; int nDataColumnWidth = rect.Width() - nWidth - nMargin; if(m_nRcpGlassTypeCount > 0) { nColIdx = 1; nDataColumnWidth = nDataColumnWidth / m_nRcpGlassTypeCount; for(int i = 0; i < m_nRcpGlassTypeCount; i++) { m_ctrlGridGlassSettingInfo.SetColumnWidth(i + 1, nDataColumnWidth); } } GV_ITEM Item; Item.mask = GVIF_TEXT; Item.col = nColIdx; for (int nRowIdx=0; nRowIdxGetRsGlassTypeInfoManager(); if(pRcpRsGlassTypeInfoManger == NULL) return; m_nRcpGlassTypeCount = pRcpRsGlassTypeInfoManger->GetRcpGlassTypeInfoCount(); UpdateData(FALSE); OnEnChangeEditRcpGlasstypeinfoTypeCount(); CStringArray strArrayOption; CGridCellCombo* pCellCombo = NULL; nColIdx = 1; for(int nIdx=0; nIdx < pRcpRsGlassTypeInfoManger->GetRcpGlassTypeInfoCount(); nIdx++) { CRsRcpGlassTypeInfo* pRcpGlassTypeInfo = pRcpRsGlassTypeInfoManger->GetRcpGlassTypeInfo(nIdx); if(pRcpGlassTypeInfo == NULL) continue; nRowIdx = 1; strItemText.Format(_T("%s"), pRcpGlassTypeInfo->m_strGlassTypeName); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dGlassSizeWidth); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dGlassSizeHeight); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridGlassSettingInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); pCellCombo->GetOptions(strArrayOption); if(strArrayOption.GetSize() > 0 && pRcpGlassTypeInfo->m_nOriginDirection > -1) { strItemText = strArrayOption.GetAt(pRcpGlassTypeInfo->m_nOriginDirection); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); if(nIdx ==0) m_nRadioOriginDir = pRcpGlassTypeInfo->m_nOriginDirection; } } nRowIdx++; pCellCombo = (CGridCellCombo*)m_ctrlGridGlassSettingInfo.GetCell(nRowIdx, nColIdx); if(pCellCombo) { strArrayOption.RemoveAll(); pCellCombo->GetOptions(strArrayOption); if(strArrayOption.GetSize() > 0 && pRcpGlassTypeInfo->m_nCornnerDirection > -1) { strItemText = strArrayOption.GetAt(pRcpGlassTypeInfo->m_nCornnerDirection); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); if(nIdx ==0) m_nRadioCorrnerDir = pRcpGlassTypeInfo->m_nCornnerDirection; } } nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dFirstAlignPositionGlassX); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dFirstAlignPositionGlassY); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dSecondAlignPositionGlassX); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dSecondAlignPositionGlassY); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dFirstAlignPositionMotorX); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dFirstAlignPositionMotorY); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dSecondAlignPositionMotorX); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dSecondAlignPositionMotorY); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dFirstAlignPositionPixelX); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dFirstAlignPositionPixelY); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dSecondAlignPositionPixelX); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dSecondAlignPositionPixelY); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dOriginPositionX); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dOriginPositionY); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dCameraOffSetX); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nRowIdx++; strItemText.Format(_T("%.3lf"), pRcpGlassTypeInfo->m_dCameraOffSetY); m_ctrlGridGlassSettingInfo.SetItemText(nRowIdx, nColIdx, strItemText); nColIdx++; } DrawConnerCutBmpImage(); DrawOriginBmpImage(); } void CDlgRcpGlassInfo::OnGridDblClick( NMHDR *pNotifyStruct, LRESULT* pResult ) { CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd(); if(pDlg == NULL) return; CRcp_RsGlassTypeInfoManager* pRcpRsGlassTypeInfoManger = pDlg->GetRsGlassTypeInfoManager(); if(pRcpRsGlassTypeInfoManger == NULL) return; NM_GRIDVIEW* pItem = (NM_GRIDVIEW*) pNotifyStruct; m_nCurrentIndex = pItem->iColumn-1; if(m_nCurrentIndex < 0) return; CRsRcpGlassTypeInfo* pRcpGlassTypeInfo = pRcpRsGlassTypeInfoManger->GetRcpGlassTypeInfo(m_nCurrentIndex); if(pRcpGlassTypeInfo == NULL) return; m_nRadioCorrnerDir = pRcpGlassTypeInfo->m_nCornnerDirection; m_nRadioOriginDir = pRcpGlassTypeInfo->m_nOriginDirection; DrawConnerCutBmpImage(); DrawOriginBmpImage(); } void CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoFindalign() { int nRowIdx, nColIdx, nSize; char* strTemp = NULL; CReviewRecipeEditorDlg* pDlg = (CReviewRecipeEditorDlg*)AfxGetMainWnd(); if(pDlg == NULL) return; CRcp_RsAlignManager* pRsAlignManager = pDlg->GetRsAlignManager(); if(pRsAlignManager == NULL) return; CRsRcpAlignInfo* pRcpAlignInfo = pRsAlignManager->GetRsRcpAlignInfo(); if(pRcpAlignInfo == NULL) return; if(m_nCurrentIndex < 0) { AfxMessageBox(_T("±Û¶ó½º ŸÀÔÀ» ¼±ÅÃÇϽÿÀ")); return; } CString strFirstImageName, strSecondImageName; strFirstImageName = pRcpAlignInfo->m_strFirstImageFile; strSecondImageName = pRcpAlignInfo->m_strSecondImageFile; if(strFirstImageName == _T("") || strSecondImageName == _T("")) { AfxMessageBox(_T("¾ó¶óÀÎ ÅÛÇø´ À̹ÌÁö¸¦ µî·ÏÇϽÿÀ")); return; } } void CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoMoveFirstalign() { } void CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoMoveSecondalign() { } void CDlgRcpGlassInfo::OnBnClickedButtonRcpGlassinfoCaculateOrigin() { }