⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exportoption.cpp.svn-base

📁 股票软件源码
💻 SVN-BASE
字号:
// ExportOption.cpp : implementation file
//

#include "stdafx.h"

#include "ExportOption.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CExportOption property page

void CExportOption::StoreProfile( )
{
	AfxGetApp()->WriteProfileInt( "exportoption", "timeall", m_bTimeAll );
	AfxGetApp()->WriteProfileInt( "exportoption", "timedefine", m_bTimeDefine );
	CSPTime( AfxGetApp()->WriteProfileInt( "exportoption", "tmbegin", m_tmBegin.GetTime() ) );
	CSPTime( AfxGetApp()->WriteProfileInt( "exportoption", "tmend", m_tmEnd.GetTime() ) );

	AfxGetApp()->WriteProfileInt( "exportoption", "kmonth", m_bKMonth );
	AfxGetApp()->WriteProfileInt( "exportoption", "kweek", m_bKWeek );
	AfxGetApp()->WriteProfileInt( "exportoption", "kday", m_bKDay );
	AfxGetApp()->WriteProfileInt( "exportoption", "kmin60", m_bKMin60 );
	AfxGetApp()->WriteProfileInt( "exportoption", "kmin30", m_bKMin30 );
	AfxGetApp()->WriteProfileInt( "exportoption", "kmin15", m_bKMin15 );
	AfxGetApp()->WriteProfileInt( "exportoption", "kmin5", m_bKMin5 );

	AfxGetApp()->WriteProfileInt( "exportoption", "noresumedr", m_bNoResumeDR );
	AfxGetApp()->WriteProfileInt( "exportoption", "resumedrup", m_bResumeDRUp );
	AfxGetApp()->WriteProfileInt( "exportoption", "resumedrdown", m_bResumeDRDown );

	AfxGetApp()->WriteProfileInt( "exportoption", "autoresumedr", m_bAutoResumeDR );
}

void CExportOption::LoadProfile( )
{
	// Initial Data
	m_bTimeAll		=	FALSE;
	m_bTimeDefine	=	FALSE;
	m_tmBegin = CSPTime::GetCurrentTime();
	m_tmEnd = CSPTime::GetCurrentTime();

	m_bKDay	=	TRUE;

	m_bNoResumeDR	=	FALSE;
	m_bResumeDRUp	=	FALSE;
	m_bResumeDRDown	=	FALSE;
	m_tmAutoResumeDRBegin	=	CSPTime::GetCurrentTime();
	CSPTime	sptime;
	if( sptime.FromStockTimeDay( AfxGetProfile().GetAutoResumeDRBegin() ) )
		m_tmAutoResumeDRBegin	=	sptime.GetTime();

	m_nAutoResumeDRLimit	=	AfxGetProfile().GetAutoResumeDRLimit();

	m_bTimeAll		=	AfxGetApp()->GetProfileInt( "exportoption", "timeall", m_bTimeAll );
	m_bTimeDefine	=	AfxGetApp()->GetProfileInt( "exportoption", "timedefine", m_bTimeDefine );
	m_tmBegin		=	CSPTime( AfxGetApp()->GetProfileInt( "exportoption", "tmend", m_tmEnd.GetTime() ) );
	m_tmBegin	+=	CSPTimeSpan( 1, 0, 0, 0 );
	if( m_tmBegin > m_tmEnd )	m_tmBegin	=	m_tmEnd;

	m_bKMonth		=	AfxGetApp()->GetProfileInt( "exportoption", "kmonth", m_bKMonth );
	m_bKWeek		=	AfxGetApp()->GetProfileInt( "exportoption", "kweek", m_bKWeek );
	m_bKDay			=	AfxGetApp()->GetProfileInt( "exportoption", "kday", m_bKDay );
	m_bKMin60		=	AfxGetApp()->GetProfileInt( "exportoption", "kmin60", m_bKMin60 );
	m_bKMin30		=	AfxGetApp()->GetProfileInt( "exportoption", "kmin30", m_bKMin30 );
	m_bKMin15		=	AfxGetApp()->GetProfileInt( "exportoption", "kmin15", m_bKMin15 );
	m_bKMin5		=	AfxGetApp()->GetProfileInt( "exportoption", "kmin5", m_bKMin5 );

	m_bNoResumeDR	=	AfxGetApp()->GetProfileInt( "exportoption", "noresumedr", m_bNoResumeDR );
	m_bResumeDRUp	=	AfxGetApp()->GetProfileInt( "exportoption", "resumedrup", m_bResumeDRUp );
	m_bResumeDRDown	=	AfxGetApp()->GetProfileInt( "exportoption", "resumedrdown", m_bResumeDRDown );

	m_bAutoResumeDR	=	AfxGetApp()->GetProfileInt( "exportoption", "autoresumedr", m_bAutoResumeDR );
}


IMPLEMENT_DYNCREATE(CExportOption, CPropertyPageEx)

