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); }
//设置轴的范围 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 }