This commit is contained in:
446
HookMsg/ConfigEnvDlg.cpp
Normal file
446
HookMsg/ConfigEnvDlg.cpp
Normal file
@@ -0,0 +1,446 @@
|
||||
// ConfigEnvDlg.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "hookmsg.h"
|
||||
#include "ConfigEnvDlg.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CConfigEnvDlg dialog
|
||||
|
||||
|
||||
CConfigEnvDlg::CConfigEnvDlg(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(CConfigEnvDlg::IDD, pParent)
|
||||
{
|
||||
//{{AFX_DATA_INIT(CConfigEnvDlg)
|
||||
m_strScreenNum = _T("");
|
||||
m_nMoney1 = 0;
|
||||
m_nMoney2 = 0;
|
||||
m_nStockChkInterval = 0;
|
||||
m_nMoney3 = 0;
|
||||
m_nMoney4 = 0;
|
||||
m_n7121ClickDelay = 0;
|
||||
m_nLimitCall = 0;
|
||||
m_n7121DbClickContinuePauseTime = 0;
|
||||
m_lTradeCount = 0;
|
||||
m_lTradeMoney = 0;
|
||||
//}}AFX_DATA_INIT
|
||||
}
|
||||
|
||||
|
||||
void CConfigEnvDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
//{{AFX_DATA_MAP(CConfigEnvDlg)
|
||||
DDX_Control(pDX, IDC_CONFIGENV_MESU_HOTKEY4, m_hMesuHotKey4);
|
||||
DDX_Control(pDX, IDC_CONFIGENV_MESU_HOTKEY3, m_hMesuHotKey3);
|
||||
DDX_Control(pDX, IDC_CONFIGENV_MESU_HOTKEY2, m_hMesuHotKey2);
|
||||
DDX_Control(pDX, IDC_CONFIGENV_MESU_HOTKEY1, m_hMesuHotKey1);
|
||||
DDX_Control(pDX, IDC_CONFIGENV_ETC_NP_CODEINPUT_HOTKEY, m_hNPInputCode_HotKey);
|
||||
DDX_Control(pDX, IDC_CONFIGENV_MESU_LEVEL_COMBO4, m_cbMesuLevel4);
|
||||
DDX_Control(pDX, IDC_CONFIGENV_MESU_LEVEL_COMBO3, m_cbMesuLevel3);
|
||||
DDX_Control(pDX, IDC_CONFIGENV_MESU_LEVEL_COMBO2, m_cbMesuLevel2);
|
||||
DDX_Control(pDX, IDC_CONFIGENV_MESU_LEVEL_COMBO1, m_cbMesuLevel1);
|
||||
DDX_Control(pDX, IDC_CONFIGENV_ETC_HOOKLOCKUNLOCK_HOTKEY, m_hHookLockUnlock_HotKey);
|
||||
DDX_Text(pDX, IDC_CONFIGENV_FINALJOB_SCREENNUM_EDIT, m_strScreenNum);
|
||||
DDV_MaxChars(pDX, m_strScreenNum, 4);
|
||||
DDX_Text(pDX, IDC_CONFIGENV_MESU_TOTALMONEY_EDIT1, m_nMoney1);
|
||||
DDV_MinMaxLong(pDX, m_nMoney1, 0, 100000000);
|
||||
DDX_Text(pDX, IDC_CONFIGENV_MESU_TOTALMONEY_EDIT2, m_nMoney2);
|
||||
DDV_MinMaxLong(pDX, m_nMoney2, 0, 100000000);
|
||||
DDX_Text(pDX, IDC_CONFIGENV_ETC_STOCKCHECKINTERVAL_EDIT, m_nStockChkInterval);
|
||||
DDV_MinMaxLong(pDX, m_nStockChkInterval, 0, 36000);
|
||||
DDX_Text(pDX, IDC_CONFIGENV_MESU_TOTALMONEY_EDIT3, m_nMoney3);
|
||||
DDV_MinMaxLong(pDX, m_nMoney3, 0, 100000000);
|
||||
DDX_Text(pDX, IDC_CONFIGENV_MESU_TOTALMONEY_EDIT4, m_nMoney4);
|
||||
DDV_MinMaxLong(pDX, m_nMoney4, 0, 100000000);
|
||||
DDX_Text(pDX, IDC_CONFIGENV_FINALJOB_7121DELAY_EDIT, m_n7121ClickDelay);
|
||||
DDV_MinMaxLong(pDX, m_n7121ClickDelay, 0, 3000);
|
||||
DDX_Text(pDX, IDC_CONFIGENV_LIMITCALL_EDIT, m_nLimitCall);
|
||||
DDX_Text(pDX, IDC_CONFIGENV_7121DbClickContinuePauseTime_EDIT, m_n7121DbClickContinuePauseTime);
|
||||
DDV_MinMaxLong(pDX, m_n7121DbClickContinuePauseTime, 0, 60000);
|
||||
DDX_Text(pDX, IDC_CONFIGENV_TRADECOUNT_EDIT, m_lTradeCount);
|
||||
DDX_Text(pDX, IDC_CONFIGENV_TRADEMONEY_EDIT, m_lTradeMoney);
|
||||
//}}AFX_DATA_MAP
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(CConfigEnvDlg, CDialog)
|
||||
//{{AFX_MSG_MAP(CConfigEnvDlg)
|
||||
ON_BN_CLICKED(IDC_CONFIGENV_RELOADALLCONDITIONFILE_BTN, OnConfigenvReloadAllConditionFileBtn)
|
||||
ON_BN_CLICKED(IDC_CONFIGENV_TRADECOUNT_CHECK, OnConfigenvTradecountCheck)
|
||||
ON_BN_CLICKED(IDC_CONFIGENV_TRADEMONEY_CHECK, OnConfigenvTrademoneyCheck)
|
||||
ON_BN_CLICKED(IDC_CONFIGENV_LOWMONEYINFODLG_CHECK, OnConfigenvLowmoneyinfodlgCheck)
|
||||
ON_BN_CLICKED(IDC_CONFIGENV_MESU_CHECK1, OnConfigenvMesuCheck1)
|
||||
ON_BN_CLICKED(IDC_CONFIGENV_MESU_CHECK2, OnConfigenvMesuCheck2)
|
||||
ON_BN_CLICKED(IDC_CONFIGENV_MESU_CHECK3, OnConfigenvMesuCheck3)
|
||||
ON_BN_CLICKED(IDC_CONFIGENV_MESU_CHECK4, OnConfigenvMesuCheck4)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CConfigEnvDlg message handlers
|
||||
|
||||
BOOL CConfigEnvDlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
Load();
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// EXCEPTION: OCX Property Pages should return FALSE
|
||||
}
|
||||
|
||||
void CConfigEnvDlg::OnOK()
|
||||
{
|
||||
Save();
|
||||
|
||||
CDialog::OnOK();
|
||||
}
|
||||
|
||||
void CConfigEnvDlg::Load()
|
||||
{
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_HOGARULE1_CHECK ))->SetCheck(g_theApp.m_bHogaLevelCalc);
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_HOTKEYCODEINPUTRULE1_CHECK ))->SetCheck(g_theApp.m_bHotkeyCodeInputRule1);
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_TOPMOSTWINDOW_CHECK ))->SetCheck(g_theApp.m_bTopmostWnd);
|
||||
|
||||
m_hHookLockUnlock_HotKey.SetHotKey( g_AppEnv.LockUnlockHotKey.wVk, g_AppEnv.LockUnlockHotKey.wModifier );
|
||||
m_hNPInputCode_HotKey.SetHotKey( g_AppEnv.NP_InputCodeHotKey.wVk, g_AppEnv.NP_InputCodeHotKey.wModifier );
|
||||
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_7121DBCLICK_STOP_CHECK ))->SetCheck(g_AppEnv.b7121DbClickStop);
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_7121DBCLICK_CHECK ))->SetCheck(g_AppEnv.b7121DbClick);
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_ETC_USESOUNDEFFECT_CHECK ))->SetCheck(g_AppEnv.bUseSoundEffect);
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_ETC_TIMESYNC_CHECK ))->SetCheck(g_AppEnv.bTimeSync);
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_CANCEL_NOTCONTRACTEDCANCEL_CHECK ))->SetCheck(g_AppEnv.bNotContractedCancel);
|
||||
//~!
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_SUCCESSIVE_BUY_CHECK ))->SetCheck(g_AppEnv.bSuccessiveBuy);
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_JINPUTANDSTOP1_CHECK ))->SetCheck(g_AppEnv.bJInputAndStop1);
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_JINPUTANDSTOP2_CHECK ))->SetCheck(g_AppEnv.bJInputAndStop2);
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_LOWMONEYINFODLG_CHECK ))->SetCheck(g_AppEnv.bLowmoneyInfoDlg);
|
||||
|
||||
m_cbMesuLevel1.SetCurSel(g_AppEnv.Level1-1);
|
||||
m_cbMesuLevel2.SetCurSel(g_AppEnv.Level2-1);
|
||||
m_cbMesuLevel3.SetCurSel(g_AppEnv.Level3-1);
|
||||
m_cbMesuLevel4.SetCurSel(g_AppEnv.Level4-1);
|
||||
|
||||
m_nMoney1 = g_AppEnv.Money1;
|
||||
m_nMoney2 = g_AppEnv.Money2;
|
||||
m_nMoney3 = g_AppEnv.Money3;
|
||||
m_nMoney4 = g_AppEnv.Money4;
|
||||
|
||||
m_strScreenNum = g_AppEnv.strScreenNumber;
|
||||
|
||||
m_n7121DbClickContinuePauseTime = g_AppEnv.n7121DbClickContinuePauseTime;
|
||||
m_nStockChkInterval = g_AppEnv.StockCheckInterval;
|
||||
m_n7121ClickDelay = g_AppEnv.n7121Delay;
|
||||
m_nLimitCall = g_AppEnv.LimitCall;
|
||||
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_TRADECOUNT_CHECK ))->SetCheck(g_AppEnv.bTradeCountCheck);
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_TRADEMONEY_CHECK ))->SetCheck(g_AppEnv.bTradeMoneyCheck);
|
||||
((CWnd*)GetDlgItem( IDC_CONFIGENV_TRADECOUNT_EDIT ))->EnableWindow( g_AppEnv.bTradeCountCheck );
|
||||
((CWnd*)GetDlgItem( IDC_CONFIGENV_TRADEMONEY_EDIT ))->EnableWindow( g_AppEnv.bTradeMoneyCheck );
|
||||
m_lTradeCount = g_AppEnv.lTradeCount;
|
||||
m_lTradeMoney = g_AppEnv.lTradeMoney;
|
||||
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_MESU_CHECK1 ))->SetCheck(g_AppEnv.bMesuUsingMacro1);
|
||||
((CWnd*)GetDlgItem( IDC_CONFIGENV_MESU_HOTKEY1 ))->EnableWindow( g_AppEnv.bMesuUsingMacro1 );
|
||||
m_hMesuHotKey1.SetHotKey( g_AppEnv.MesuHotKey1.wVk, g_AppEnv.MesuHotKey1.wModifier );
|
||||
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_MESU_CHECK2 ))->SetCheck(g_AppEnv.bMesuUsingMacro2);
|
||||
((CWnd*)GetDlgItem( IDC_CONFIGENV_MESU_HOTKEY2 ))->EnableWindow( g_AppEnv.bMesuUsingMacro2 );
|
||||
m_hMesuHotKey2.SetHotKey( g_AppEnv.MesuHotKey2.wVk, g_AppEnv.MesuHotKey2.wModifier );
|
||||
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_MESU_CHECK3 ))->SetCheck(g_AppEnv.bMesuUsingMacro3);
|
||||
((CWnd*)GetDlgItem( IDC_CONFIGENV_MESU_HOTKEY3 ))->EnableWindow( g_AppEnv.bMesuUsingMacro3 );
|
||||
m_hMesuHotKey3.SetHotKey( g_AppEnv.MesuHotKey3.wVk, g_AppEnv.MesuHotKey3.wModifier );
|
||||
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_MESU_CHECK4 ))->SetCheck(g_AppEnv.bMesuUsingMacro4);
|
||||
((CWnd*)GetDlgItem( IDC_CONFIGENV_MESU_HOTKEY4 ))->EnableWindow( g_AppEnv.bMesuUsingMacro4 );
|
||||
m_hMesuHotKey4.SetHotKey( g_AppEnv.MesuHotKey4.wVk, g_AppEnv.MesuHotKey4.wModifier );
|
||||
|
||||
UpdateData(FALSE);
|
||||
}
|
||||
|
||||
void CConfigEnvDlg::Save()
|
||||
{
|
||||
UpdateData();
|
||||
|
||||
g_theApp.m_bHogaLevelCalc = ((CButton*)GetDlgItem( IDC_CONFIGENV_HOGARULE1_CHECK ))->GetCheck();
|
||||
g_theApp.m_bHotkeyCodeInputRule1 = ((CButton*)GetDlgItem( IDC_CONFIGENV_HOTKEYCODEINPUTRULE1_CHECK ))->GetCheck();
|
||||
g_theApp.m_bTopmostWnd = ((CButton*)GetDlgItem( IDC_CONFIGENV_TOPMOSTWINDOW_CHECK ))->GetCheck();
|
||||
|
||||
m_hHookLockUnlock_HotKey.GetHotKey( g_AppEnv.LockUnlockHotKey.wVk, g_AppEnv.LockUnlockHotKey.wModifier );
|
||||
m_hNPInputCode_HotKey.GetHotKey( g_AppEnv.NP_InputCodeHotKey.wVk, g_AppEnv.NP_InputCodeHotKey.wModifier );
|
||||
|
||||
g_AppEnv.b7121DbClickStop = ((CButton*)GetDlgItem( IDC_CONFIGENV_7121DBCLICK_STOP_CHECK ))->GetCheck();
|
||||
g_AppEnv.b7121DbClick = ((CButton*)GetDlgItem( IDC_CONFIGENV_7121DBCLICK_CHECK ))->GetCheck();
|
||||
g_AppEnv.bUseSoundEffect = ((CButton*)GetDlgItem( IDC_CONFIGENV_ETC_USESOUNDEFFECT_CHECK ))->GetCheck();
|
||||
g_AppEnv.bTimeSync = ((CButton*)GetDlgItem( IDC_CONFIGENV_ETC_TIMESYNC_CHECK ))->GetCheck();
|
||||
g_AppEnv.bNotContractedCancel = ((CButton*)GetDlgItem( IDC_CONFIGENV_CANCEL_NOTCONTRACTEDCANCEL_CHECK ))->GetCheck();
|
||||
//~!
|
||||
g_AppEnv.bSuccessiveBuy = ((CButton*)GetDlgItem( IDC_CONFIGENV_SUCCESSIVE_BUY_CHECK ))->GetCheck();
|
||||
g_AppEnv.bJInputAndStop1 = ((CButton*)GetDlgItem( IDC_CONFIGENV_JINPUTANDSTOP1_CHECK ))->GetCheck();
|
||||
g_AppEnv.bJInputAndStop2 = ((CButton*)GetDlgItem( IDC_CONFIGENV_JINPUTANDSTOP2_CHECK ))->GetCheck();
|
||||
g_AppEnv.bLowmoneyInfoDlg = ((CButton*)GetDlgItem( IDC_CONFIGENV_LOWMONEYINFODLG_CHECK ))->GetCheck();
|
||||
|
||||
int nIndex;
|
||||
nIndex = m_cbMesuLevel1.GetCurSel();
|
||||
if(nIndex != LB_ERR)
|
||||
g_AppEnv.Level1 = nIndex+1;
|
||||
nIndex = m_cbMesuLevel2.GetCurSel();
|
||||
if(nIndex != LB_ERR)
|
||||
g_AppEnv.Level2 = nIndex+1;
|
||||
nIndex = m_cbMesuLevel3.GetCurSel();
|
||||
if(nIndex != LB_ERR)
|
||||
g_AppEnv.Level3 = nIndex+1;
|
||||
nIndex = m_cbMesuLevel4.GetCurSel();
|
||||
if(nIndex != LB_ERR)
|
||||
g_AppEnv.Level4 = nIndex+1;
|
||||
|
||||
g_AppEnv.Money1 = m_nMoney1;
|
||||
g_AppEnv.Money2 = m_nMoney2;
|
||||
g_AppEnv.Money3 = m_nMoney3;
|
||||
g_AppEnv.Money4 = m_nMoney4;
|
||||
|
||||
strncpy( g_AppEnv.strScreenNumber, (LPSTR)(LPCTSTR)m_strScreenNum, 4 );
|
||||
|
||||
g_AppEnv.n7121DbClickContinuePauseTime = m_n7121DbClickContinuePauseTime;
|
||||
g_AppEnv.StockCheckInterval = m_nStockChkInterval;
|
||||
g_AppEnv.n7121Delay = m_n7121ClickDelay;
|
||||
g_AppEnv.LimitCall = m_nLimitCall;
|
||||
|
||||
g_AppEnv.bTradeCountCheck = ((CButton*)GetDlgItem( IDC_CONFIGENV_TRADECOUNT_CHECK ))->GetCheck();
|
||||
g_AppEnv.bTradeMoneyCheck = ((CButton*)GetDlgItem( IDC_CONFIGENV_TRADEMONEY_CHECK ))->GetCheck();
|
||||
g_AppEnv.lTradeCount = m_lTradeCount;
|
||||
g_AppEnv.lTradeMoney = m_lTradeMoney;
|
||||
|
||||
g_AppEnv.bMesuUsingMacro1 = ((CButton*)GetDlgItem( IDC_CONFIGENV_MESU_CHECK1 ))->GetCheck();
|
||||
m_hMesuHotKey1.GetHotKey( g_AppEnv.MesuHotKey1.wVk, g_AppEnv.MesuHotKey1.wModifier );
|
||||
|
||||
g_AppEnv.bMesuUsingMacro2 = ((CButton*)GetDlgItem( IDC_CONFIGENV_MESU_CHECK2 ))->GetCheck();
|
||||
m_hMesuHotKey2.GetHotKey( g_AppEnv.MesuHotKey2.wVk, g_AppEnv.MesuHotKey2.wModifier );
|
||||
|
||||
g_AppEnv.bMesuUsingMacro3 = ((CButton*)GetDlgItem( IDC_CONFIGENV_MESU_CHECK3 ))->GetCheck();
|
||||
m_hMesuHotKey3.GetHotKey( g_AppEnv.MesuHotKey3.wVk, g_AppEnv.MesuHotKey3.wModifier );
|
||||
|
||||
g_AppEnv.bMesuUsingMacro4 = ((CButton*)GetDlgItem( IDC_CONFIGENV_MESU_CHECK4 ))->GetCheck();
|
||||
m_hMesuHotKey4.GetHotKey( g_AppEnv.MesuHotKey4.wVk, g_AppEnv.MesuHotKey4.wModifier );
|
||||
}
|
||||
|
||||
void CConfigEnvDlg::OnConfigenvReloadAllConditionFileBtn()
|
||||
{
|
||||
// Config.ini DEBUG_SECTION 다시 읽기.
|
||||
g_ConfigINI.ReadConfigEnvFromINI_DEBUG_SECTION();
|
||||
|
||||
// 공시_특별종목코드.txt
|
||||
g_pStockData->ReadFileSpecialCodeByPublish();
|
||||
|
||||
// 거부_전장거래부진종목코드.txt
|
||||
g_pStockData->ReadFileExclusionCodeFromFile();
|
||||
|
||||
// 수동_종목코드.txt
|
||||
g_pStockData->ReadFileManualInputCodeFromFile();
|
||||
|
||||
// 조건식 파일 재적용.
|
||||
g_Condition.Refresh();
|
||||
|
||||
::MessageBox(NULL, "모든 조건식 및 종목코드 환경설정파일을 재적용하였습니다.",
|
||||
"조건식 및 종목코드 재적용", MB_OK|MB_ICONINFORMATION|MB_TOPMOST );
|
||||
}
|
||||
|
||||
/*
|
||||
void CConfigEnvDlg::OnTestJumoonButton()
|
||||
{
|
||||
UpdateData();
|
||||
|
||||
CEdit *pEdit = (CEdit*)GetDlgItem( IDC_TEST_JCODE_EDIT );
|
||||
CString strCCode;
|
||||
pEdit->GetWindowText( strCCode );
|
||||
strCCode.MakeUpper();
|
||||
if( strCCode.GetLength() != 6 )
|
||||
{
|
||||
AfxMessageBox( "종목코드를 정확하게 입력하세요. 예) A00660" );
|
||||
return;
|
||||
}
|
||||
|
||||
int nRet = MessageBox( "실제 매매주문을 실행합니다.\n"
|
||||
"매도레벨과 금액설정을 확인해 주십시오.\n"
|
||||
"계속하시겠습니까?", "주문확인", MB_YESNO );
|
||||
if( nRet == IDNO ) return;
|
||||
|
||||
int nIndex = m_cbMesuLevel1.GetCurSel();
|
||||
if(nIndex != LB_ERR)
|
||||
g_AppEnv.Level = nIndex+1;
|
||||
|
||||
g_AppEnv.Money = m_nMoney;
|
||||
|
||||
try
|
||||
{
|
||||
HRESULT hr;
|
||||
CString strErrorMsg;
|
||||
|
||||
IDibPtr sjbobj;
|
||||
hr = sjbobj.CreateInstance(CLSID_StockJpbid2);
|
||||
if (FAILED(hr))
|
||||
_com_raise_error(hr);
|
||||
|
||||
sjbobj->SetInputValue( 0, (LPCSTR)strCCode );
|
||||
short nBR = sjbobj->BlockRequest();
|
||||
|
||||
long nOrder = 10;
|
||||
long lLevelMoney = sjbobj->GetDataValue(0, (long)(g_AppEnv.Level-1)); // n차 매도호가.
|
||||
long lLowCheck = sjbobj->GetDataValue(1, (long)1); // 2차 매수호가.(하한가 체크).
|
||||
sjbobj.Release();
|
||||
|
||||
if( lLowCheck == 0 || lLevelMoney == 0 )
|
||||
{
|
||||
if( lLevelMoney == 0 )
|
||||
strErrorMsg += "[상한가]";
|
||||
if( lLowCheck == 0 )
|
||||
strErrorMsg += "[하한가]";
|
||||
|
||||
strErrorMsg += " 종목입니다.";
|
||||
MessageBox( strErrorMsg, "매매정보", MB_OK|MB_ICONINFORMATION );
|
||||
}
|
||||
else
|
||||
{
|
||||
nOrder = g_AppEnv.Money/lLevelMoney;
|
||||
nOrder = nOrder - (nOrder%10);
|
||||
|
||||
CString strAccount;
|
||||
|
||||
ICpTdUtilPtr objTdUtil;
|
||||
hr = objTdUtil.CreateInstance(CLSID_CpTdUtil);
|
||||
if (FAILED(hr))
|
||||
_com_raise_error(hr);
|
||||
|
||||
_variant_t vtStrAccount = objTdUtil->GetAccountNumber();
|
||||
if( vtStrAccount.vt == (VT_BSTR | VT_ARRAY) )
|
||||
{
|
||||
SAFEARRAY *psa = vtStrAccount.parray;
|
||||
BSTR* bstrArray;
|
||||
SafeArrayAccessData( psa, (void**)&bstrArray );
|
||||
strAccount = *bstrArray;
|
||||
SafeArrayUnaccessData( psa );
|
||||
}
|
||||
objTdUtil.Release();
|
||||
|
||||
ICpTdDibPtr obj;
|
||||
hr = obj.CreateInstance(CLSID_CpTd0311);
|
||||
if (FAILED(hr))
|
||||
_com_raise_error(hr);
|
||||
|
||||
obj->SetInputValue( 0, (long)2 ); // 주문구분.
|
||||
obj->SetInputValue( 1, (LPCSTR)strAccount ); // 계좌번호.
|
||||
obj->SetInputValue( 2, (long)10 ); // 계좌구분.
|
||||
obj->SetInputValue( 3, (LPCSTR)strCCode ); // 종목코드.
|
||||
|
||||
obj->SetInputValue( 4, (long)nOrder ); // 주문수량.
|
||||
obj->SetInputValue( 5, (long)lLevelMoney ); // 주문단가.
|
||||
|
||||
obj->SetInputValue( 6, (LPCSTR)"00" ); // 매매구분.
|
||||
|
||||
short nRet = obj->BlockRequest();
|
||||
if( nRet != 0 )
|
||||
{
|
||||
strErrorMsg = "통신에러 :";
|
||||
if (0 != obj->GetDibStatus()) {
|
||||
strErrorMsg += obj->GetDibMsg1();
|
||||
strErrorMsg += obj->GetDibMsg2();
|
||||
strErrorMsg.TrimRight();
|
||||
AfxMessageBox(strErrorMsg);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CString str=""; str += obj->GetDibMsg1();
|
||||
MessageBox( str, "매매정보", MB_OK|MB_ICONINFORMATION );
|
||||
}
|
||||
|
||||
obj.Release();
|
||||
}
|
||||
}
|
||||
catch( _com_error e )
|
||||
{
|
||||
AfxMessageBox("매매테스트 실행중 문제가 발생하였습니다.");
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void CConfigEnvDlg::OnConfigenvTradecountCheck()
|
||||
{
|
||||
BOOL bCheck = ((CButton*)GetDlgItem( IDC_CONFIGENV_TRADECOUNT_CHECK ))->GetCheck();
|
||||
((CWnd*)GetDlgItem( IDC_CONFIGENV_TRADECOUNT_EDIT ))->EnableWindow( bCheck );
|
||||
}
|
||||
void CConfigEnvDlg::OnConfigenvTrademoneyCheck()
|
||||
{
|
||||
BOOL bCheck = ((CButton*)GetDlgItem( IDC_CONFIGENV_TRADEMONEY_CHECK ))->GetCheck();
|
||||
((CWnd*)GetDlgItem( IDC_CONFIGENV_TRADEMONEY_EDIT ))->EnableWindow( bCheck );
|
||||
}
|
||||
|
||||
void CConfigEnvDlg::OnConfigenvLowmoneyinfodlgCheck()
|
||||
{
|
||||
BOOL bCheck = ((CButton*)GetDlgItem( IDC_CONFIGENV_LOWMONEYINFODLG_CHECK ))->GetCheck();
|
||||
if( bCheck )
|
||||
{
|
||||
TCHAR szFilePath[_MAX_PATH]={0,};
|
||||
::GetModuleFileName(NULL, szFilePath, _MAX_PATH);
|
||||
*(strrchr( szFilePath, '\\' ) + 1) = 0;
|
||||
strcat( szFilePath, "\\HLStockWindow.exe" );
|
||||
SHELLEXECUTEINFO ShExecInfo;
|
||||
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
|
||||
ShExecInfo.fMask = NULL;
|
||||
ShExecInfo.hwnd = NULL;
|
||||
ShExecInfo.lpVerb = NULL;
|
||||
ShExecInfo.lpFile = szFilePath;
|
||||
ShExecInfo.lpParameters = NULL;
|
||||
ShExecInfo.lpDirectory = NULL;
|
||||
ShExecInfo.nShow = SW_SHOW;
|
||||
ShExecInfo.hInstApp = NULL;
|
||||
BOOL bSuccess = ShellExecuteEx(&ShExecInfo);
|
||||
if( bSuccess == FALSE )
|
||||
((CButton*)GetDlgItem( IDC_CONFIGENV_LOWMONEYINFODLG_CHECK ))->SetCheck( FALSE );
|
||||
}
|
||||
else
|
||||
{
|
||||
HWND hTagretWnd = ::FindWindow( "HLStockWindow_Dialog", NULL );
|
||||
if( ::IsWindow( hTagretWnd ) )
|
||||
::SendMessage(hTagretWnd, WM_CLOSE, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CConfigEnvDlg::OnConfigenvMesuCheck1()
|
||||
{
|
||||
BOOL bCheck = ((CButton*)GetDlgItem( IDC_CONFIGENV_MESU_CHECK1 ))->GetCheck();
|
||||
((CWnd*)GetDlgItem( IDC_CONFIGENV_MESU_HOTKEY1 ))->EnableWindow( bCheck );
|
||||
}
|
||||
|
||||
void CConfigEnvDlg::OnConfigenvMesuCheck2()
|
||||
{
|
||||
BOOL bCheck = ((CButton*)GetDlgItem( IDC_CONFIGENV_MESU_CHECK2 ))->GetCheck();
|
||||
((CWnd*)GetDlgItem( IDC_CONFIGENV_MESU_HOTKEY2 ))->EnableWindow( bCheck );
|
||||
}
|
||||
|
||||
void CConfigEnvDlg::OnConfigenvMesuCheck3()
|
||||
{
|
||||
BOOL bCheck = ((CButton*)GetDlgItem( IDC_CONFIGENV_MESU_CHECK3 ))->GetCheck();
|
||||
((CWnd*)GetDlgItem( IDC_CONFIGENV_MESU_HOTKEY3 ))->EnableWindow( bCheck );
|
||||
}
|
||||
|
||||
void CConfigEnvDlg::OnConfigenvMesuCheck4()
|
||||
{
|
||||
BOOL bCheck = ((CButton*)GetDlgItem( IDC_CONFIGENV_MESU_CHECK4 ))->GetCheck();
|
||||
((CWnd*)GetDlgItem( IDC_CONFIGENV_MESU_HOTKEY4 ))->EnableWindow( bCheck );
|
||||
}
|
||||
Reference in New Issue
Block a user