CExportOption::CExportOption() : CPropertyPageEx(CExportOption::IDD)
{
	//{{AFX_DATA_INIT(CExportOption)
	m_tmBegin = 0;
	m_tmEnd = 0;
	m_bKMonth = FALSE;
	m_bKWeek = FALSE;
	m_bKDay = FALSE;
	m_bKMin60 = FALSE;
	m_bKMin30 = FALSE;
	m_bKMin15 = FALSE;
	m_bKMin5 = FALSE;
	m_bAutoResumeDR = FALSE;
	m_tmAutoResumeDRBegin = 0;
	m_nAutoResumeDRLimit = 0;
	//}}AFX_DATA_INIT

	m_dwButtonFlags	=	PSWIZB_BACK | PSWIZB_NEXT;
}

CExportOption::CExportOption(UINT nIDCaption, UINT nIDTitle, UINT nIDSubTitle)
			 : CPropertyPageEx(CExportOption::IDD, nIDCaption, nIDTitle, nIDSubTitle)
{
	m_tmBegin = 0;
	m_tmEnd = 0;
	m_bKMonth = FALSE;
	m_bKWeek = FALSE;
	m_bKDay = FALSE;
	m_bKMin60 = FALSE;
	m_bKMin30 = FALSE;
	m_bKMin15 = FALSE;
	m_bKMin5 = FALSE;
	m_bAutoResumeDR = FALSE;
	m_tmAutoResumeDRBegin = 0;
	m_nAutoResumeDRLimit = 0;

	m_dwButtonFlags	=	PSWIZB_BACK | PSWIZB_NEXT;
}

CExportOption::~CExportOption()
{
}

void CExportOption::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPageEx::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CExportOption)
	DDX_Control(pDX, IDC_AUTORESUMEDR, m_btnAutoResumeDR);
	DDX_Control(pDX, IDC_TIME_AUTORESUMEDRBEGIN, m_ctrlTimeAutoResumeDRBegin);
	DDX_Control(pDX, IDC_AUTORESUMEDR_LIMIT, m_editAutoResumeDRLimit);
	DDX_Control(pDX, IDC_TIME_END, m_ctrlTimeEnd);
	DDX_Control(pDX, IDC_TIME_BEGIN, m_ctrlTimeBegin);
	DDX_DateTimeCtrl(pDX, IDC_TIME_BEGIN, m_tmBegin);
	DDX_DateTimeCtrl(pDX, IDC_TIME_END, m_tmEnd);
	DDX_Check(pDX, IDC_KMONTH, m_bKMonth);
	DDX_Check(pDX, IDC_KWEEK, m_bKWeek);
	DDX_Check(pDX, IDC_KDAY, m_bKDay);
	DDX_Check(pDX, IDC_KMIN60, m_bKMin60);
	DDX_Check(pDX, IDC_KMIN30, m_bKMin30);
	DDX_Check(pDX, IDC_KMIN15, m_bKMin15);
	DDX_Check(pDX, IDC_KMIN5, m_bKMin5);
	DDX_Check(pDX, IDC_AUTORESUMEDR, m_bAutoResumeDR);
	DDX_DateTimeCtrl(pDX, IDC_TIME_AUTORESUMEDRBEGIN, m_tmAutoResumeDRBegin);
	DDX_Text(pDX, IDC_AUTORESUMEDR_LIMIT, m_nAutoResumeDRLimit);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CExportOption, CPropertyPageEx)
	//{{AFX_MSG_MAP(CExportOption)
	ON_BN_CLICKED(IDC_TIME_ALL, OnTimeAll)
	ON_BN_CLICKED(IDC_TIME_DEFINE, OnTimeDefine)
	ON_BN_CLICKED(IDC_NORESUMEDR, OnNoresumedr)
	ON_BN_CLICKED(IDC_RESUMEDRUP, OnResumedrup)
	ON_BN_CLICKED(IDC_RESUMEDRDOWN, OnResumedrdown)
	ON_BN_CLICKED(IDC_AUTORESUMEDR, OnAutoresumedr)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CExportOption message handlers

