// DlgCoordinate.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù. // #include "stdafx.h" #include "ReviewRecipeEditor.h" #include "DlgCoordinate.h" #include "afxdialogex.h" #include "ReviewRecipeEditorDlg.h" #include "CHEdgeTriangle/RecipeManager.h" #include "DlgCommon.h" #include "CHReviewSetting/SystemInfo.h" // CDlgCoordinate ´ëÈ­ »óÀÚÀÔ´Ï´Ù. IMPLEMENT_DYNAMIC(CDlgCoordinate, CDialog) CDlgCoordinate::CDlgCoordinate(CWnd* pParent /*=NULL*/) : CDialog(CDlgCoordinate::IDD, pParent) ,m_nMeasureCount(0) ,m_nGlassWidth(2500) ,m_nGlassHeight(2200) { } CDlgCoordinate::~CDlgCoordinate() { } void CDlgCoordinate::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_COMBO_GLASS_DIR, m_ctrlGlassDir); DDX_Control(pDX, IDC_COMBO_CORNERCUT_DIR, m_ctrlCornerDir); DDX_Control(pDX, IDC_EDIT_RCP_MEASURE_DIR, m_sMeasureDir); DDX_Text(pDX, IDC_EDIT_RCP_MEASURE_COUNT, m_nMeasureCount); DDX_Control(pDX, IDC_GRID_RCP_COORDINATE_INFO, m_ctrlGridCoordinateInfo); DDX_Text(pDX,IDC_EDIT_RCP_GLASS_WIDTH, m_nGlassWidth); DDX_Text(pDX,IDC_EDIT_RCP_GLASS_HEIGHT,m_nGlassHeight); } BEGIN_MESSAGE_MAP(CDlgCoordinate, CDialog) ON_BN_CLICKED(IDC_BUTTON_RCP_COORDINATE_RESET, &CDlgCoordinate::OnBnClickedButtonRcpCoordinateReset) ON_BN_CLICKED(IDC_BUTTON_RCP_COORDINATE_APPLY, &CDlgCoordinate::OnBnClickedButtonRcpCoordinateApply) ON_EN_CHANGE(IDC_EDIT_RCP_MEASURE_COUNT, &CDlgCoordinate::OnEnChangeEditMeasureCount) END_MESSAGE_MAP() // CDlgCoordinate ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù. void CDlgCoordinate::UpdateDialogData() { Invalidate(FALSE); } BOOL CDlgCoordinate::OnInitDialog() { CDialog::OnInitDialog(); //init glass dir combo box for (int i=0; iSetBackClr(RGB(0xFF, 0xFF, 0xE0)); m_ctrlGridCoordinateInfo.SetRowCount(nRows); m_ctrlGridCoordinateInfo.SetColumnCount(nCols); m_ctrlGridCoordinateInfo.SetFixedRowCount(nFixRows); m_ctrlGridCoordinateInfo.SetFixedColumnCount(nFixCols); GV_ITEM Item; Item.mask = GVIF_TEXT; Item.row = nRowIdx; Item.col = nColIdx; strTemp.Format(_T("Idx"));//_T("À妽º")); Item.strText = strTemp; m_ctrlGridCoordinateInfo.SetItem(&Item); m_ctrlGridCoordinateInfo.SetColumnWidth(nColIdx++, 30); nMargin = 5; nDataColumnWidth = (rect.Width() - 30 - nMargin) / (5 - 1); Item.col = nColIdx; strTemp.Format(_T("Before X(mm)")); Item.strText = strTemp; m_ctrlGridCoordinateInfo.SetItem(&Item); m_ctrlGridCoordinateInfo.SetColumnWidth(nColIdx++, nDataColumnWidth); Item.col = nColIdx; strTemp.Format(_T("Before Y(mm)")); Item.strText = strTemp; m_ctrlGridCoordinateInfo.SetItem(&Item); m_ctrlGridCoordinateInfo.SetColumnWidth(nColIdx++, nDataColumnWidth); Item.col = nColIdx; strTemp.Format(_T("After X(mm)")); Item.strText = strTemp; m_ctrlGridCoordinateInfo.SetItem(&Item); m_ctrlGridCoordinateInfo.SetColumnWidth(nColIdx++, nDataColumnWidth); Item.col = nColIdx; strTemp.Format(_T("After Y(mm)")); Item.strText = strTemp; m_ctrlGridCoordinateInfo.SetItem(&Item); m_ctrlGridCoordinateInfo.SetColumnWidth(nColIdx++, nDataColumnWidth); } void CDlgCoordinate::OnEnChangeEditMeasureCount() { UpdateData(TRUE); int nRowIdx, nColIdx; CString strTemp; CRect rect; m_ctrlGridCoordinateInfo.GetWindowRect(&rect); m_ctrlGridCoordinateInfo.SetRowCount(m_nMeasureCount + 1); if(m_nMeasureCount > 0) { GV_ITEM Item; CStringArray strArrayOption; CGridCellCombo* pCellCombo = NULL; nRowIdx = 1; nColIdx = 1; int nPointIdx = 0; for (int nModuleIdx=0; nModuleIdx