void CBase_SampleChart::ResetAxis() { GetBottomAxis()->SetCoordinate(0, 5, COORDINATE_SET); GetLeftAxis()->SetCoordinate(-10, 500, COORDINATE_SET); GetBottomAxis()->GetGrid()->SetVisible(false); GetLeftAxis()->GetGrid()->SetVisible(false); if((g_cConfigIni.CurrentSystemName().Compare(PASYSTEM_NAME_GC_PX) == 0) || (g_cConfigIni.CurrentSystemName().Compare(PASYSTEM_NAME_GC1120) == 0) || (g_cConfigIni.CurrentSystemName().Compare(PASYSTEM_NAME_GC2400) == 0) || (g_cConfigIni.CurrentSystemName().Compare(PASYSTEM_NAME_GC1100W) == 0) || (g_cConfigIni.CurrentSystemName().Compare(PASYSTEM_NAME_GC1100P) == 0)) GetLeftAxis()->SetZoomLimit(0.01); else if((g_cConfigIni.CurrentSystemName().Compare(PASYSTEM_NAME_LC1620A) == 0) || (g_cConfigIni.CurrentSystemName().Compare(PASYSTEM_NAME_IC1800) == 0)) GetLeftAxis()->SetZoomLimit(0.1); else GetLeftAxis()->SetZoomLimit(0.1); GetTopAxis()->SetZoomLimit(0.1); GetRightAxis()->SetZoomLimit(0.1); GetBottomAxis()->SetZoomLimit(0.1); }
void CChartCtrl::OnMouseMove(UINT nFlags, CPoint point) { if (m_bRMouseDown && m_bPanEnabled) { if (point != m_PanAnchor) { GetLeftAxis()->PanAxis(m_PanAnchor.y,point.y); GetRightAxis()->PanAxis(m_PanAnchor.y,point.y); GetBottomAxis()->PanAxis(m_PanAnchor.x,point.x); GetTopAxis()->PanAxis(m_PanAnchor.x,point.x); RefreshCtrl(); m_PanAnchor = point; } } if (m_bLMouseDown && m_bZoomEnabled) { m_rectZoomArea.BottomRight() = point; Invalidate(); } CWnd::OnMouseMove(nFlags, point); }
void CChartCtrl::OnLButtonUp(UINT nFlags, CPoint point) { m_bLMouseDown = false; if (m_bZoomEnabled) { if ( (m_rectZoomArea.left > m_rectZoomArea.right) || (m_rectZoomArea.top > m_rectZoomArea.bottom)) { GetBottomAxis()->UndoZoom(); GetTopAxis()->UndoZoom(); GetLeftAxis()->UndoZoom(); GetRightAxis()->UndoZoom(); } else { CChartAxis* pBottom = GetBottomAxis(); double MinVal = 0; double MaxVal = 0; if (pBottom->IsInverted()) { MaxVal = pBottom->ScreenToValue(m_rectZoomArea.left); MinVal = pBottom->ScreenToValue(m_rectZoomArea.right); } else { MinVal = pBottom->ScreenToValue(m_rectZoomArea.left); MaxVal = pBottom->ScreenToValue(m_rectZoomArea.right); } pBottom->SetZoomMinMax(MinVal,MaxVal); CChartAxis* pLeft = GetLeftAxis(); if (pLeft->IsInverted()) { MaxVal = pLeft->ScreenToValue(m_rectZoomArea.bottom); MinVal = pLeft->ScreenToValue(m_rectZoomArea.top); } else { MinVal = pLeft->ScreenToValue(m_rectZoomArea.bottom); MaxVal = pLeft->ScreenToValue(m_rectZoomArea.top); } pLeft->SetZoomMinMax(MinVal,MaxVal); CChartAxis* pTop = GetTopAxis(); if (pTop->IsInverted()) { MaxVal = pTop->ScreenToValue(m_rectZoomArea.left); MinVal = pTop->ScreenToValue(m_rectZoomArea.right); } else { MinVal = pTop->ScreenToValue(m_rectZoomArea.left); MaxVal = pTop->ScreenToValue(m_rectZoomArea.right); } pTop->SetZoomMinMax(MinVal,MaxVal); CChartAxis* pRight = GetRightAxis(); if (pRight->IsInverted()) { MaxVal = pRight->ScreenToValue(m_rectZoomArea.bottom); MinVal = pRight->ScreenToValue(m_rectZoomArea.top); } else { MinVal = pRight->ScreenToValue(m_rectZoomArea.bottom); MaxVal = pRight->ScreenToValue(m_rectZoomArea.top); } pRight->SetZoomMinMax(MinVal,MaxVal); } RefreshCtrl(); } CWnd::OnLButtonUp(nFlags, point); }