/* * * ChartCrossHairCursor.h * * Written by Cédric Moonen (cedric_moonen@hotmail.com) * * * * This code may be used for any non-commercial and commercial purposes in a compiled form. * The code may be redistributed as long as it remains unmodified and providing that the * author name and this disclaimer remain intact. The sources can be modified WITH the author * consent only. * * This code is provided without any garanties. I cannot be held responsible for the damage or * the loss of time it causes. Use it at your own risks * * An e-mail to notify me that you are using this code is appreciated also. * * */ #ifndef _CHARTCROSSHAIRCURSOR_H_ #define _CHARTCROSSHAIRCURSOR_H_ #include "ChartCursor.h" class CChartAxis; //! Specialization of a CChartCursor class for a cross-hair cursor. /** A cross-hair cursor is a simple cross displayed in the plotting area. The cursor moves along with the mouse (but stay within the bounds of the plot area).
To create a cross-hair cursor, call the CreateCrossHairCursor from the CChartCtrl class. **/ class CChartCrossHairCursor : public CChartCursor { friend CChartCtrl; protected: //! Called when the mouse is moved over the plot area. void OnMouseMove(CPoint mousePoint); //! Draws the cursor. void Draw(CDC* pDC); private: //! Constructor /** @param pParent The parent charting control @param pHorizAxis The associated horizontal axis @param pVertAxis The associated vertical axis **/ CChartCrossHairCursor(CChartCtrl* pParent, CChartAxis* pHorizAxis, CChartAxis* pVertAxis); //! Destructor ~CChartCrossHairCursor(); //! The associated horizontal axis CChartAxis* m_pHorizontalAxis; //! The associated vertical axis CChartAxis* m_pVerticalAxis; //! The current X screen position long m_lXPos; //! The current Y screen position long m_lYPos; }; #endif // _CHARTCROSSHAIRCURSOR_H_