// ConfigDlg.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù. // #include "stdafx.h" #include "ConsoleApp.h" #include "ConfigDlg.h" //#include "Options.h" // CConfigDlg ´ëÈ­ »óÀÚÀÔ´Ï´Ù. IMPLEMENT_DYNAMIC(CConfigDlg, CDialog) CConfigDlg::CConfigDlg(CWnd* pParent /*=NULL*/) : CDialog(CConfigDlg::IDD, pParent) { m_iPage = -1; } CConfigDlg::~CConfigDlg() { for (int i = 0; i < m_paPage.GetCount(); i++) delete (PCONFIG_PAGE_STRUCT)m_paPage[i]; } void CConfigDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_STC_TITLE, m_stcTitle); DDX_Control(pDX, IDC_TAB, m_tab); } BEGIN_MESSAGE_MAP(CConfigDlg, CDialog) ON_NOTIFY(TCN_SELCHANGE, IDC_TAB, OnSelchangeTb) ON_BN_CLICKED(IDOK, OnOk) END_MESSAGE_MAP() // CConfigDlg ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù. BOOL CConfigDlg::OnInitDialog() { CDialog::OnInitDialog(); m_stcTitle.m_crText = ::GetSysColor(COLOR_3DFACE); m_stcTitle.m_nFontWeight = FW_BOLD; m_stcTitle.m_nFontSize = 14; m_stcTitle.m_sFontName = _T("Verdana"); m_stcTitle.SetConstantText(APP_TITLE); m_tab.InsertItem(0, "±âº»"); m_tab.InsertItem(1, "URL ÀúÀå"); m_tab.InsertItem(2, "ÇÁ·Ï½Ã"); m_tab.InsertItem(3, "°ü¸®ÀÚÁ¤º¸"); // m_tab.SetItemSize(CSize(130, 17)); m_tab.GetClientRect(&m_rcFrame); m_rcFrame.left += 1; m_rcFrame.top += 23; m_rcFrame.right -= 1; m_rcFrame.bottom -= 1; m_dlgCommon.m_bAutoConnect = COptions::GetOptionVal(OPTION_AUTOCONNECT); m_dlgCommon.m_bSavePassword = COptions::GetOptionVal(OPTION_SAVEPASSWORD); m_dlgCommon.m_nAfterExec = COptions::GetOptionVal(OPTION_AFTEREXEC); m_dlgCommon.m_bLogDir = COptions::GetOptionVal(OPTION_LOG_DIR); m_dlgCommon.m_bLogUpload = COptions::GetOptionVal(OPTION_LOG_UPLOAD); m_dlgUrl.m_bSearchSub = COptions::GetOptionVal(OPTION_SEARCHSUBURL); m_dlgUrl.m_nTag = COptions::GetOptionVal(OPTION_URLTAGTYPE); m_dlgUrl.m_sSTag = COptions::GetOption(OPTION_URLSTAG); m_dlgUrl.m_sETag = COptions::GetOption(OPTION_URLETAG); m_dlgProxy.m_sHost = COptions::GetOption(OPTION_PROXYHOST); m_dlgProxy.m_sPort = COptions::GetOption(OPTION_PROXYPORT); m_dlgProxy.m_bUseIEProxy = COptions::GetOptionVal(OPTION_USEIEPROXY); AddPage(m_dlgCommon, "±âº»"); AddPage(m_dlgUrl, "URL ÀúÀå"); AddPage(m_dlgProxy, "ÇÁ·Ï½Ã"); AddPage(m_dlgAdmin, "°ü¸®ÀÚÁ¤º¸"); ShowPage(0); #ifdef _OPENDISK SetWindowText("Opensidk Console ¼³Á¤"); #else SetWindowText("SP-Console ¼³Á¤"); #endif return TRUE; // return TRUE unless you set the focus to a control // ¿¹¿Ü: OCX ¼Ó¼º ÆäÀÌÁö´Â FALSE¸¦ ¹ÝÈ¯ÇØ¾ß ÇÕ´Ï´Ù. } void CConfigDlg::AddPage(CConfigSubDlg &dlg, LPCTSTR pszCaption) { PCONFIG_PAGE_STRUCT pcp = new CONFIG_PAGE_STRUCT; pcp->pdlg = &dlg; pcp->nID = dlg.GetID(); pcp->sCaption = pszCaption; m_paPage.Add(pcp); if (!::IsWindow(dlg.m_hWnd)) dlg.Create(dlg.GetID(), this); } BOOL CConfigDlg::ShowPage(int iPage) { if (m_iPage >= 0) { PCONFIG_PAGE_STRUCT pcp = (PCONFIG_PAGE_STRUCT)m_paPage[m_iPage]; if (!pcp) return FALSE; if (pcp->pdlg) { if (::IsWindow(pcp->pdlg->GetSafeHwnd())) pcp->pdlg->ShowWindow(SW_HIDE); } } PCONFIG_PAGE_STRUCT pcp = (PCONFIG_PAGE_STRUCT)m_paPage[iPage]; if (!pcp) return FALSE; if (pcp->pdlg) { if (::IsWindow(pcp->pdlg->GetSafeHwnd())) { pcp->pdlg->SetParent(&m_tab); pcp->pdlg->MoveWindow(m_rcFrame.left, m_rcFrame.top, m_rcFrame.Width(), m_rcFrame.Height()); pcp->pdlg->ShowWindow(SW_SHOW); pcp->pdlg->RedrawWindow(); pcp->pdlg->SetFocus(); } m_tab.SetCurSel(iPage); m_iPage = iPage; } //°ü¸®ÀÚ¼³Á¤ ÆäÀÌÁöÀ϶§ if (3==iPage) { CConfigAdminDlg* pAdminDlg = (CConfigAdminDlg*) (pcp->pdlg); pAdminDlg->m_show = true; } m_stcTitle.SetWindowText(pcp->sCaption); return TRUE; } void CConfigDlg::OnSelchangeTb(NMHDR *pNMHDR, LRESULT *pResult) { ShowPage(m_tab.GetCurSel()); *pResult = 0; } void CConfigDlg::OnOk() { m_dlgCommon.UpdateData(); m_dlgUrl.UpdateData(); m_dlgProxy.UpdateData(); m_dlgAdmin.UpdateData(); COptions::SetOption(OPTION_AUTOCONNECT, m_dlgCommon.m_bAutoConnect); COptions::SetOption(OPTION_SAVEPASSWORD, m_dlgCommon.m_bSavePassword); COptions::SetOption(OPTION_AFTEREXEC, m_dlgCommon.m_nAfterExec); COptions::SetOption(OPTION_SEARCHSUBURL, m_dlgUrl.m_bSearchSub); COptions::SetOption(OPTION_URLTAGTYPE, m_dlgUrl.m_nTag); COptions::SetOption(OPTION_URLSTAG, m_dlgUrl.m_sSTag); COptions::SetOption(OPTION_URLETAG, m_dlgUrl.m_sETag); COptions::SetOption(OPTION_PROXYHOST, m_dlgProxy.m_sHost); COptions::SetOption(OPTION_PROXYPORT, m_dlgProxy.m_sPort); COptions::SetOption(OPTION_USEIEPROXY, m_dlgProxy.m_bUseIEProxy); COptions::SetOption(OPTION_NAME_01, m_dlgAdmin.m_name_01); COptions::SetOption(OPTION_NAME_02, m_dlgAdmin.m_name_02); COptions::SetOption(OPTION_NAME_03, m_dlgAdmin.m_name_03); COptions::SetOption(OPTION_PHONE_01, m_dlgAdmin.m_phone_01); COptions::SetOption(OPTION_PHONE_02, m_dlgAdmin.m_phone_02); COptions::SetOption(OPTION_PHONE_03, m_dlgAdmin.m_phone_03); COptions::SetOption(OPTION_MAIL_01, m_dlgAdmin.m_mail_01); COptions::SetOption(OPTION_MAIL_02, m_dlgAdmin.m_mail_02); COptions::SetOption(OPTION_MAIL_03, m_dlgAdmin.m_mail_03); COptions::SetOption(OPTION_LOG_DIR, m_dlgCommon.m_bLogDir); COptions::SetOption(OPTION_LOG_UPLOAD, m_dlgCommon.m_bLogUpload); CDialog::OnOK(); }