User Defined Type tRMC_INFO

Every time a mouse event happens on the chart control, the appropriate mouse event in your source code gets as fifth parameter an instance of the User Defined Type tRMC_INFO with the following type members:

Member namePossible content
The following both members hold always valid informations, regardless where the mouse event happened:
nXPosX-position of the mouse pointer inside the control
nYPosY-position of the mouse pointer inside the control
If you press the left, middle (wheel) or right mouse button and move the mouse pointer over the chart, the next 2 members hold informations, which are usefully in conjunction with RMC_SetCtrlPos to move the chart control in the parent window:
nXMoveAmount of pixels, the mouse pointer moved in X-direction since the last mouse move.
nYMoveAmount of pixels, the mouse pointer moved in Y-direction since the last mouse move.
If a mouse event happens within a region's boundary, the following members hold valid informations about the region:
nRegionIndexIndex of the region.
nRLeftPosition of the left corner of the region.
nRTopPosition of the top corner of the region.
nRRightPosition of the right border of the region.
nRBottomPosition of the bottom border of the region.
If a mouse event happens within a grid's boundary, the next 6 members hold valid informations about the grid:
nGLeftPosition of the left border of the grid within the chart control.
nGTopPosition of the top border of the grid within the chart control.
nGRightPosition of the right border of the grid within the chart control.
nGBottomPosition of the bottom border of the grid within the chart control.
nGColIndex of the column of the label axis, starting with 1. With XY series: index of the rectangle, which is build by the X and Y grid lines of the first XY axis pair, starting with 1 in the lower left corner and ending in the upper right corner of the grid.
nGRowIndex of the row of the data axis, starting with 1. With XY series: index of the rectangle, which is build by the X and Y grid lines of the second XY axis pair, starting with 1 in the lower left corner and ending in the upper right corner of the grid.
The next 4 values hold informations about a "virtual" data value, which would correspond to the X/Y position of the mouse event within the grid:
nVirtData1Virtual data value, if the data point would be aligned to the first data axis. XY series: Virtual X-data value, if the data value would be aligned to the X-axis of the first axis pair.

When in Zoom/Magnifier-mode: 8 byte value of the fifth series.
nVirtData2Virtual data value, if the data point would be aligned to the second data axis (if a second axis exists). XY series: Virtual Y-data value, if the data value would be aligned to the Y-axis of the first axis pair.

When in Zoom/Magnifier-mode: 8 byte value of the sixth series.
nVirtData3Only XY series: Virtual X-data value, if the data value would be aligned to the X-axis of the second axis pair (if a second axis pair exists).

When in Zoom/Magnifier-mode: 8 byte value of the seventh series.
nVirtData4Only XY series: Virtual Y-data value, if the data value would be aligned to the Y-axis of the second axis pair (if a second axis pair exists).

When in Zoom/Magnifier-mode: 8 byte value of the eighth series.
To get informations about a series and it's objects, the mouse event must happen on an series object. With bars or objects of non-grid based series (Pie/Donut/Pyramide) it's easier to get the informations than with a line series: if you don't use one of the optional symbols to mark the data points, you must click in a quadrat of 2*2 pixels, centered by the calculated XY-position of the data, to get these informations. If you use one of the small symbols to mark the data point, the quadrat has a size of 6*6 pixels, with one of the big symbols a size of 12*12 pixels.
The next 3 members are valid for all series types:
nSeriesIndexIndex of the series, to which the object belongs.
nDataIndexIndex of the data point (starting with 1), which belongs to this object. If you clicked for example on the third bar of a bar series, nDataIndex will hold the value 3.
NOTE: If this value is a negative number, the mouse event happend on a CustomObject. The absolute number holds in this case the index of this CustomObject.
nChartTypeType of the series, to which the object belongs as a series type constant. OR: if the mouse event happened on a CustomObject, the type of this object as a CustomObject type constant.
OR: When in Zoom/Magnifier-mode: -98 if in magnifier-mode, -99 if in zoom-mode.
The following 6 (4 for CustomObjects) members describe the boundary of the chart object or CustomObject within the chart control. They are not available with non-grid based series (except for CustomObjects).
nSLeftLeft border of the object or CustomObject within the chart control.
nSTopTop border of the object or CustomObject within the chart control
nSRightRight border of the object or CustomObject within the chart control
nSBottomBottom border of the object or CustomObject within the chart control
nSTop2Only with objects of series type RMC_HIGHLOW: Y position of the open value.
nSBottom2Only with objects of series type RMC_HIGHLOW: Y position of the close value.
The following 4 members hold informations about the data values, dependend on the series type.
nData1Holds the data, which was passed for this data point. XY series: data for the X-value. HighLow series: open data.

When in Zoom/Magnifier-mode: 8 byte value of the first series.
nData2Holds the percent value, which was calculated internally for the passed absolute value, if the series type requires a percent value. XY series: data for the Y-value. HighLow series: high data.

When in Zoom/Magnifier-mode: 8 byte value of the second series.
nData3Only HighLow series: low data.

When in Zoom/Magnifier-mode: 8 byte value of the third series.
nData4Only HighLow series: close data.

When in Zoom/Magnifier-mode: 8 byte value of the fourth series.