ObjectAtPointer

Description

Finds out where the user clicked in a graph. ObjectAtPointer reports the region of the graph under the pointer and stores the associated series and data point numbers in the designated variables.

Applies to

Graph controls in windows and user objects, and graphs in DataWindow controls

Syntax

controlname.ObjectAtPointer ( { graphcontrol, } seriesnumber, datapoint )

Argument

Description

controlname

The name of the graph object for which you want the object under the pointer, or the DataWindow control containing the graph

graphcontrol (DataWindow control only)

(Optional) A string whose value is the name of the graph in the DataWindow control for which you want the object under the pointer

seriesnumber

An integer variable in which you want to store the number of the series under the pointer

datapoint

An integer variable in which you want to store the number of the data point under the pointer

Returns

grObjectType. Returns a value of the grObjectType enumerated datatype if the user clicks anywhere in the graph (including an empty area) and a null value if the user clicks outside the graph.

Values of grObjectType and the parts of the graph associated with them are:

Usage

The ObjectAtPointer function allows you to find out how the user is interacting with the graph. The function returns a value of the grObjectType enumerated datatype identifying the part of the graph. When the user clicks in a series, data point, or category, ObjectAtPointer stores the series and/or data point numbers in designated variables.

When the user clicks a data point (or other data mark, such as line or bar), or on the series labels in the legend, ObjectAtPointer stores the series number in the designated variable.

When the user clicks on a data point or category tickmark label, ObjectAtPointer stores the data point number in the designated variable.

When the user clicks in a series, but not on the actual data point, ObjectAtPointer stores 0 in datapoint and when the user clicks in a category, ObjectAtPointer stores 0 in seriesnumber. When the user clicks other parts of the graph, ObjectAtPointer stores 0 in both variables.

NoteCall ObjectAtPointer first ObjectAtPointer is most effective as the first function call in the script for the Clicked event for the graph control. Make sure you enable the graph control (the default is disabled). Otherwise, the Clicked event script is never run.

Examples

Example 1

These statements store the series number and data point number at the pointer location in the graph named gr_product in SeriesNbr and ItemNbr. If the object type is TypeSeries! they obtain the series name, and if it is TypeData! they get the data value:

integer SeriesNbr, ItemNbr

double data_value

grObjectTypeobject_type

string SeriesName


object_type = &

		gr_product.ObjectAtPointer(SeriesNbr, ItemNbr)

IF object_type = TypeSeries! THEN

		SeriesName = &

			gr_product.SeriesName(SeriesNbr)

ELSEIF object_type = TypeData! THEN

		data_value = &

			gr_product.GetData(SeriesNbr, ItemNbr)

END IF

Example 2

These statements store the series number and data point number at the pointer location in the graph named gr_computers in the DataWindow control dw_equipment in SeriesNbr and ItemNbr:

integer SeriesNbr, ItemNbr

dw_equipment.ObjectAtPointer("gr_computers", &

		SeriesNbr, ItemNbr)

See also