void CRegisterValueAnalyzerDlg::OnBnClickedTopaxisRadio() { CChartAxis* pAxis = m_ChartCtrl.GetTopAxis(); if (pAxis->IsVisible()) ((CButton*)GetDlgItem(IDC_AXISVISIBLE_CHECK))->SetCheck(1); else ((CButton*)GetDlgItem(IDC_AXISVISIBLE_CHECK))->SetCheck(0); if (pAxis->GetGrid()->IsVisible()) ((CButton*)GetDlgItem(IDC_AXISGRIDVIS_CHECK))->SetCheck(1); else ((CButton*)GetDlgItem(IDC_AXISGRIDVIS_CHECK))->SetCheck(0); if (pAxis->IsAutomatic()) ((CButton*)GetDlgItem(IDC_AXISAUTOMATIC_CHECK))->SetCheck(1); else ((CButton*)GetDlgItem(IDC_AXISAUTOMATIC_CHECK))->SetCheck(0); if (pAxis->IsInverted()) ((CButton*)GetDlgItem(IDC_AXISINVERTED_CHECK))->SetCheck(1); else ((CButton*)GetDlgItem(IDC_AXISINVERTED_CHECK))->SetCheck(0); if (pAxis->ScrollBarEnabled()) ((CButton*)GetDlgItem(IDC_AXISSCROLLBAR_CHECK))->SetCheck(1); else ((CButton*)GetDlgItem(IDC_AXISSCROLLBAR_CHECK))->SetCheck(0); TChartString AxisLabel = pAxis->GetLabel()->GetText(); GetDlgItem(IDC_AXISLABEL_EDIT)->SetWindowText(AxisLabel.c_str()); double Min=0, Max=0; CString strBuff; pAxis->GetMinMax(Min,Max); strBuff.Format(_T("%.2f"),Min); GetDlgItem(IDC_AXISMINVAL_EDIT)->SetWindowText(strBuff); strBuff.Format(_T("%.2f"),Max); GetDlgItem(IDC_AXISMAXVAL_EDIT)->SetWindowText(strBuff); }
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); }