// ConfigDlg.cpp : implementation file // #include "stdafx.h" #include "futurechecker.h" #include "ConfigDlg.h" #include #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CConfigDlg dialog CConfigDlg::CConfigDlg(CWnd* pParent /*=NULL*/) : CDialog(CConfigDlg::IDD, pParent) { //{{AFX_DATA_INIT(CConfigDlg) m_strFutureJcode = _T(""); // ¼±¹°Á¾¸ñÄÚµå. m_nFAamountLimitTime = 0; m_nFAmountLimitLine = 0; m_nFAmountUpCondition = 0; m_nFAmountDownCondition = 0; m_bFAmountApplyCheck = FALSE; m_nFcurLimitTime = 0; m_nFcurLevelCondition = 0; m_bFcurApplyCheck = FALSE; m_nFAmountRuleRadio = -1; m_nFApplyRuleRadio = -1; m_nFApplyRuleRadioLimitTime = 0; //}}AFX_DATA_INIT m_Fut = NULL; } CConfigDlg::~CConfigDlg() { m_Fut.Release(); } void CConfigDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CConfigDlg) DDX_Control(pDX, IDC_FUTURE_JCODE_COMBO, m_hFutureCodeComboBox); DDX_Text(pDX, IDC_FUTURE_JCODE_EDIT, m_strFutureJcode); DDV_MaxChars(pDX, m_strFutureJcode, 20); DDX_Control(pDX, IDC_DOWNCONDITION_HOTKEY, m_hDownCondition_HotKey); DDX_Control(pDX, IDC_UPCONDITION_HOTKEY, m_hUpCondition_HotKey); DDX_Control(pDX, IDC_HOOKLOCKUNLOCK_HOTKEY, m_hLockUnlock_HotKey); DDX_Text(pDX, IDC_FAMOUNT_LIMITTIME_EDIT, m_nFAamountLimitTime); DDV_MinMaxLong(pDX, m_nFAamountLimitTime, 1, 100000); DDX_Text(pDX, IDC_FAMOUNT_LIMITLINE_EDIT, m_nFAmountLimitLine); DDV_MinMaxInt(pDX, m_nFAmountLimitLine, 1, 20); DDX_Text(pDX, IDC_FAMOUNT_UPCONDITION_EDIT, m_nFAmountUpCondition); DDV_MinMaxLong(pDX, m_nFAmountUpCondition, 1, 10000000); DDX_Text(pDX, IDC_FAMOUNT_DOWNCONDITION_EDIT, m_nFAmountDownCondition); DDV_MinMaxLong(pDX, m_nFAmountDownCondition, 1, 10000000); DDX_Check(pDX, IDC_FAMOUNT_APPLY_CHECK, m_bFAmountApplyCheck); DDX_Text(pDX, IDC_FCUR_LIMITTIME_EDIT, m_nFcurLimitTime); DDV_MinMaxLong(pDX, m_nFcurLimitTime, 1, 100000); DDX_Text(pDX, IDC_FCUR_LEVELCONDITION_EDIT, m_nFcurLevelCondition); DDV_MinMaxInt(pDX, m_nFcurLevelCondition, 1, 5); DDX_Check(pDX, IDC_FCUR_APPLY_CHECK, m_bFcurApplyCheck); DDX_Radio(pDX, IDC_FAMOUNT_RULE_RADIO1, m_nFAmountRuleRadio); DDX_Radio(pDX, IDC_F_APPLY_RADIO1, m_nFApplyRuleRadio); DDX_Text(pDX, IDC_F_APPLY_RADIO2_EDIT, m_nFApplyRuleRadioLimitTime); DDV_MinMaxLong(pDX, m_nFApplyRuleRadioLimitTime, 1, 100000); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CConfigDlg, CDialog) //{{AFX_MSG_MAP(CConfigDlg) ON_CBN_SELCHANGE(IDC_FUTURE_JCODE_COMBO, OnSelchangeFutureJcodeCombo) ON_BN_CLICKED(IDC_FAMOUNT_RULE_RADIO1, OnFAmountRuleRadio) ON_BN_CLICKED(IDC_FAMOUNT_RULE_RADIO2, OnFAmountRuleRadio) ON_BN_CLICKED(IDC_FAMOUNT_RULE_RADIO3, OnFAmountRuleRadio) ON_BN_CLICKED(IDC_F_APPLY_RADIO1, OnFApplyRuleRadio) ON_BN_CLICKED(IDC_F_APPLY_RADIO2, OnFApplyRuleRadio) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CConfigDlg message handlers BOOL CConfigDlg::OnInitDialog() { CDialog::OnInitDialog(); ModifyStyleEx(NULL, WS_EX_TOPMOST); HRESULT hr = m_Fut.CreateInstance(__uuidof(CpFutureCode)); try { if( SUCCEEDED(hr) ) { short nCount = (short)m_Fut->GetCount(); for( short i=0; iGetData(0,i); m_hFutureCodeComboBox.AddString( b1 ); } } } catch( _com_error e ) { MessageBox(e.ErrorMessage(), "CpFutureCode ÃʱâÈ­ ½ÇÆÐ", MB_OK|MB_ICONSTOP); CDialog::OnCancel(); return FALSE; } /////////////////////////////////////////////////////////////// Load(); OnSelchangeFutureJcodeCombo(); OnFAmountRuleRadio(); OnFApplyRuleRadio(); /////////////////////////////////////////////////////////////// return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CConfigDlg::OnOK() { if( ! Save() ) return; if( g_AppEnv.bFApplyRuleRadio == 0 ) { if( !g_AppEnv.bFAmountApplyCheck && !g_AppEnv.bFcurApplyCheck ) { int nID = MessageBox( "°Å·¡·®+È£°¡ ¸ðµÎ ²¨Á®ÀÖ½À´Ï´Ù.", "°Ë»çÁ¶°Ç È®ÀÎ", MB_OK|MB_ICONINFORMATION ); return; } } else if( g_AppEnv.bFApplyRuleRadio == 1 ) { if( !g_AppEnv.bFAmountApplyCheck || !g_AppEnv.bFcurApplyCheck ) { int nID = MessageBox( "[ÇÕÁýÇÕ]Á¶°ÇÀº °Å·¡·®+È£°¡ ¸ðµÎ ÄÑÁ®ÀÖ¾î¾ßÇÕ´Ï´Ù.", "°Ë»çÁ¶°Ç È®ÀÎ", MB_OK|MB_ICONINFORMATION ); return; } } CDialog::OnOK(); } void CConfigDlg::Load() { m_hLockUnlock_HotKey.SetHotKey( g_AppEnv.LockUnlockHotKey.wVk, g_AppEnv.LockUnlockHotKey.wModifier ); m_hUpCondition_HotKey.SetHotKey( g_AppEnv.UpConditionHotKey.wVk, g_AppEnv.UpConditionHotKey.wModifier ); m_hDownCondition_HotKey.SetHotKey( g_AppEnv.DownConditionHotKey.wVk, g_AppEnv.DownConditionHotKey.wModifier ); m_nFApplyRuleRadio = g_AppEnv.bFApplyRuleRadio; m_nFApplyRuleRadioLimitTime = g_AppEnv.nFApplyRuleRadioLimitTime; ((CButton*)GetDlgItem( IDC_RUNSTAT_CHECK ))->SetCheck(g_AppEnv.bRunStatCheck); ((CButton*)GetDlgItem( IDC_FAMOUNT_APPLY_CHECK ))->SetCheck(g_AppEnv.bFAmountApplyCheck); ((CButton*)GetDlgItem( IDC_FCUR_APPLY_CHECK ))->SetCheck(g_AppEnv.bFcurApplyCheck); m_nFAamountLimitTime = g_AppEnv.nFAamountLimitTime; m_nFAmountLimitLine = g_AppEnv.nFAmountLimitLine; m_nFAmountRuleRadio = g_AppEnv.nFAmountRuleRadio; m_nFAmountUpCondition = g_AppEnv.nFAmountUpCondition; m_nFAmountDownCondition = g_AppEnv.nFAmountDownCondition; m_bFAmountApplyCheck = g_AppEnv.bFAmountApplyCheck; int nIndex = m_hFutureCodeComboBox.SelectString(0, g_AppEnv.szFutureCode); if( nIndex == LB_ERR ) m_hFutureCodeComboBox.SetCurSel(0); m_nFcurLimitTime = g_AppEnv.nFcurLimitTime; m_nFcurLevelCondition = g_AppEnv.nFcurLevelCheck; m_bFcurApplyCheck = g_AppEnv.bFcurApplyCheck; UpdateData(FALSE); } BOOL CConfigDlg::Save() { UpdateData(); m_hLockUnlock_HotKey.GetHotKey( g_AppEnv.LockUnlockHotKey.wVk, g_AppEnv.LockUnlockHotKey.wModifier ); m_hUpCondition_HotKey.GetHotKey( g_AppEnv.UpConditionHotKey.wVk, g_AppEnv.UpConditionHotKey.wModifier ); m_hDownCondition_HotKey.GetHotKey( g_AppEnv.DownConditionHotKey.wVk, g_AppEnv.DownConditionHotKey.wModifier ); g_AppEnv.bFApplyRuleRadio = m_nFApplyRuleRadio; g_AppEnv.nFApplyRuleRadioLimitTime = m_nFApplyRuleRadioLimitTime; g_AppEnv.bRunStatCheck = ((CButton*)GetDlgItem( IDC_RUNSTAT_CHECK ))->GetCheck(); g_AppEnv.bFAmountApplyCheck = ((CButton*)GetDlgItem( IDC_FAMOUNT_APPLY_CHECK ))->GetCheck(); g_AppEnv.bFcurApplyCheck = ((CButton*)GetDlgItem( IDC_FCUR_APPLY_CHECK ))->GetCheck(); g_AppEnv.nFAamountLimitTime = m_nFAamountLimitTime; g_AppEnv.nFAmountLimitLine = m_nFAmountLimitLine; g_AppEnv.nFAmountRuleRadio = m_nFAmountRuleRadio; g_AppEnv.nFAmountUpCondition = m_nFAmountUpCondition; g_AppEnv.nFAmountDownCondition = m_nFAmountDownCondition; g_AppEnv.bFAmountApplyCheck = m_bFAmountApplyCheck; m_hFutureCodeComboBox.GetLBText( m_hFutureCodeComboBox.GetCurSel(), g_AppEnv.szFutureCode ); g_AppEnv.nFcurLimitTime = m_nFcurLimitTime; g_AppEnv.nFcurLevelCheck = m_nFcurLevelCondition; g_AppEnv.bFcurApplyCheck = m_bFcurApplyCheck; return TRUE; } void CConfigDlg::OnSelchangeFutureJcodeCombo() { CString rString; int nSel = m_hFutureCodeComboBox.GetCurSel(); m_hFutureCodeComboBox.GetLBText(nSel, rString); CString strName = (LPCTSTR)(_bstr_t)m_Fut->CodeToName( (LPCTSTR)rString ); SetDlgItemText( IDC_FUTURE_JCODE_EDIT, strName ); } void CConfigDlg::OnFAmountRuleRadio() { UpdateData(TRUE); if( m_nFAmountRuleRadio == 0 ) { SetDlgItemText( IDC_FAMOUNT_UPCONDITION_STATIC, "¸Å¼ö - ¸Åµµ :" ); SetDlgItemText( IDC_FAMOUNT_DOWNCONDITION_STATIC, "¸Åµµ - ¸Å¼ö :" ); } else if(m_nFAmountRuleRadio == 1 ) { SetDlgItemText( IDC_FAMOUNT_UPCONDITION_STATIC, "¸Å¼ö :" ); SetDlgItemText( IDC_FAMOUNT_DOWNCONDITION_STATIC, "¸Åµµ :" ); } else if(m_nFAmountRuleRadio == 2 ) { SetDlgItemText( IDC_FAMOUNT_UPCONDITION_STATIC, "ORÁ¶°Ç :" ); SetDlgItemText( IDC_FAMOUNT_DOWNCONDITION_STATIC, "ORÁ¶°Ç :" ); } } void CConfigDlg::OnFApplyRuleRadio() { UpdateData(TRUE); BOOL bEnable=FALSE; CWnd *pWnd[3] = {NULL,}; pWnd[0] = (CWnd*)GetDlgItem( IDC_F_APPLY_RADIO2_STATIC1 ); pWnd[1] = (CWnd*)GetDlgItem( IDC_F_APPLY_RADIO2_EDIT ); pWnd[2] = (CWnd*)GetDlgItem( IDC_F_APPLY_RADIO2_STATIC2 ); if( m_nFApplyRuleRadio == 0 ) // ±³ÁýÇÕ. bEnable = FALSE; else // ÇÕÁýÇÕ bEnable = TRUE; pWnd[0]->EnableWindow(bEnable); pWnd[1]->EnableWindow(bEnable); pWnd[2]->EnableWindow(bEnable); }