BOOL CExportOption::OnInitDialog() 
{
	CPropertyPageEx::OnInitDialog();
	
	// TODO: Add extra initialization here
	LoadProfile( );
	UpdateData( FALSE );

	// select item
	int	nCheckID	=	IDC_TIME_ALL;
	if( m_bTimeDefine )
		nCheckID	=	IDC_TIME_DEFINE;
	CheckRadioButton( IDC_TIME_ALL, IDC_TIME_DEFINE, nCheckID );
	m_ctrlTimeBegin.EnableWindow( m_bTimeDefine );
	m_ctrlTimeEnd.EnableWindow( m_bTimeDefine );

	// auto resume dr option
	nCheckID	=	IDC_NORESUMEDR;
	if( m_bResumeDRUp )
		nCheckID	=	IDC_RESUMEDRUP;
	else if( m_bResumeDRDown )
		nCheckID	=	IDC_RESUMEDRDOWN;
	CheckRadioButton( IDC_NORESUMEDR, IDC_RESUMEDRDOWN, nCheckID );
	m_btnAutoResumeDR.EnableWindow( m_bAutoResumeDR && IDC_NORESUMEDR != nCheckID );
	m_ctrlTimeAutoResumeDRBegin.EnableWindow( m_bAutoResumeDR && IDC_NORESUMEDR != nCheckID );
	m_editAutoResumeDRLimit.EnableWindow( m_bAutoResumeDR && IDC_NORESUMEDR != nCheckID );

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CExportOption::OnTimeAll() 
{
	// TODO: Add your control notification handler code here
	m_ctrlTimeBegin.EnableWindow( FALSE );
	m_ctrlTimeEnd.EnableWindow( FALSE );
}

void CExportOption::OnTimeDefine() 
{
	// TODO: Add your control notification handler code here
	m_ctrlTimeBegin.EnableWindow( TRUE );
	m_ctrlTimeEnd.EnableWindow( TRUE );
}

void CExportOption::OnNoresumedr() 
{
	// TODO: Add your control notification handler code here
	m_btnAutoResumeDR.EnableWindow( FALSE );
	m_ctrlTimeAutoResumeDRBegin.EnableWindow( FALSE );
	m_editAutoResumeDRLimit.EnableWindow( FALSE );
}

void CExportOption::OnResumedrup() 
{
	// TODO: Add your control notification handler code here
	m_btnAutoResumeDR.EnableWindow( TRUE );
	m_ctrlTimeAutoResumeDRBegin.EnableWindow( TRUE );
	m_editAutoResumeDRLimit.EnableWindow( TRUE );
}

void CExportOption::OnResumedrdown() 
{
	// TODO: Add your control notification handler code here
	m_btnAutoResumeDR.EnableWindow( TRUE );
	m_ctrlTimeAutoResumeDRBegin.EnableWindow( TRUE );
	m_editAutoResumeDRLimit.EnableWindow( TRUE );
}

void CExportOption::OnAutoresumedr() 
{
	// TODO: Add your control notification handler code here
	int nCheck = m_btnAutoResumeDR.GetCheck();
	m_ctrlTimeAutoResumeDRBegin.EnableWindow( nCheck );
	m_editAutoResumeDRLimit.EnableWindow( nCheck );
}

BOOL CExportOption::OnSetActive() 
{
	// TODO: Add your specialized code here and/or call the base class
	CPropertySheetEx * pSheet = DYNAMIC_DOWNCAST( CPropertySheetEx, GetParent()	);
	if( pSheet )
	{
		pSheet->SetWizardButtons( m_dwButtonFlags );
		
		CWnd * pWnd = pSheet->GetDlgItem( ID_WIZNEXT );
		if( pWnd && ::IsWindow( pWnd->GetSafeHwnd() ) )
		{
			CString	strTemp;
			strTemp.LoadString( IDS_PROPERTYSHEET_NEXT );
			pWnd->SetWindowText( strTemp );
		}
	}

	return CPropertyPageEx::OnSetActive();
}

LRESULT CExportOption::OnWizardBack() 
{
	// TODO: Add your specialized code here and/or call the base class
	
	return CPropertyPageEx::OnWizardBack();
}

LRESULT CExportOption::OnWizardNext() 
{
	// TODO: Add your specialized code here and/or call the base class
	UpdateData( );

	// Time Radio
	CButton * pbtn		= (CButton *)GetDlgItem( IDC_TIME_ALL );
	if( pbtn )	m_bTimeAll	=	pbtn->GetCheck();
	pbtn		= (CButton *)GetDlgItem( IDC_TIME_DEFINE );
	if( pbtn )	m_bTimeDefine	=	pbtn->GetCheck();
	if( !m_bTimeAll && !m_bTimeDefine )
		m_bTimeAll	=	TRUE;

	// Resume Radio
	pbtn		= (CButton *)GetDlgItem( IDC_NORESUMEDR );
	if( pbtn )	m_bNoResumeDR	=	pbtn->GetCheck();
	pbtn		= (CButton *)GetDlgItem( IDC_RESUMEDRUP );
	if( pbtn )	m_bResumeDRUp	=	pbtn->GetCheck();
	pbtn		= (CButton *)GetDlgItem( IDC_RESUMEDRDOWN );
	if( pbtn )	m_bResumeDRDown	=	pbtn->GetCheck();
	if( !m_bNoResumeDR && !m_bResumeDRUp && !m_bResumeDRDown )
		m_bNoResumeDR	=	TRUE;
	
	// Store profile
	StoreProfile( );

	return CPropertyPageEx::OnWizardNext();
}


BOOL CExportOption::PreTranslateMessage(MSG* pMsg) 
{
	// TODO: Add your specialized code here and/or call the base class
	if( WM_KEYDOWN == pMsg->message && VK_RETURN == pMsg->wParam )
		return TRUE;
	return CPropertyPageEx::PreTranslateMessage(pMsg);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -