// ItemDropManagerDlg.cpp : ±¸Çö ÆÄÀÏ // #include "stdafx.h" #include "ItemDropManager.h" #include "ItemDropManagerDlg.h" #include ".\itemdropmanagerdlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif #define MAX_MONSTER_KILL_COUNT 1000000000 #define MIN_MONSTER_KILL_COUNT 1 #define MAX_PLAYER_LEVEL 100 #define MIN_PLAYER_LEVEL 1 #define MAX_MONSTER_LEVEL 100 #define MIN_MONSTER_LEVEL 1 #define MAX_MONSTER_GRADE 6 #define MIN_MONSTER_GRADE 0 enum ENUM_SCRIPT_TYPE { eSCRIPT_TYPE_HUNTING = 0, eSCRIPT_TYPE_MISSION }; // ÀÀ¿ë ÇÁ·Î±×·¥ Á¤º¸¿¡ »ç¿ëµÇ´Â 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() // CItemDropManagerDlg ´ëÈ­ »óÀÚ CItemDropManagerDlg::CItemDropManagerDlg(CWnd* pParent /*=NULL*/) : CDialog(CItemDropManagerDlg::IDD, pParent) , m_dwMonsterKillCount(0) , m_nRadioViewOption(0) , m_dwMonsterCode(0) , m_nUpperMonsterLevel(0) , m_nLowerMonsterLevel(0) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_nMonsterGrade = 0; m_nNowColumnCount = 0; m_nRadioInput = 0; } void CItemDropManagerDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT_KILL_COUNT, m_dwMonsterKillCount); DDX_Control(pDX, IDC_COMBO_MONSTER_TYPE, m_comboMonsterGrade); DDX_Control(pDX, IDC_LIST_ITEM, m_listDropItem); DDX_Control(pDX, IDC_COMBO_SCRIPT_TYPE, m_comboScriptType); DDX_Radio(pDX, IDC_RADIO_RESULT, m_nRadioViewOption); DDX_Text(pDX, IDC_EDIT_MONSTER_CODE, m_dwMonsterCode); DDX_Radio( pDX, IDC_RADIO_MONSTER_LEVEL, m_nRadioInput ); DDX_Text(pDX, IDC_EDIT_UPPER_LEVEL, m_nUpperMonsterLevel); DDX_Text(pDX, IDC_EDIT_LOWER_LEVEL, m_nLowerMonsterLevel); } BEGIN_MESSAGE_MAP(CItemDropManagerDlg, CDialog) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_BUTTON_START, OnBnClickedButtonStart) ON_BN_CLICKED(IDC_BUTTON_SAVE, OnBnClickedButtonSave) ON_BN_CLICKED(IDC_BUTTON_CLEAR, OnBnClickedButtonClear) ON_BN_CLICKED(IDC_RADIO_RESULT, OnBnClickedRadioResult) ON_BN_CLICKED(IDC_RADIO_CONTENTS, OnBnClickedRadioContents) ON_CBN_SELCHANGE(IDC_COMBO_MONSTER_TYPE, OnCbnSelchangeComboMonsterType) ON_CBN_SELCHANGE(IDC_COMBO_SCRIPT_TYPE, OnCbnSelchangeComboScriptType) ON_BN_CLICKED(IDC_BUTTON_SETTING, OnBnClickedButtonSetting) ON_EN_CHANGE(IDC_EDIT_KILL_COUNT, OnEnChangeEditKillCount) ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel) ON_BN_CLICKED(IDOK, OnBnClickedOk) ON_WM_SIZE() ON_BN_CLICKED(IDC_RADIO_MONSTER_LEVEL, OnBnClickedRadioMonsterLevel) ON_BN_CLICKED(IDC_RADIO_MONSTER_CODE, OnBnClickedRadioMonsterCode) ON_EN_CHANGE(IDC_EDIT_LOWER_LEVEL, OnEnChangeEditLowerLevel) ON_EN_CHANGE(IDC_EDIT_UPPER_LEVEL, OnEnChangeEditUpperLevel) END_MESSAGE_MAP() // CItemDropManagerDlg ¸Þ½ÃÁö 󸮱â BOOL CItemDropManagerDlg::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: ¿©±â¿¡ Ãß°¡ ÃʱâÈ­ ÀÛ¾÷À» Ãß°¡ÇÕ´Ï´Ù. InitScriptTypeCombo(); // ½ºÅ©¸³Æ® ÄÞº¸¹Ú½º ÃʱâÈ­ InitMonsterTypeCombo(); // ¸ó½ºÅÍ Á¾·ù ÃʱâÈ­ // ½ºÅ©¸³Æ® ÃʱâÈ­ m_DropManager.Initialize(); //List Control Grid ÃʱâÈ­... DWORD styles = LVS_EX_GRIDLINES; ListView_SetExtendedListViewStyleEx(m_listDropItem.GetSafeHwnd(), styles, styles); GetDlgItem( IDC_BUTTON_START )->SetFocus(); OnBnClickedRadioMonsterLevel(); return TRUE; // ÄÁÆ®·Ñ¿¡ ´ëÇÑ Æ÷Ä¿½º¸¦ ¼³Á¤ÇÏÁö ¾ÊÀ» °æ¿ì TRUE¸¦ ¹ÝȯÇÕ´Ï´Ù. } void CItemDropManagerDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID, lParam); } } // ´ëÈ­ »óÀÚ¿¡ ÃÖ¼ÒÈ­ ´ÜÃ߸¦ Ãß°¡ÇÒ °æ¿ì ¾ÆÀÌÄÜÀ» ±×¸®·Á¸é // ¾Æ·¡ Äڵ尡 ÇÊ¿äÇÕ´Ï´Ù. ¹®¼­/ºä ¸ðµ¨À» »ç¿ëÇÏ´Â MFC ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ °æ¿ì¿¡´Â // ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ ÀÌ ÀÛ¾÷À» ÀÚµ¿À¸·Î ¼öÇàÇÕ´Ï´Ù. void CItemDropManagerDlg::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 CItemDropManagerDlg::OnQueryDragIcon() { return static_cast(m_hIcon); } void CItemDropManagerDlg::OnBnClickedButtonStart() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. UpdateData( TRUE ); //ÃʱâÈ­ OnBnClickedButtonClear(); CString strMsg; // ¸ó½ºÅÍ °ÝÆÄ °³¼ö üũ( 1 - 200 »çÀÌ) if( m_dwMonsterKillCount < MIN_MONSTER_KILL_COUNT || m_dwMonsterKillCount > MAX_MONSTER_KILL_COUNT ) { AfxMessageBox( "¸ó½ºÅÍ °ÝÆÄ °³Ã¼ ¼ö´Â 1 - 100000000 »çÀÌ À̾î¾ß ÇÕ´Ï´Ù. " ); return; } // ½ºÅ©¸³Æ® ŸÀÔ Ã¼Å©(0 or 1) if( m_nScriptType != eSCRIPT_TYPE_HUNTING && m_nScriptType != eSCRIPT_TYPE_MISSION ) { AfxMessageBox( "½ºÅ©¸³Æ® Á¾·ù´Â ÇåÆÃ, ¹Ì¼Ç µÑÁß ÇϳªÀ̾î¾ß ÇÕ´Ï´Ù. " ); return; } if( m_nRadioInput == 0 ) { // ¸ó½ºÅÍ ·¹º§ üũ( 1 - 100 »çÀÌ) if( m_nUpperMonsterLevel < MIN_MONSTER_LEVEL || m_nUpperMonsterLevel > MAX_MONSTER_LEVEL ) { AfxMessageBox( "¸ó½ºÅÍ ·¹º§Àº 1 - 100 »çÀÌ À̾î¾ß ÇÕ´Ï´Ù. " ); return; } if( m_nLowerMonsterLevel < MIN_MONSTER_LEVEL || m_nLowerMonsterLevel > MAX_MONSTER_LEVEL ) { AfxMessageBox( "¸ó½ºÅÍ ·¹º§Àº 1 - 100 »çÀÌ À̾î¾ß ÇÕ´Ï´Ù. " ); return; } if( m_nLowerMonsterLevel > m_nUpperMonsterLevel ) { AfxMessageBox( "ÃÖ°í ¸ó½ºÅÍ ·¹º§Àº ÃÖÀú ¸ó½ºÅÍ ·¹º§º¸´Ù °°°Å³ª Ä¿¾ß ÇÕ´Ï´Ù." ); return; } // ¸ó½ºÅÍ µî±Þ if( m_nMonsterGrade < MIN_MONSTER_GRADE || m_nMonsterGrade > MAX_MONSTER_GRADE ) { AfxMessageBox( "¸ó½ºÅÍ µî±ÞÀº 0 ~ 6 »çÀÌ À̾î¾ß ÇÕ´Ï´Ù. " ); return; } } else if( m_nRadioInput == 1 ) { // ¸ó½ºÅÍ CODE if( m_dwMonsterCode <= 0 ) { AfxMessageBox( "¸ó½ºÅÍ Äڵ尡 ÀÖ¾î¾ß ÇÕ´Ï´Ù. " ); return; } } // ½ºÅ©¸³Æ® ŸÀÔ Àû¿ë m_DropManager.SetScriptType( m_nScriptType ); m_DropManager.SetCntKillMonster( m_dwMonsterKillCount ); // ŸÀÔ¿¡ µû¸¥ µ¥ÀÌŸ °è»ê.. BOOL bRet = FALSE; if( m_nRadioInput == 0) bRet = m_DropManager.DropItem( m_nLowerMonsterLevel, m_nUpperMonsterLevel, m_nMonsterGrade + 1, m_dwMonsterKillCount, m_nScriptType ); else bRet = m_DropManager.DropItemEx( m_dwMonsterCode, m_dwMonsterKillCount, m_nScriptType ); if(bRet != FALSE) DisplayItemList( m_nRadioViewOption ); } void CItemDropManagerDlg::OnBnClickedButtonSave() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù 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)) //»õ·Î¿î ÆÄÀÏÀ̸é.. { CString strSave = m_DropManager.GetSaveDropInfo( m_nRadioViewOption ); if( strSave.GetLength() > 0) txtFile.Write( strSave, strSave.GetLength()); //³¡ºÎÅÍ ÆÄÀÏ¿¡ ¾¹´Ï´Ù. txtFile.Close(); //ÆÄÀÏÀ» ´Ý½À´Ï´Ù. } } CATCH(CFileException, e) { CString strError; int nError = 0; e->GetErrorMessage((LPTSTR)strError.GetString(), nError, NULL); AfxMessageBox(strError); } END_CATCH } } void CItemDropManagerDlg::OnBnClickedButtonClear() { /************************************************************************/ /* ¸®½ºÆ® ÄÁÆ®·Ñ ÃʱâÈ­ ±¸¹® */ /************************************************************************/ for(int i = 0; i < m_nNowColumnCount; i++) m_listDropItem.DeleteColumn(0); BOOL bRet = m_listDropItem.DeleteAllItems(); } void CItemDropManagerDlg::OnBnClickedRadioResult() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. } void CItemDropManagerDlg::OnBnClickedRadioContents() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. } void CItemDropManagerDlg::OnCbnSelchangeComboMonsterType() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. m_nMonsterGrade = m_comboMonsterGrade.GetCurSel(); } // °á°úâ¿¡ Ç¥½Ã¸¦ ÇÑ´Ù. void CItemDropManagerDlg::DisplayItemList(int nType) { InitListControl(); switch(nType) { case 0: //°á°ú¸¸ Ç¥½Ã DisplayResult(); break; case 1: //°úÁ¤¸¸ Ç¥½Ã DisplayProcess(); break; } } //°á°úÃâ·Â void CItemDropManagerDlg::DisplayResult(void) { vector vecInfo; m_DropManager.CalcItemDropResult(); //°á°ú¸¦ °è»êÇÑ´Ù. DROPRESULT_MAP* pMapResult = m_DropManager.GetResultDropItems(); //°á°ú°ªÀ» °¡Á®¿Â´Ù. int nCol = 0, nItem = 0; CString str; LV_ITEM lvItem; for( DROPRESULT_ITER iterResult = pMapResult->begin(); iterResult != pMapResult->end(); iterResult++ ) { nCol = 0; CDropResult info = iterResult->second; CDropItem& item = info.GetItem(); lvItem.mask = LVIF_TEXT; lvItem.iItem = nItem; // ¾ÆÀÌÅÛ Á¾·ù lvItem.iSubItem = nCol++; str = m_DropManager.GetItemType( item.GetDropType_() ); lvItem.pszText = (LPSTR)str.GetString(); m_listDropItem.InsertItem(&lvItem); // ¾ÆÀÌÅÛ ÄÚµå lvItem.iSubItem = nCol++; str.Format("%d", (WORD)item.GetCode() ); lvItem.pszText = (LPSTR)str.GetString(); m_listDropItem.SetItem(&lvItem); // À̸§ ¶Ç´Â µ· lvItem.iSubItem = nCol++; if( item.GetDropType_() == DROP_TYPE_MONEY ) str.Format("%u", info.GetSumMoney() ); else str.Format("%s", item.GetName().c_str() ); lvItem.pszText = (LPSTR)str.GetString(); m_listDropItem.SetItem(&lvItem); // µå¶ø·¹º§ lvItem.iSubItem = nCol++; str.Format("%d", (WORD)item.GetDropLevel() ); lvItem.pszText = (LPSTR)str.GetString(); m_listDropItem.SetItem(&lvItem); //ÀÎþƮ ±Þ¼ö //lvItem.iSubItem = nCol++; //str.Format("%d", item.GetEnchantLevel() ); //lvItem.pszText = (LPSTR)str.GetString(); //m_listDropItem.SetItem(&lvItem); ////·©Å© ±Þ¼ö //lvItem.iSubItem = nCol++; //str = m_DropManager.GetRank( (eRANK)item.GetRank() ); //lvItem.pszText = (LPSTR)str.GetString(); //m_listDropItem.SetItem(&lvItem); ////µð¹ÙÀÎ ¿©ºÎ //lvItem.iSubItem = nCol++; //if( item.GetDivine() ) str = "Y"; //else str = "N"; //lvItem.pszText = (LPSTR)str.GetString(); //m_listDropItem.SetItem(&lvItem); //°³¼ö lvItem.iSubItem = nCol++; str.Format("%d", info.GetItemCount() ); lvItem.pszText = (LPSTR)str.GetString(); m_listDropItem.SetItem(&lvItem); //È®·ü lvItem.iSubItem = nCol++; str.Format("%0.5f%%", info.GetDropRate() ); lvItem.pszText = (LPSTR)str.GetString(); m_listDropItem.SetItem(&lvItem); nItem++; } } //°úÁ¤ Ãâ·Â void CItemDropManagerDlg::DisplayProcess(void) { DROPITEM_MAP* pMapItem = m_DropManager.GetDropItems(); int nCol = 0, nItem = 0; CString str; LV_ITEM item; for( DROPITEM_ITER iter = pMapItem->begin(); iter != pMapItem->end(); iter++ ) { nCol = 0; CDropItem info = iter->second; item.mask = LVIF_TEXT; item.iItem = nItem; // ¾ÆÀÌÅÛ Á¾·ù item.iSubItem = nCol++; str = m_DropManager.GetItemType( info.GetDropType_() ); item.pszText = (LPSTR)str.GetString(); m_listDropItem.InsertItem(&item); // ¾ÆÀÌÅÛ ÄÚµå item.iSubItem = nCol++; str.Format("%d", (WORD)info.GetCode() ); item.pszText = (LPSTR)str.GetString(); m_listDropItem.SetItem(&item); // À̸§ item.iSubItem = nCol++; if( info.GetDropType_() == DROP_TYPE_MONEY ) str.Format("%d", info.GetMoney() ); else str = info.GetName().c_str(); item.pszText = (LPSTR)str.GetString(); m_listDropItem.SetItem(&item); // µå¶ø·¹º§ item.iSubItem = nCol++; str.Format("%d", (WORD)info.GetDropLevel() ); item.pszText = (LPSTR)str.GetString(); m_listDropItem.SetItem(&item); //ÀÎþƮ ±Þ¼ö item.iSubItem = nCol++; str.Format("%d", info.GetEnchantLevel() ); item.pszText = (LPSTR)str.GetString(); m_listDropItem.SetItem(&item); //·©Å© ±Þ¼ö item.iSubItem = nCol++; str = m_DropManager.GetRank( (eRANK)info.GetRank() ); item.pszText = (LPSTR)str.GetString(); m_listDropItem.SetItem(&item); //µð¹ÙÀÎ ¿©ºÎ item.iSubItem = nCol++; if( info.GetDivine() ) str = "Y"; else str = "N"; item.pszText = (LPSTR)str.GetString(); m_listDropItem.SetItem(&item); nItem++; } } void CItemDropManagerDlg::InitMonsterTypeCombo(void) { m_comboMonsterGrade.ResetContent(); vector vecTitle = m_DropManager.GetNameMonsterType(); int nSize = (int)vecTitle.size(); for(int i = 0; i < nSize; i++) { CString strTitle = vecTitle[i]; m_comboMonsterGrade.InsertString(i, strTitle); } m_comboMonsterGrade.SetCurSel(0); m_nMonsterGrade = 0; UpdateData(FALSE); } // ¸®½ºÆ® ÄÁÆ®·Ñ ÃʱâÈ­ void CItemDropManagerDlg::InitListControl(void) { /************************************************************************/ /* ¸®½ºÆ® ÄÁÆ®·Ñ Á¦¸ñ ¼³Á¤ */ /************************************************************************/ vector vecTitle; if( m_nRadioViewOption == 0) //°á°ú vecTitle = m_DropManager.GetResultTitle(); else if( m_nRadioViewOption == 1 ) //°úÁ¤ vecTitle = m_DropManager.GetProcessTitle(); int nSize = (int)vecTitle.size(); for(int 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; if( i == 2 ) lvcolumn.cx = 150; else lvcolumn.cx = 80; if( i == 7 ) { lvcolumn.cx = 50; lvcolumn.cchTextMax = 50; } lvcolumn.cchTextMax = 70; m_listDropItem.InsertColumn(i, &lvcolumn); } m_nNowColumnCount = i; UpdateData(FALSE); } void CItemDropManagerDlg::InitScriptTypeCombo() { m_comboScriptType.ResetContent(); vector vecTitle = m_DropManager.GetNameScriptType(); int nSize = (int)vecTitle.size(); for(int i = 0; i < nSize; i++) { CString strTitle = vecTitle[i]; m_comboScriptType.InsertString(i, strTitle); } m_comboScriptType.SetCurSel(0); m_nScriptType = eSCRIPT_TYPE_HUNTING; UpdateData(FALSE); } void CItemDropManagerDlg::OnCbnSelchangeComboScriptType() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. m_nScriptType = m_comboScriptType.GetCurSel(); } void CItemDropManagerDlg::OnBnClickedButtonSetting() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. //BROWSEINFO info; //info.ulFlags = BIF_NEWDIALOGSTYLE; //LPITEMIDLIST pItemIdList; //pItemIdList = SHBrowseForFolder( &info ); //if( pItemIdList == NULL ) //{ // AfxMessageBox( "Á¤º¸¸¦ °¡Áö°í ¿Ã¼ö ¾ø½À´Ï´Ù." ); //} } void CItemDropManagerDlg::OnEnChangeEditKillCount() { // TODO: RICHEDIT ÄÁÆ®·ÑÀÎ °æ¿ì ÀÌ ÄÁÆ®·ÑÀº // CDialog::¸¶½ºÅ©¿¡ OR ¿¬»êÇÏ¿© ¼³Á¤µÈ ENM_CHANGE Ç÷¡±×¸¦ ÁöÁ¤ÇÏ¿© // CRichEditCtrl().SetEventMask()¸¦ È£ÃâÇϵµ·Ï OnInitDialog() ÇÔ¼ö¸¦ ÀçÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é // ÀÌ ¾Ë¸²À» º¸³»Áö ¾Ê½À´Ï´Ù. // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. // ¸ó½ºÅÍ °ÝÆÄ °³¼ö üũ( 1 - 100000000 »çÀÌ) DWORD dwPreKillCount = m_dwMonsterKillCount; UpdateData(TRUE); if( m_dwMonsterKillCount < MIN_MONSTER_KILL_COUNT || m_dwMonsterKillCount > MAX_MONSTER_KILL_COUNT ) { AfxMessageBox( "¸ó½ºÅÍ °ÝÆÄ °³Ã¼ ¼ö´Â 1 - 100000000 »çÀÌ À̾î¾ß ÇÕ´Ï´Ù. " ); m_dwMonsterKillCount = dwPreKillCount; UpdateData( FALSE ); return; } } void CItemDropManagerDlg::OnBnClickedCancel() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. OnCancel(); } void CItemDropManagerDlg::OnBnClickedOk() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. return; OnOK(); } void CItemDropManagerDlg::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); // TODO: ¿©±â¿¡ ¸Þ½ÃÁö 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. // CRect rect, rect2; // m_listDropItem.GetClientRect( &rect ); } void CItemDropManagerDlg::OnBnClickedRadioMonsterLevel() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. UpdateData( TRUE ); GetDlgItem( IDC_EDIT_MONSTER_CODE )->EnableWindow( FALSE ); GetDlgItem( IDC_EDIT_UPPER_LEVEL )->EnableWindow( TRUE ); GetDlgItem( IDC_EDIT_LOWER_LEVEL )->EnableWindow( TRUE ); GetDlgItem( IDC_COMBO_MONSTER_TYPE )->EnableWindow( TRUE ); } void CItemDropManagerDlg::OnBnClickedRadioMonsterCode() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. UpdateData( TRUE ); GetDlgItem( IDC_EDIT_MONSTER_CODE )->EnableWindow( TRUE ); GetDlgItem( IDC_EDIT_UPPER_LEVEL )->EnableWindow( FALSE ); GetDlgItem( IDC_EDIT_LOWER_LEVEL )->EnableWindow( FALSE ); GetDlgItem( IDC_COMBO_MONSTER_TYPE )->EnableWindow( FALSE ); } void CItemDropManagerDlg::OnEnChangeEditLowerLevel() { // TODO: RICHEDIT ÄÁÆ®·ÑÀÎ °æ¿ì ÀÌ ÄÁÆ®·ÑÀº // CDialog::¸¶½ºÅ©¿¡ OR ¿¬»êÇÏ¿© ¼³Á¤µÈ ENM_CHANGE Ç÷¡±×¸¦ ÁöÁ¤ÇÏ¿© // CRichEditCtrl().SetEventMask()¸¦ È£ÃâÇϵµ·Ï OnInitDialog() ÇÔ¼ö¸¦ ÀçÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é // ÀÌ ¾Ë¸²À» º¸³»Áö ¾Ê½À´Ï´Ù. // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. int nPreLevel = m_nLowerMonsterLevel; UpdateData(TRUE); // ¸ó½ºÅÍ ·¹º§ üũ( 1 - 200 »çÀÌ) if( m_nLowerMonsterLevel < MIN_MONSTER_LEVEL || m_nLowerMonsterLevel > MAX_MONSTER_LEVEL ) { AfxMessageBox( "¸ó½ºÅÍ ·¹º§Àº 1 - 100 »çÀÌ À̾î¾ß ÇÕ´Ï´Ù. " ); m_nLowerMonsterLevel = nPreLevel; UpdateData( FALSE ); return; } } void CItemDropManagerDlg::OnEnChangeEditUpperLevel() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. int nPreLevel = m_nUpperMonsterLevel; UpdateData(TRUE); // ¸ó½ºÅÍ ·¹º§ üũ( 1 - 200 »çÀÌ) if( m_nUpperMonsterLevel < MIN_MONSTER_LEVEL || m_nUpperMonsterLevel > MAX_MONSTER_LEVEL ) { AfxMessageBox( "¸ó½ºÅÍ ·¹º§Àº 1 - 100 »çÀÌ À̾î¾ß ÇÕ´Ï´Ù. " ); m_nUpperMonsterLevel = nPreLevel; UpdateData( FALSE ); return; } }