Ejemplo n.º 1
0
void CDlgStock::test1()
{
	UpdateData(true);

	CFinancialTimeSeries stk;
	stk.Requery(m_strMarket + m_strLable, m_Time, m_Cycle, m_bCumDividendPrice, 10);

	// Charting
	m_ChartCtrl.EnableRefresh(FALSE);
	m_ChartCtrl.RemoveAllSeries();
	CChartStandardAxis* pBottomAxis = m_ChartCtrl.CreateStandardAxis(CChartCtrl::BottomAxis);
	CChartLogarithmicAxis* pLeftAxis = m_ChartCtrl.CreateLogarithmicAxis(CChartCtrl::LeftAxis);
	pBottomAxis->SetAutomatic(true);
	pBottomAxis->SetMinTickIncrement(1.0);
	pBottomAxis->SetTickLabelOrientationInDegree(45);
	pBottomAxis->SetMarginSize(false, 100);
	pLeftAxis->SetAutomatic(true);

	CChartCandlestickSerie *pCandles = m_ChartCtrl.CreateCandlestickSerie();
	for (auto &var : *stk.Data()) pCandles->AddPoint(var.time, var.open, var.high, var.low, var.close);

	pCandles->SetColor(RGB(0, 155, 100));
	pCandles->EnableShadow(false);
	
	m_ChartCtrl.EnableRefresh(TRUE);
	
	
}
Ejemplo n.º 2
0
//设置轴的范围
void CChartCtrl::SetAxis(double XFrom,double XTo,double YFrom,double YTo)
{
	CChartStandardAxis* pBottomAxis = 
		CreateStandardAxis(BottomAxis);
	pBottomAxis->SetMinMax(XFrom, XTo);
	CChartStandardAxis* pLeftAxis =
		CreateStandardAxis(LeftAxis);
	pLeftAxis->SetMinMax(YFrom, YTo);
	CChartStandardAxis* pTopAxis =
		CreateStandardAxis(TopAxis);
	pTopAxis->SetMinMax(XFrom, XTo);
	CChartStandardAxis* pRightAxis =
		CreateStandardAxis(RightAxis);
	pRightAxis->SetMinMax(YFrom, YTo);

	RefreshCtrl();
}
BOOL CRegisterValueAnalyzerDlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	((CButton*)GetDlgItem(IDC_LEFTAXIS_RADIO))->SetCheck(1);
	((CButton*)GetDlgItem(IDC_PAN_CHECK))->SetCheck(1);
	((CButton*)GetDlgItem(IDC_ZOOM_CHECK))->SetCheck(1);
	GetDlgItem(IDC_TITLE_EDIT)->SetWindowText(_T("Register Value Analyzer"));

	int Count = m_TitlesEdit.GetLineCount();
	CChartTitle* pTitle = m_ChartCtrl.GetTitle();
	pTitle->RemoveAll();

	TCHAR szBuff[255];
	for (int i=0;i<Count;i++)
	{
		int Size = m_TitlesEdit.GetLine(i,szBuff);
		szBuff[Size] = '\0';
		pTitle->AddString(szBuff);
	}




	CChartStandardAxis* pBottomAxis = 
		m_ChartCtrl.CreateStandardAxis(CChartCtrl::BottomAxis);
	pBottomAxis->SetMinMax(0, 1000);
	
	CChartStandardAxis* pLeftAxis =
		m_ChartCtrl.CreateStandardAxis(CChartCtrl::LeftAxis);
	pLeftAxis->SetMinMax(0, 1000);

	CChartStandardAxis* pTopAxis =
		m_ChartCtrl.CreateStandardAxis(CChartCtrl::TopAxis);
	pTopAxis->SetMinMax(0, 1000);

	CChartStandardAxis* pRightAxis =
		m_ChartCtrl.CreateStandardAxis(CChartCtrl::RightAxis);
	pRightAxis->SetMinMax(0, 1000);

	OnBnClickedLeftaxisRadio();
	m_LegendVisBtn.SetCheck(1);
	if (m_LegendVisBtn.GetCheck() == 1)
		m_ChartCtrl.GetLegend()->SetVisible(true);
	else
		m_ChartCtrl.GetLegend()->SetVisible(false);
	m_ChartCtrl.RefreshCtrl();
	
	CRect ViewRect;
	GetClientRect(&ViewRect);

	
	if (m_ChartCtrl.GetSafeHwnd())
	{
		m_ChartCtrl.MoveWindow(CRect(120,0,ViewRect.Width(),ViewRect.Height()),TRUE);
	}


	DrawerPoint();
	SetTimer(DATATIME_TIMER,2000,NULL);
	return TRUE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}