Initial commit: ROW Client source code
Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
446
Tools/PatchMaker/SettingOptionPage.cpp
Normal file
446
Tools/PatchMaker/SettingOptionPage.cpp
Normal file
@@ -0,0 +1,446 @@
|
||||
// SettingOptionPage.cpp : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "PatchMaker.h"
|
||||
#include "SettingOptionPage.h"
|
||||
|
||||
#include "UtilityFunc.h"
|
||||
#include "PMSettingConstant.h"
|
||||
#include ".\settingoptionpage.h"
|
||||
|
||||
// CSettingOptionPage <20><>ȭ <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
IMPLEMENT_DYNAMIC(CSettingOptionPage, CPropertyPage)
|
||||
CSettingOptionPage::CSettingOptionPage(CPMSetting& pmSetting, CPropertySheet& ownerSheet)
|
||||
: CPropertyPage(CSettingOptionPage::IDD)
|
||||
, m_dwManualPatchMinVer(100)
|
||||
, m_OwnerSheet(ownerSheet)
|
||||
, m_pmSettingOption(pmSetting)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CSettingOptionPage::~CSettingOptionPage()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CSettingOptionPage::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CPropertyPage::DoDataExchange(pDX);
|
||||
|
||||
DDX_Control(pDX, IDC_CB_OPT_PATCH_TYPE, m_cbPatchType);
|
||||
DDX_Control(pDX, IDC_ED_OPT_OLD_PKG, m_edOldPkgPos);
|
||||
DDX_Control(pDX, IDC_ED_OPT_NEW_CLIENT, m_edNewClientPos);
|
||||
DDX_Control(pDX, IDC_ED_OPT_NEW_PKG, m_edNewPkgPos);
|
||||
DDX_Control(pDX, IDC_ED_OPT_MAX_PKG, m_edMaxPkgSize);
|
||||
DDX_Control(pDX, IDC_CB_OPT_OLD_PKG_POS, m_cbPkgPos);
|
||||
DDX_Control(pDX, IDC_ED_OPT_FTP_ADDR, m_edFTPAddr);
|
||||
DDX_Control(pDX, IDC_ED_OPT_FTP_PORT, m_edFTPPort);
|
||||
DDX_Control(pDX, IDC_CK_OPT_FTP_PASSIVE, m_bFTPPassive);
|
||||
DDX_Control(pDX, IDC_ED_OPT_MANUAL_PATCH_FILE, m_edManualPatchFolder);
|
||||
DDX_Control(pDX, IDC_ED_OPT_MANUAL_SFX_FILE, m_edManualPatchSFXFile);
|
||||
DDX_Control(pDX, IDC_ED_OPT_MANUAL_MIN_VER, m_edManualPatchMinVer);
|
||||
|
||||
DDX_Text(pDX, IDC_ED_OPT_MANUAL_MIN_VER, m_dwManualPatchMinVer);
|
||||
DDV_MinMaxUInt(pDX, m_dwManualPatchMinVer, 100, 10000);
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CSettingOptionPage, CPropertyPage)
|
||||
|
||||
ON_BN_CLICKED(IDC_BTN_OPT_OLD_PKG, OnBnClickedBtnOptOldPkg)
|
||||
ON_BN_CLICKED(IDC_BTN_OPT_NEW_CLIENT, OnBnClickedBtnOptNewClient)
|
||||
ON_BN_CLICKED(IDC_BTN_OPT_NEW_PKG, OnBnClickedBtnOptNewPkg)
|
||||
ON_BN_CLICKED(IDC_BTN_OPT_MANUAL_PATCH_FILE, OnBnClickedBtnOptManualPatchFile)
|
||||
ON_BN_CLICKED(IDC_BTN_OPT_MANUAL_SFX_FILE, OnBnClickedBtnOptManualSfxFile)
|
||||
ON_BN_CLICKED(ID_SAVE_SETUP, OnBnClickedSaveSetup)
|
||||
ON_BN_CLICKED(ID_LOAD_SETUP, OnBnClickedLoadSetup)
|
||||
|
||||
ON_REGISTERED_MESSAGE(PMConst::AP_SETTING_ENABLE, OnEnableAutoPatchOption)
|
||||
ON_REGISTERED_MESSAGE(PMConst::AP_SETTING_DISABLE, OnDisableAutoPatchOption)
|
||||
ON_REGISTERED_MESSAGE(PMConst::MP_SETTING_ENABLE, OnEnableManualPatchOption)
|
||||
ON_REGISTERED_MESSAGE(PMConst::MP_SETTING_DISABLE, OnDisableManualPatchOption)
|
||||
|
||||
ON_CBN_SELCHANGE(IDC_CB_OPT_OLD_PKG_POS, OnCbnSelchangeCbOptOldPkgPos)
|
||||
ON_WM_DESTROY()
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CSettingOptionPage <20><EFBFBD><DEBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
|
||||
|
||||
inline int AddCBString(CComboBox& combo, CString& tempString, int nIndex, UINT nID)
|
||||
{
|
||||
tempString.LoadString(nID);
|
||||
return combo.InsertString(nIndex, tempString);
|
||||
}
|
||||
|
||||
BOOL CSettingOptionPage::OnInitDialog()
|
||||
{
|
||||
CPropertyPage::OnInitDialog();
|
||||
|
||||
// TODO: <20><><EFBFBD> <20>߰<EFBFBD> <20>ʱ<EFBFBD>ȭ <20>۾<EFBFBD><DBBE><EFBFBD> <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
CString szTmp;
|
||||
|
||||
m_cbPatchType.InsertString(0, PMConst::PatchType_Part1);
|
||||
m_cbPatchType.InsertString(1, PMConst::PatchType_BattleLohan);
|
||||
m_cbPatchType.InsertString(2, PMConst::PatchType_Part2);
|
||||
m_cbPatchType.InsertString(3, PMConst::PatchType_Part2Test);
|
||||
m_cbPatchType.InsertString(4, PMConst::PatchType_Part2Malay);
|
||||
|
||||
AddCBString(m_cbPkgPos, szTmp, 0, IDS_CB_FTP);
|
||||
AddCBString(m_cbPkgPos, szTmp, 1, IDS_CB_LOCAL);
|
||||
|
||||
OnCbnSelchangeCbOptOldPkgPos();
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// <20><><EFBFBD><EFBFBD>: OCX <20>Ӽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FALSE<53><45> <20><>ȯ<EFBFBD>ؾ<EFBFBD> <20>մϴ<D5B4>.
|
||||
}
|
||||
|
||||
void CSettingOptionPage::OnBnClickedBtnOptOldPkg()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
PMUtil::BrowseForFolder(GetSafeHwnd(),
|
||||
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ű<EFBFBD><C5B0><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>"), m_edOldPkgPos);
|
||||
}
|
||||
|
||||
void CSettingOptionPage::OnBnClickedBtnOptNewClient()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
PMUtil::BrowseForFolder(GetSafeHwnd(),
|
||||
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>"), m_edNewClientPos);
|
||||
}
|
||||
|
||||
void CSettingOptionPage::OnBnClickedBtnOptNewPkg()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
PMUtil::BrowseForFolder(GetSafeHwnd(),
|
||||
_T("<EFBFBD><EFBFBD> <20><>Ű<EFBFBD><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>"), m_edNewPkgPos);
|
||||
}
|
||||
|
||||
void CSettingOptionPage::OnBnClickedBtnOptManualPatchFile()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
PMUtil::BrowseForFolder(GetSafeHwnd(),
|
||||
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>"), m_edManualPatchFolder);
|
||||
}
|
||||
|
||||
void CSettingOptionPage::OnBnClickedBtnOptManualSfxFile()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
CString szFileName;
|
||||
if (PMUtil::BrowseForExisingFile(this->GetSafeHwnd(),
|
||||
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ SFX<46><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>"), "SFX File\0*.exe", szFileName))
|
||||
{
|
||||
m_edManualPatchSFXFile.SetWindowText(szFileName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CSettingOptionPage::OnBnClickedSaveSetup()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
|
||||
UpdateSetupData(TRUE);
|
||||
|
||||
if (!m_pmSettingOption.SaveSetting())
|
||||
{
|
||||
MessageBox(_T("<EFBFBD>¾<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>"),
|
||||
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"), MB_OK | MB_ICONEXCLAMATION);
|
||||
}
|
||||
}
|
||||
|
||||
void CSettingOptionPage::OnBnClickedLoadSetup()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
if (m_pmSettingOption.LoadSetting())
|
||||
{
|
||||
UpdateSetupData(FALSE);
|
||||
OnCbnSelchangeCbOptOldPkgPos();
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox(_T("<EFBFBD>¾<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>"),
|
||||
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"), MB_OK | MB_ICONEXCLAMATION);
|
||||
}
|
||||
}
|
||||
|
||||
void SetCBSel(CComboBox& cb, CString& szValue, int nDefaultSel = 0)
|
||||
{
|
||||
CString szCBValue;
|
||||
int nMaxCount = cb.GetCount();
|
||||
for (int nCount = 0; nCount < nMaxCount; ++nCount)
|
||||
{
|
||||
cb.GetLBText(nCount, szCBValue);
|
||||
|
||||
if (0 == szValue.CompareNoCase(szCBValue))
|
||||
{
|
||||
cb.SetCurSel(nCount);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (nCount == nMaxCount)
|
||||
{
|
||||
// ã<>ƺ<EFBFBD><C6BA><EFBFBD> <20>´<EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⺻<EFBFBD><E2BABB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
cb.SetCurSel(nDefaultSel);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CSettingOptionPage::UpdateSetupData(bool bSaveAndValidate)
|
||||
{
|
||||
CString szValue;
|
||||
|
||||
struct KeyValuePair
|
||||
{
|
||||
LPCTSTR m_szKey;
|
||||
CEdit& m_edValue;
|
||||
};
|
||||
|
||||
KeyValuePair keyValueData[] =
|
||||
{
|
||||
{ PMConst::AP_OldPkg, m_edOldPkgPos },
|
||||
{ PMConst::AP_NewClient, m_edNewClientPos },
|
||||
{ PMConst::AP_NewPkg, m_edNewPkgPos },
|
||||
{ PMConst::AP_MaxPkg, m_edMaxPkgSize },
|
||||
{ PMConst::AP_FTPAddr, m_edFTPAddr },
|
||||
{ PMConst::AP_FTPPort, m_edFTPPort },
|
||||
{ PMConst::MP_Folder, m_edManualPatchFolder },
|
||||
{ PMConst::MP_SFXFile, m_edManualPatchSFXFile }
|
||||
};
|
||||
|
||||
const int nMaxData = sizeof(keyValueData) / sizeof(KeyValuePair);
|
||||
|
||||
if (!bSaveAndValidate)
|
||||
{
|
||||
// <20>¾<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD>ѷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
for (int nCount = 0; nCount < nMaxData; ++nCount)
|
||||
{
|
||||
m_pmSettingOption.GetSettingData(keyValueData[nCount].m_szKey, szValue);
|
||||
keyValueData[nCount].m_edValue.SetWindowText(szValue);
|
||||
}
|
||||
|
||||
m_pmSettingOption.GetSettingData(PMConst::PatchType, szValue);
|
||||
SetCBSel(m_cbPatchType, szValue);
|
||||
|
||||
m_pmSettingOption.GetSettingData(PMConst::AP_PkgPosType, szValue);
|
||||
SetCBSel(m_cbPkgPos, szValue);
|
||||
|
||||
m_pmSettingOption.GetSettingData(PMConst::AP_FTPPassive, szValue);
|
||||
m_bFTPPassive.SetCheck(0 == szValue.CompareNoCase(_T("TRUE")) ? BST_CHECKED : BST_UNCHECKED);
|
||||
|
||||
m_pmSettingOption.GetSettingData(PMConst::MP_MinVer, szValue);
|
||||
long nVersion = atol(szValue);
|
||||
if (nVersion < 100) { nVersion = 100; }
|
||||
m_dwManualPatchMinVer = nVersion;
|
||||
|
||||
// <20><>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȭ<>鿡 <20>ݿ<EFBFBD><DDBF>Ѵ<EFBFBD>.
|
||||
UpdateData(FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
// ȭ<><C8AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD>ѿ<EFBFBD> <20>о<EFBFBD><D0BE>´<EFBFBD>.
|
||||
UpdateData(TRUE);
|
||||
|
||||
// <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>¾<EFBFBD> <20>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
for (int nCount = 0; nCount < nMaxData; ++nCount)
|
||||
{
|
||||
keyValueData[nCount].m_edValue.GetWindowText(szValue);
|
||||
m_pmSettingOption.SetSettingData(keyValueData[nCount].m_szKey, szValue);
|
||||
}
|
||||
|
||||
int nCurSel = m_cbPatchType.GetCurSel();
|
||||
if (CB_ERR != nCurSel)
|
||||
{
|
||||
m_cbPatchType.GetLBText(nCurSel, szValue);
|
||||
m_pmSettingOption.SetSettingData(PMConst::PatchType, szValue);
|
||||
}
|
||||
|
||||
nCurSel = m_cbPkgPos.GetCurSel();
|
||||
if (CB_ERR != nCurSel)
|
||||
{
|
||||
m_cbPkgPos.GetLBText(nCurSel, szValue);
|
||||
m_pmSettingOption.SetSettingData(PMConst::AP_PkgPosType, szValue);
|
||||
}
|
||||
|
||||
m_pmSettingOption.SetSettingData(PMConst::AP_FTPPassive,
|
||||
BST_CHECKED == m_bFTPPassive.GetCheck() ? _T("TRUE") : _T("FALSE"));
|
||||
|
||||
szValue.Format("%u", m_dwManualPatchMinVer);
|
||||
m_pmSettingOption.SetSettingData(PMConst::MP_MinVer, szValue);
|
||||
}
|
||||
}
|
||||
|
||||
bool CSettingOptionPage::IsEmptyOption()
|
||||
{
|
||||
if (CB_ERR == m_cbPatchType.GetCurSel() ||
|
||||
0 == m_edOldPkgPos.GetWindowTextLength() ||
|
||||
0 == m_edNewClientPos.GetWindowTextLength() ||
|
||||
0 == m_edNewPkgPos.GetWindowTextLength() ||
|
||||
0 == m_edMaxPkgSize.GetWindowTextLength() ||
|
||||
CB_ERR == m_cbPkgPos.GetCurSel() ||
|
||||
0 == m_edManualPatchFolder.GetWindowTextLength() ||
|
||||
0 == m_edManualPatchSFXFile.GetWindowTextLength() ||
|
||||
m_dwManualPatchMinVer < 100 ||
|
||||
10000 < m_dwManualPatchMinVer)
|
||||
{
|
||||
// <20><> <20><EFBFBD><D7B8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>!
|
||||
return true;
|
||||
}
|
||||
|
||||
CString szPkgPos, szFTPPos((LPCTSTR)IDS_CB_FTP);
|
||||
m_cbPkgPos.GetLBText(m_cbPkgPos.GetCurSel(), szPkgPos);
|
||||
|
||||
if (0 == szPkgPos.CompareNoCase(szFTPPos) &&
|
||||
(0 == m_edFTPAddr.GetWindowTextLength() ||
|
||||
0 == m_edFTPPort.GetWindowTextLength()))
|
||||
{
|
||||
// FTP<54><50> <20><><EFBFBD><EFBFBD><EFBFBD>ߴµ<DFB4>, <20>ּҳ<D6BC> Port<72><74> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>!
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
BOOL CSettingOptionPage::OnKillActive()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> Ư<><C6AF>ȭ<EFBFBD><C8AD> <20>ڵ带 <20>߰<EFBFBD> <20><>/<2F>Ǵ<EFBFBD> <20>⺻ Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
|
||||
|
||||
if (this == m_OwnerSheet.GetActivePage())
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ű<EFBFBD><C5B1><EFBFBD> <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
SendMessage(WM_COMMAND, MAKEWPARAM(ID_SAVE_SETUP, BN_CLICKED));
|
||||
|
||||
if (IsEmptyOption())
|
||||
{
|
||||
MessageBox(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Է<EFBFBD><D4B7><EFBFBD> <20>ֽʽÿ<CABD>"),
|
||||
_T("<EFBFBD>ɼ<EFBFBD> <20><><EFBFBD><EFBFBD>"), MB_OK | MB_ICONEXCLAMATION);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return CPropertyPage::OnKillActive();
|
||||
}
|
||||
|
||||
BOOL CSettingOptionPage::OnSetActive()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> Ư<><C6AF>ȭ<EFBFBD><C8AD> <20>ڵ带 <20>߰<EFBFBD> <20><>/<2F>Ǵ<EFBFBD> <20>⺻ Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>մϴ<D5B4>.
|
||||
SendMessage(WM_COMMAND, MAKEWPARAM(ID_LOAD_SETUP, BN_CLICKED));
|
||||
return CPropertyPage::OnSetActive();
|
||||
}
|
||||
|
||||
|
||||
afx_msg LRESULT CSettingOptionPage::OnEnableAutoPatchOption(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
SetAutoPatchOption(true);
|
||||
return 0;
|
||||
}
|
||||
|
||||
afx_msg LRESULT CSettingOptionPage::OnDisableAutoPatchOption(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
SetAutoPatchOption(false);
|
||||
return 0;
|
||||
}
|
||||
|
||||
afx_msg LRESULT CSettingOptionPage::OnEnableManualPatchOption(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
SetManualPatchOption(true);
|
||||
return 0;
|
||||
}
|
||||
|
||||
afx_msg LRESULT CSettingOptionPage::OnDisableManualPatchOption(WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
SetManualPatchOption(false);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CSettingOptionPage::SetAutoPatchOption(bool bEnable)
|
||||
{
|
||||
UINT nDisableID[] =
|
||||
{
|
||||
IDC_BTN_OPT_OLD_PKG,
|
||||
IDC_BTN_OPT_NEW_CLIENT,
|
||||
IDC_BTN_OPT_NEW_PKG,
|
||||
};
|
||||
|
||||
PMUtil::EnableDlgItems(*this, nDisableID,
|
||||
sizeof(nDisableID)/sizeof(UINT), bEnable);
|
||||
|
||||
if (bEnable && !theApp.IsManualPatchOperate())
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><C4A1> <20>۵<EFBFBD> <20><><EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD> Enable
|
||||
m_cbPatchType.EnableWindow(TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_cbPatchType.EnableWindow(FALSE);
|
||||
}
|
||||
|
||||
m_cbPkgPos.EnableWindow(bEnable);
|
||||
m_bFTPPassive.EnableWindow(bEnable);
|
||||
|
||||
m_edOldPkgPos.SetReadOnly(!bEnable);
|
||||
m_edMaxPkgSize.SetReadOnly(!bEnable);
|
||||
|
||||
m_edFTPAddr.SetReadOnly(!bEnable);
|
||||
m_edFTPPort.SetReadOnly(!bEnable);
|
||||
}
|
||||
|
||||
void CSettingOptionPage::SetManualPatchOption(bool bEnable)
|
||||
{
|
||||
UINT nDisableID[] =
|
||||
{
|
||||
IDC_BTN_OPT_MANUAL_PATCH_FILE,
|
||||
IDC_BTN_OPT_MANUAL_SFX_FILE
|
||||
};
|
||||
|
||||
PMUtil::EnableDlgItems(*this, nDisableID,
|
||||
sizeof(nDisableID)/sizeof(UINT), bEnable);
|
||||
|
||||
if (bEnable && !theApp.IsAutoPatchOperate())
|
||||
{
|
||||
// <20>ڵ<EFBFBD><DAB5><EFBFBD>ġ<EFBFBD><C4A1> <20>۵<EFBFBD> <20><><EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD> Enable
|
||||
m_cbPatchType.EnableWindow(TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_cbPatchType.EnableWindow(FALSE);
|
||||
}
|
||||
|
||||
m_edManualPatchMinVer.SetReadOnly(!bEnable);
|
||||
}
|
||||
|
||||
void CSettingOptionPage::OnCbnSelchangeCbOptOldPkgPos()
|
||||
{
|
||||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||||
|
||||
BOOL bEnableFTP = FALSE;
|
||||
|
||||
int nCurSel = m_cbPkgPos.GetCurSel();
|
||||
if (CB_ERR != nCurSel)
|
||||
{
|
||||
CString szFTP((LPCTSTR)IDS_CB_FTP);
|
||||
CString szCurrentSel;
|
||||
m_cbPkgPos.GetLBText(nCurSel, szCurrentSel);
|
||||
|
||||
if (0 == szCurrentSel.CompareNoCase(szFTP))
|
||||
{
|
||||
bEnableFTP = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
m_edFTPAddr.EnableWindow(bEnableFTP);
|
||||
m_edFTPPort.EnableWindow(bEnableFTP);
|
||||
m_bFTPPassive.EnableWindow(bEnableFTP);
|
||||
|
||||
m_edOldPkgPos.SetReadOnly(!bEnableFTP);
|
||||
}
|
||||
|
||||
|
||||
void CSettingOptionPage::OnDestroy()
|
||||
{
|
||||
SendMessage(WM_COMMAND, MAKEWPARAM(ID_SAVE_SETUP, BN_CLICKED));
|
||||
CPropertyPage::OnDestroy();
|
||||
}
|
||||
Reference in New Issue
Block a user