// ExcelMngDlg.cpp : ±¸Çö ÆÄÀÏ // #include "stdafx.h" #include "ExcelMng.h" #include "ExcelMngDlg.h" #include "DlgProxy.h" #include ".\excelmngdlg.h" #include "SendMailDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // ÀÀ¿ë ÇÁ·Î±×·¥ Á¤º¸¿¡ »ç¿ëµÇ´Â CAboutDlg ´ëÈ­ »óÀÚÀÔ´Ï´Ù. class CAboutDlg : public CDialog { public: CAboutDlg(); // ´ëÈ­ »óÀÚ µ¥ÀÌÅÍ enum { IDD = IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV Áö¿ø // ±¸Çö protected: DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) END_MESSAGE_MAP() // CExcelMngDlg ´ëÈ­ »óÀÚ IMPLEMENT_DYNAMIC(CExcelMngDlg, CDialog); CExcelMngDlg::CExcelMngDlg(CWnd* pParent /*=NULL*/) : CDialog(CExcelMngDlg::IDD, pParent) , m_nScriptType(0) , m_strSttCol(_T("")) , m_strEndCol(_T("")) , m_nSttRow(0) , m_nEndRow(0) , m_nSheetNo(0) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_pAutoProxy = NULL; m_nPreColCount = 0; //ÀÌÀü¿¡ »ç¿ëµÇ¾ú´ø ¸®½ºÆ® ÄÁÆ®·ÑÀÇ Ä÷³ °³¼ö } CExcelMngDlg::~CExcelMngDlg() { // ÀÌ ´ëÈ­ »óÀÚ¿¡ ´ëÇÑ ÀÚµ¿È­ ÇÁ·Ï½Ã°¡ ÀÖÀ» °æ¿ì ÀÌ ´ëÈ­ »óÀÚ¿¡ ´ëÇÑ // ÈÄ¹æ Æ÷ÀÎÅ͸¦ NULL·Î ¼³Á¤ÇÏ¿© // ´ëÈ­ »óÀÚ°¡ »èÁ¦µÇ¾úÀ½À» ¾Ë ¼ö ÀÖ°Ô ÇÕ´Ï´Ù. if (m_pAutoProxy != NULL) m_pAutoProxy->m_pDialog = NULL; } void CExcelMngDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST_CONTENTS, m_listContents); DDX_Control(pDX, IDC_EDIT_ERROR, m_editError); DDX_Control(pDX, IDC_COMBO1, m_comboIndex); DDX_Text(pDX, IDC_EDIT_STT_COL, m_strSttCol); DDX_Text(pDX, IDC_EDIT_END_COL, m_strEndCol); DDX_Text(pDX, IDC_EDIT_STT_ROW, m_nSttRow); DDX_Text(pDX, IDC_EDIT_END_ROW, m_nEndRow); DDX_Text(pDX, IDC_EDIT_SHEETNO, m_nSheetNo); } BEGIN_MESSAGE_MAP(CExcelMngDlg, CDialog) ON_WM_SYSCOMMAND() ON_WM_CLOSE() ON_WM_PAINT() ON_WM_QUERYDRAGICON() //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_BTN_EXCEL_READ, OnBnClickedBtnExcelRead) ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeComboIndex) ON_BN_CLICKED(IDC_BTN_ERROR_SAVE, OnClickedBtnErrorSave) ON_BN_CLICKED(IDC_BTN_EMAIL_SEND, OnClickedBtnEmailSend) ON_BN_CLICKED(IDC_BTN_SAVE_TXT, OnClickedBtnSaveTxt) ON_EN_CHANGE(IDC_EDIT_END_COL, OnEnChangeEditEndCol) ON_EN_CHANGE(IDC_EDIT_STT_COL, OnEnChangeEditSttCol) ON_EN_CHANGE(IDC_EDIT_STT_ROW, OnEnChangeEditSttRow) ON_EN_CHANGE(IDC_EDIT_END_ROW, OnEnChangeEditEndRow) ON_BN_CLICKED(IDOK, OnBnClickedOk) ON_BN_CLICKED(IDC_BUTTON_LOCATION_SAVE, OnBnClickedButtonLocationSave) END_MESSAGE_MAP() // CExcelMngDlg ¸Þ½ÃÁö 󸮱â BOOL CExcelMngDlg::OnInitDialog() { CDialog::OnInitDialog(); // ½Ã½ºÅÛ ¸Þ´º¿¡ "Á¤º¸..." ¸Þ´º Ç׸ñÀ» Ãß°¡ÇÕ´Ï´Ù. // IDM_ABOUTBOX´Â ½Ã½ºÅÛ ¸í·É ¹üÀ§¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // ÀÌ ´ëÈ­ »óÀÚÀÇ ¾ÆÀÌÄÜÀ» ¼³Á¤ÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÁÖ Ã¢ÀÌ ´ëÈ­ »óÀÚ°¡ ¾Æ´Ò °æ¿ì¿¡´Â // ÇÁ·¹ÀÓ¿öÅ©°¡ ÀÌ ÀÛ¾÷À» ÀÚµ¿À¸·Î ¼öÇàÇÕ´Ï´Ù. SetIcon(m_hIcon, TRUE); // Å« ¾ÆÀÌÄÜÀ» ¼³Á¤ÇÕ´Ï´Ù. SetIcon(m_hIcon, FALSE); // ÀÛÀº ¾ÆÀÌÄÜÀ» ¼³Á¤ÇÕ´Ï´Ù. // TODO: ¿©±â¿¡ Ãß°¡ ÃʱâÈ­ ÀÛ¾÷À» Ãß°¡ÇÕ´Ï´Ù. SetComboScriptType(); // 1. ScriptType ÄÞº¸¹Ú½º ÃʱâÈ­ m_ExcelMng.LoadSheetInfo(); // 2. SheetÁ¤º¸ °¡Á®¿À±â OnSelchangeComboIndex(); GetDlgItem( IDC_BTN_EXCEL_READ )->SetFocus(); //List Control Grid ÃʱâÈ­... DWORD styles = LVS_EX_GRIDLINES; ListView_SetExtendedListViewStyleEx(m_listContents.GetSafeHwnd(), styles, styles); return TRUE; // ÄÁÆ®·Ñ¿¡ ´ëÇÑ Æ÷Ä¿½º¸¦ ¼³Á¤ÇÏÁö ¾ÊÀ» °æ¿ì TRUE¸¦ ¹ÝȯÇÕ´Ï´Ù. } void CExcelMngDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID, lParam); } } // ´ëÈ­ »óÀÚ¿¡ ÃÖ¼ÒÈ­ ´ÜÃ߸¦ Ãß°¡ÇÒ °æ¿ì ¾ÆÀÌÄÜÀ» ±×¸®·Á¸é // ¾Æ·¡ Äڵ尡 ÇÊ¿äÇÕ´Ï´Ù. ¹®¼­/ºä ¸ðµ¨À» »ç¿ëÇÏ´Â MFC ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °æ¿ì¿¡´Â // ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ ÀÌ ÀÛ¾÷À» ÀÚµ¿À¸·Î ¼öÇàÇÕ´Ï´Ù. void CExcelMngDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // ±×¸®±â¸¦ À§ÇÑ µð¹ÙÀ̽º ÄÁÅØ½ºÆ® SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0); // Ŭ¶óÀÌ¾ðÆ® »ç°¢Çü¿¡¼­ ¾ÆÀÌÄÜÀ» °¡¿îµ¥¿¡ ¸ÂÃä´Ï´Ù. int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // ¾ÆÀÌÄÜÀ» ±×¸³´Ï´Ù. dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); } } // »ç¿ëÀÚ°¡ ÃÖ¼ÒÈ­µÈ âÀ» ²ô´Â µ¿¾È¿¡ Ä¿¼­°¡ Ç¥½ÃµÇµµ·Ï ½Ã½ºÅÛ¿¡¼­ // ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù. HCURSOR CExcelMngDlg::OnQueryDragIcon() { return static_cast(m_hIcon); } // ÄÁÆ®·Ñ·¯¿¡¼­ ÇØ´ç °³Ã¼ Áß Çϳª¸¦ °è¼Ó »ç¿ëÇϰí ÀÖÀ» °æ¿ì // »ç¿ëÀÚ°¡ UI¸¦ ´ÝÀ» ¶§ ÀÚµ¿È­ ¼­¹ö¸¦ Á¾·áÇÏ¸é ¾È µË´Ï´Ù. À̵é // ¸Þ½ÃÁö 󸮱â´Â ÇÁ·Ï½Ã°¡ ¾ÆÁ÷ »ç¿ë ÁßÀÎ °æ¿ì UI´Â ¼û±âÁö¸¸, // UI°¡ Ç¥½ÃµÇÁö ¾Ê¾Æµµ ´ëÈ­ »óÀÚ´Â ³²°Ü µÓ´Ï´Ù. void CExcelMngDlg::OnClose() { if (CanExit()) CDialog::OnClose(); } void CExcelMngDlg::OnOK() { if (CanExit()) CDialog::OnOK(); } void CExcelMngDlg::OnCancel() { if (CanExit()) CDialog::OnCancel(); } BOOL CExcelMngDlg::CanExit() { // ÇÁ·Ï½Ã °³Ã¼°¡ °è¼Ó ³²¾Æ ÀÖÀ¸¸é ÀÚµ¿È­ ÄÁÆ®·Ñ·¯¿¡¼­´Â // ÀÌ ÀÀ¿ë ÇÁ·Î±×·¥À» °è¼Ó »ç¿ëÇÕ´Ï´Ù. ´ëÈ­ »óÀÚ´Â ³²°Ü µÎÁö¸¸ // ÇØ´ç UI´Â ¼û±é´Ï´Ù. if (m_pAutoProxy != NULL) { ShowWindow(SW_HIDE); return FALSE; } return TRUE; } void CExcelMngDlg::OnBnClickedBtnExcelRead() { // ÀÔ¿ªµÈ °ªÀ» ¿¢¼¿ ¼±Åÿµ¿ªÀ¸·Î ¼³Á¤ÇÑ´Ù. SetExcelSelectedArea(); CFileDialog dlgFile(TRUE, "XLS", "*.XLS", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "¿¢¼¿ÆÄÀÏ(*.XLS) | (*.XLS )|"); int nPos = 0; if(dlgFile.DoModal() == IDOK) { //1. ¸ÕÀú ¿À·ùâÀ» ´Ù Áö¿î´Ù. m_editError.Clear(); //2. ÆÄÀÏÀ» Àоî¿Â´Ù. CString strName = dlgFile.GetFileName(); CString strPath = dlgFile.GetPathName(); BOOL bSuccess = m_ExcelMng.InitExcel(strPath); if(!bSuccess) { AfxMessageBox("¿¢¼¿ ÃʱâÈ­ ¿À·ù"); return; } //¿¢¼¿ ÆÄÀÏÀ» Àо //È­¸é¿¡ Ãâ·Â½ÃŲ´Ù. SetListControl(); DWORD dDummy = 0; bSuccess = m_ExcelMng.LoadSheetData(); if(bSuccess == TRUE) { DisplayScript(); DisplayScriptError(); } } } void CExcelMngDlg::DisplayScript(void) { CClientDC dc(this); int nSize = (int)m_ExcelMng.GetRowCount(); int nCol = 0; CString str; LV_ITEM item; for(int i = 0; i < nSize ; i++) { CScript* pInfo = m_ExcelMng.m_vecData[i]; item.mask = LVIF_TEXT; item.iItem = i; item.iSubItem = 0; str = pInfo->GetItem(1); item.pszText = (LPSTR)str.GetString(); m_listContents.InsertItem(&item); for(int j = 2; j <= m_ExcelMng.GetColCount(); j++) { item.iSubItem = j-1; str = pInfo->GetItem(j); item.pszText = (LPSTR)str.GetString(); m_listContents.SetItem(&item); } } } void CExcelMngDlg::SetListControl(void) { /************************************************************************/ /* ¸®½ºÆ® ÄÁÆ®·Ñ ÃʱâÈ­ ±¸¹® */ /************************************************************************/ int nCols = m_listContents.GetItemCount(); for(int i = 0; i < nCols; i++) m_listContents.DeleteColumn(0); BOOL bRet = m_listContents.DeleteAllItems(); /************************************************************************/ /* À§¿Í °°ÀÌ ÇØÁà¾ß¸¸ ¿ÏÀüÈ÷ »èÁ¦µÈ´Ù. */ /************************************************************************/ vector vecTitle = m_ExcelMng.GetTitle(); int nSize = (int)vecTitle.size(); for(i = 0; i < nSize; i++) { CString strTitle = vecTitle[i]; LV_COLUMN lvcolumn; lvcolumn.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH; lvcolumn.fmt = LVCFMT_LEFT; lvcolumn.pszText = (LPSTR)strTitle.GetString(); lvcolumn.iSubItem = 0; lvcolumn.cx = 80; lvcolumn.cchTextMax = 70; m_listContents.InsertColumn(i, &lvcolumn); } UpdateData(FALSE); } void CExcelMngDlg::DisplayScriptError(void) { int nSize = m_ExcelMng.m_strError.GetLength(); //edit ÄÁÆ®·ÑÀ» ÃʱâÈ­ ½ÃÄÑÁØ´Ù. m_editError.SetWindowText(""); //error°¡ ÀÖ¾î¾ß¸¸ Ãâ·ÂÇÑ´Ù. if(nSize > 1) m_editError.SetWindowText(m_ExcelMng.m_strError); } void CExcelMngDlg::SetComboScriptType(void) { m_comboIndex.ResetContent(); int nIdx = 0; CString str; str = "½ºÅ³Å×À̺í"; m_comboIndex.InsertString(nIdx++, str); str = "»óŽºÅ©¸³Æ®"; m_comboIndex.InsertString(nIdx++, str); str = "¸ó½ºÅÍ"; m_comboIndex.InsertString(nIdx++, str); str = "¾ÆÀÌÅÛ(weapon)"; m_comboIndex.InsertString(nIdx++, str); str = "¾ÆÀÌÅÛ(armor)"; m_comboIndex.InsertString(nIdx++, str); str = "¾ÆÀÌÅÛ(accessary)"; m_comboIndex.InsertString(nIdx++, str); str = "¾ÆÀÌÅÛ(waste)"; m_comboIndex.InsertString(nIdx++, str); m_comboIndex.SetCurSel(0); m_nScriptType = 0; } void CExcelMngDlg::OnSelchangeComboIndex() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. m_nScriptType = m_comboIndex.GetCurSel(); m_ExcelMng.SetScriptType(m_nScriptType); m_nSheetNo = m_ExcelMng.GetSheetNo(); m_strSttCol = m_ExcelMng.GetSttCol(); m_strEndCol = m_ExcelMng.GetEndCol(); m_nSttRow = m_ExcelMng.GetSttRow(); m_nEndRow = m_ExcelMng.GetEndRow(); UpdateData(FALSE); } void CExcelMngDlg::SetExcelSelectedArea(void) { UpdateData(TRUE); m_ExcelMng.SetSttCol(m_strSttCol); m_ExcelMng.SetEndCol(m_strEndCol); m_ExcelMng.SetSttRow(m_nSttRow); m_ExcelMng.SetEndRow(m_nEndRow); } // ¿¡·¯»çÇ× ÀúÀåÇϱâ.. void CExcelMngDlg::OnClickedBtnErrorSave() { char szFilter[] = "All Files(*.*)|*.*|Text Files(*.txt)|*.txt|"; CFile txtFile; CFileDialog dlgFile(FALSE, NULL, NULL, OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT, szFilter); if(dlgFile.DoModal() == IDOK) { TRY { CString strPath = dlgFile.GetPathName(); strPath += ".txt"; if(txtFile.Open(strPath, CFile::modeReadWrite)) //±âÁ¸¿¡ ÀÖ´Â ÆÄÀÏÀ̸é { txtFile.SeekToEnd(); //ÆÄÀÏÀÇ ³¡À» ã½À´Ï´Ù. txtFile.Write(m_ExcelMng.m_strError, m_ExcelMng.m_strError.GetLength()); //³¡ºÎÅÍ ÆÄÀÏ¿¡ ¾¹´Ï´Ù. txtFile.Close(); //ÆÄÀÏÀ» ´Ý½À´Ï´Ù. } else if(txtFile.Open(strPath, CFile::modeCreate | CFile::modeWrite)) //»õ·Î¿î ÆÄÀÏÀ̸é.. { txtFile.Write(m_ExcelMng.m_strError, m_ExcelMng.m_strError.GetLength()); //³¡ºÎÅÍ ÆÄÀÏ¿¡ ¾¹´Ï´Ù. txtFile.Close(); //ÆÄÀÏÀ» ´Ý½À´Ï´Ù. } } CATCH(CFileException, e) { CString strError; int nError = 0; e->GetErrorMessage((LPTSTR)strError.GetString(), nError, NULL); AfxMessageBox(strError); } END_CATCH } } void CExcelMngDlg::OnClickedBtnEmailSend() { CSendMailDlg dlg(this); dlg.DoModal(); } void CExcelMngDlg::OnClickedBtnSaveTxt() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. CString strText; m_ExcelMng.SaveText(strText); char szFilter[] = "All Files(*.*)|*.*|Text Files(*.txt)|*.txt|"; CFile txtFile; CFileDialog dlgFile(FALSE, NULL, NULL, OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT, szFilter); if(dlgFile.DoModal() == IDOK) { TRY { CString strPath = dlgFile.GetPathName(); strPath += ".txt"; if(txtFile.Open(strPath, CFile::modeCreate | CFile::modeWrite)) //»õ·Î¿î ÆÄÀÏÀ̸é.. { txtFile.Write(strText, strText.GetLength()); //³¡ºÎÅÍ ÆÄÀÏ¿¡ ¾¹´Ï´Ù. txtFile.Close(); //ÆÄÀÏÀ» ´Ý½À´Ï´Ù. } } CATCH(CFileException, e) { CString strError; int nError = 0; e->GetErrorMessage((LPTSTR)strError.GetString(), nError, NULL); AfxMessageBox(strError); } END_CATCH } } void CExcelMngDlg::OnEnChangeEditEndCol() { // TODO: RICHEDIT ÄÁÆ®·ÑÀÎ °æ¿ì ÀÌ ÄÁÆ®·ÑÀº // CDialog::¸¶½ºÅ©¿¡ OR ¿¬»êÇÏ¿© ¼³Á¤µÈ ENM_CHANGE Ç÷¡±×¸¦ ÁöÁ¤ÇÏ¿© // CRichEditCtrl().SetEventMask()¸¦ È£ÃâÇϵµ·Ï OnInitDialog() ÇÔ¼ö¸¦ ÀçÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é // ÀÌ ¾Ë¸²À» º¸³»Áö ¾Ê½À´Ï´Ù. // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. CString strPre = m_strEndCol; UpdateData( TRUE ); char cLast = (char)m_strEndCol.GetAt( m_strEndCol.GetLength() - 1); //¿©±â´Â ´ë¹®ÀÚ¸¸ ¿Ã¼ö ÀÖ´Ù. if( cLast <= 'A' || cLast >= 'Z' ) // ´ë¹®ÀÚ°¡ ¾Æ´Ï¶ó¸é.. { AfxMessageBox("¾ËÆÄºª ´ë¹®ÀÚ¸¸ ÀÔ·ÂÇÒ¼ö ÀÖ½À´Ï´Ù."); m_strEndCol = strPre; UpdateData( FALSE ); return; } } void CExcelMngDlg::OnEnChangeEditSttCol() { // TODO: RICHEDIT ÄÁÆ®·ÑÀÎ °æ¿ì ÀÌ ÄÁÆ®·ÑÀº // CDialog::¸¶½ºÅ©¿¡ OR ¿¬»êÇÏ¿© ¼³Á¤µÈ ENM_CHANGE Ç÷¡±×¸¦ ÁöÁ¤ÇÏ¿© // CRichEditCtrl().SetEventMask()¸¦ È£ÃâÇϵµ·Ï OnInitDialog() ÇÔ¼ö¸¦ ÀçÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é // ÀÌ ¾Ë¸²À» º¸³»Áö ¾Ê½À´Ï´Ù. // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. CString strPre = m_strSttCol; UpdateData( TRUE ); char cLast = (char)m_strSttCol.GetAt( m_strEndCol.GetLength() - 1); if( cLast <= 'A' || cLast >= 'Z' ) // ´ë¹®ÀÚ°¡ ¾Æ´Ï¶ó¸é.. { AfxMessageBox("¾ËÆÄºª ´ë¹®ÀÚ¸¸ ÀÔ·ÂÇÒ¼ö ÀÖ½À´Ï´Ù."); m_strSttCol = strPre; UpdateData( FALSE ); return; } } void CExcelMngDlg::OnEnChangeEditSttRow() { // TODO: RICHEDIT ÄÁÆ®·ÑÀÎ °æ¿ì ÀÌ ÄÁÆ®·ÑÀº // CDialog::¸¶½ºÅ©¿¡ OR ¿¬»êÇÏ¿© ¼³Á¤µÈ ENM_CHANGE Ç÷¡±×¸¦ ÁöÁ¤ÇÏ¿© // CRichEditCtrl().SetEventMask()¸¦ È£ÃâÇϵµ·Ï OnInitDialog() ÇÔ¼ö¸¦ ÀçÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é // ÀÌ ¾Ë¸²À» º¸³»Áö ¾Ê½À´Ï´Ù. // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. int nPre = m_nSttRow; UpdateData( TRUE ); // ¹®ÀÚ¿­ °Ë»ç CString str; GetDlgItemText(IDC_EDIT_STT_ROW, str); char cLast = (char)str.GetAt( str.GetLength() - 1); if( (cLast >= 'a' && cLast <= 'z') || (cLast >= 'A' && cLast <= 'Z') ) // ¹®ÀÚ°¡ ÀԷµǾú ´Ù¸é.. { AfxMessageBox("¼ýÀÚ¸¸ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù."); m_nSttRow = nPre; UpdateData( FALSE ); return; } // ¼öÄ¡°ª °Ë»ç if(m_nSttRow < 1 || m_nSttRow > 10000) { AfxMessageBox( " 1 - 10000 ±îÁö ÀÔ·ÂÇÏ¿© Áֽʽÿä. "); m_nSttRow = nPre; UpdateData( FALSE ); return; } } void CExcelMngDlg::OnEnChangeEditEndRow() { // TODO: RICHEDIT ÄÁÆ®·ÑÀÎ °æ¿ì ÀÌ ÄÁÆ®·ÑÀº // CDialog::¸¶½ºÅ©¿¡ OR ¿¬»êÇÏ¿© ¼³Á¤µÈ ENM_CHANGE Ç÷¡±×¸¦ ÁöÁ¤ÇÏ¿© // CRichEditCtrl().SetEventMask()¸¦ È£ÃâÇϵµ·Ï OnInitDialog() ÇÔ¼ö¸¦ ÀçÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é // ÀÌ ¾Ë¸²À» º¸³»Áö ¾Ê½À´Ï´Ù. // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. int nPre = m_nEndRow; UpdateData( TRUE ); // ¹®ÀÚ¿­ °Ë»ç CString str; GetDlgItemText(IDC_EDIT_END_ROW, str); char cLast = (char)str.GetAt( str.GetLength() - 1); if( (cLast >= 'a' && cLast <= 'z') || (cLast >= 'A' && cLast <= 'Z') ) // ¹®ÀÚ°¡ ÀԷµǾú ´Ù¸é.. { AfxMessageBox("¼ýÀÚ¸¸ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù."); m_nEndRow = nPre; UpdateData( FALSE ); return; } if(m_nEndRow < 1 || m_nEndRow > 10000) { AfxMessageBox( " 1 - 10000 ±îÁö ÀÔ·ÂÇÏ¿© Áֽʽÿä. "); m_nEndRow = nPre; UpdateData( FALSE ); return; } } void CExcelMngDlg::OnBnClickedOk() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. return; OnOK(); } //À§Ä¡ÀúÀå void CExcelMngDlg::OnBnClickedButtonLocationSave() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. UpdateData( TRUE ); m_ExcelMng.SaveSheetInfo( m_nScriptType, m_strSttCol, m_strEndCol, m_nSttRow, m_nEndRow, m_nSheetNo ); }