Exontrol.ExGraph - Information, Features

ExGraph

The Exontrol's ExGraph component is a versatile tool designed to meet the diverse needs of data visualization. With support for numerous chart types, it empowers users to represent their data in various formats, from simple line charts to complex radar charts, all within the same view. In addition to its extensive charting capabilities, our graph control offers seamless printing and print preview functionality, ensuring that users can easily generate hard copies of their charts with precision and clarity. The exGraph library lets the user changes its visual appearance using skins, each one providing an additional visual experience that enhances viewing pleasure.

Features include:
  • Numerous chart types (xy, polar, radar, area or pie) to different axes in the same view
  • Print and Print Preview support
  • Overview, Cursor, Legend support
  • Resize, Scroll support
  • WYSWYG Template/Layout Editor support
  • Skinnable Interface support ( ability to apply a skin to any background part )
  • ADO, DAO, DataSource/DataMember support
  • and more

® ExGraph is a trademark of Exontrol. All Rights Reserved.


Exontrol - Support

How to get support?

To keep your business applications running, you need support you can count on.

Here are few hints what to do when you're stuck on your programming:

  • Check out the samples - they are here to provide some quick info on how things should be done
  • Check out the how-to questions using the eXHelper tool
  • Check out the help - includes documentation for each method, property or event
  • Check out if you have the latest version, and if you don't have it send an update request here.
  • Submit your problem(question) here.

Don't forget that you can contact our development team if you have ideas or requests for new components, by sending us an e-mail at support@exontrol.com ( please include the name of the product in the subject, ex: exgrid ) . We're sure our team of developers will try to find a way to make you happy - and us too, since we helped.

Regards,
Exontrol Development Team

https://www.exontrol.com


constants AlignEnum
The AlignEnum type specifies object's alignment. The AlignEnum type supports the following values:

Name | Value | Description
exAlignDefault | -1 | For instance, the category-axis is aligned to bottom/right side of the view
exAlignTop | 0 | Justifies the object to the top of the view
exAlignLeft | 0 | Aligns object to the left
exAlignCenter | 1 | Centers object horizontally in the view
exAlignRight | 2 | Aligns object to the right
exAlignVCenter | 4 | Centers object vertically
exAlignBottom | 8 | Justifies the object to the bottom of the view


constants AlignmentEnum
The AlignmentEnum type specifies the object's alignment. The AlignmentEnum type supports the following values:

Name | Value | Description
LeftAlignment | 0 | The source is left aligned.
CenterAlignment | 1 | The source is centered.
RightAlignment | 2 | The source is right aligned.


constants AppearanceEnum
The AppearanceEnum enumeration is used to specify the control's appearance. The Appearance retrieves or sets the control's appearance.

Name | Value | Description
None2 | 0 | The source has no borders.
Flat | 1 | Flat border
Sunken | 2 | Sunken border
Raised | 3 | Raised border
Etched | 4 | Etched border
Bump | 5 | Bump border


constants BackgroundPartEnum
The BackgroundPartEnum type indicates parts in the control. Use the Background property to specify a background color or a visual appearance for specific parts in the control. A Color expression that indicates the background color for a specified part. The last 7 bits in the high significant byte of the color to indicates the identifier of the skin being used. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the background's part.

Name | Value | Description
exToolTipAppearance | 64 | Indicates the visual appearance of the borders of the tooltips. Use the ToolTipPopDelay property specifies the period in ms of time the ToolTip remains visible if the mouse pointer is stationary within a control. The ToolTipDelay property specifies the time in ms that passes before the ToolTip appears. Use the ShowToolTip method to display a custom tooltip.
exToolTipBackColor | 65 | Specifies the tooltip's background color.
exToolTipForeColor | 66 | Specifies the tooltip's foreground color.
exOverviewSelResize | 199 | Specifies the visual appearance to show and use the left/ resize-margins of the overview's selection. The Visible property specifies whether the overview window is visible or hidden. The Size property specifies the size of the control's overview.
exOverviewSelOut | 200 | Specifies the visual-appearance to display the left/right parts outside of the overview-selection. The Visible property specifies whether the overview window is visible or hidden. The Size property specifies the size of the control's overview.
exOverviewSel | 202 | Specifies the background color / visual appearance to display the overview-selection. The Visible property specifies whether the overview window is visible or hidden. The Size property specifies the size of the control's overview.
exOverviewSelTransparent | 203 | Specifies the percent of transparency to show the overview-selection (0 indicates opaque, 50% indicates semi-transparent, and 100% indicates fully transparent). The Visible property specifies whether the overview window is visible or hidden. The Size property specifies the size of the control's overview.
exLegendUnit | 204 | Defines the visual-appearance of the legend-unit (the client-rectangle that covers the symbol and label of the legend-object) of the visible-series within the map legend. The Visible property shows or hides the legend. The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Pad property defines the legend's padding (space between legend's symbol and label).
exLegendUnitHidden | 205 | Defines the visual-appearance of the legend-unit (the client-rectangle that covers the symbol and label of the legend-object) of the hidden-series within the map legend. The Visible property shows or hides the legend. The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Pad property defines the legend's padding (space between legend's symbol and label).
exLegendSymbol | 206 | Defines the visual-appearance of the symbols of the visible-series within the map legend. The Visible property shows or hides the legend. The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Pad property defines the legend's padding (space between legend's symbol and label).
exLegendSymbolHidden | 207 | Defines the visual-appearance of the symbols of the hidden-series within the map legend. The Visible property shows or hides the legend. The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Pad property defines the legend's padding (space between legend's symbol and label).
exLegendLabel | 208 | Defines the visual-appearance of the labels of the visible-series within the map legend. The Visible property shows or hides the legend. The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Pad property defines the legend's padding (space between legend's symbol and label).
exLegendLabelHidden | 209 | Defines the visual-appearance of the labels of the hidden-series within the map legend. The Visible property shows or hides the legend. The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Pad property defines the legend's padding (space between legend's symbol and label).
exAxisCursorTooltipTransparent | 210 | Defines the percentage of transparency for displaying tooltips on axes.
exSerieCursorTooltipTransparent | 211 | Defines the percentage of transparency for displaying tooltips on series.


constants DrawTextFormatEnum
The DrawTextFormatEnum type specifies the flags to draw a text. The DrawTextFormatEnum type supports the following flags:

Name | Value | Description
exTextAlignTop | 0 | Justifies the text to the top of the rectangle
exTextAlignLeft | 0 | Aligns text to the left
exTextAlignCenter | 1 | Centers text horizontally in the rectangle
exTextAlignRight | 2 | Aligns text to the right
exTextAlignVCenter | 4 | Centers text vertically
exTextAlignBottom | 8 | Justifies the text to the bottom of the rectangle
exTextAlignMask | 15 | Specifies the mask for text's alignment
exTextWordBreak | 16 | Breaks words. Lines are automatically broken between words if a word would extend past the edge of the rectangle specified by the lpRect parameter. A carriage return-line feed sequence also breaks the line. If this is not specified, output is on one line.
exTextSingleLine | 32 | Displays text on a single line only. Carriage returns and line feeds do not break the line.
exTextExpandTabs | 64 | Expands tab characters. The default number of characters per tab is eight.
exPlainText | 128 | Treats the text as plain text
exTextNoClip | 256 | Draws without clipping
exHTMLTextNoColors | 512 | Ignores the <fgcolor> and <bgcolor> tags
exTextCalcRect | 1024 | Determines the width and height of the text
exHTMLTextNoTags | 2048 | Ignores all HTML tags
exTextPathEllipsis | 16384 | For displayed text, replaces characters in the middle of the string with ellipses so that the result fits in the specified rectangle. If the string contains backslash (\) characters, exTextPathEllipsis preserves as much as possible of the text after the last backslash.
exTextEndEllipsis | 32768 | For displayed text, if the end of a string does not fit in the rectangle, it is truncated and ellipses are added. If a word that is not at the end of the string goes beyond the limits of the rectangle, it is truncated without ellipses.
exTextWordEllipsis | 262144 | Truncates any word that does not fit in the rectangle and adds ellipses.


constants LegendAlignEnum
The LegendAlignEnum type specifies the alignment of the legend's content. The Align property specifies the alignment of the legend's content. The LegendAlignEnum type supports the following values:

Name | Value | Description
exStart | 0 | The legend's content is aligned to the left or top side of the view
exCenter | 1 | The legend's content is centered
exEnd | 2 | The legend's content is aligned to the right or bottom side of the view


constants LegendFlowEnum
The LegendFlowEnum type determines whether the legend objects are arranged from left to right or top to bottom. The Flow property specifies whether the legend objects are arranged from left to right or top to bottom. The LegendFlowEnum type supports the following values:

Name | Value | Description
exAuto | -1 | The legend items are arranged horizontally from left to right when the legend panel is anchored to the top/bottom side of the view. Alternatively, they are arranged vertically from top to bottom when the legend panel is anchored to the left/right side of the view.
exLeftToRight | 0 | The exLeftToRight mode indicates that the next legend object gets arranged to the right of the current legend object
exTopToBottom | 1 | The exTopToBottom mode indicates that the next legend object gets arranged to the bottom of the current legend object


constants LegendSymbolAlignmentEnum
The LegendSymbolAlignmentEnum type defines the alignment of the symbol of the serie relative to the label of the serie. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The LegendSymbolAlignmentEnum type supports the following method and properties:

Name | Value | Description
exSymbolHide | 0 | Hides the symbols of the series
exSymbolTop | 1 | The symbol of the serie is shown on the top of the label. The exSymbolTop flag can be combined with exSymbolStart, exSymbolCenter or exSymbolEnd values.
exSymbolBottom | 2 | The symbol of the serie is shown below the label. The exSymbolBottom flag can be combined with exSymbolStart, exSymbolCenter or exSymbolEnd values.
exSymbolLeft | 3 | The symbol of the serie is shown to the left of the label. The exSymbolLeft flag can be combined with exSymbolStart, exSymbolCenter or exSymbolEnd values
exSymbolRight | 4 | The symbol of the serie is shown to the right of the label. The exSymbolRight flag can be combined with exSymbolStart, exSymbolCenter or exSymbolEnd values.
exSymbolFill | 5 | The symbol of the serie is shown on the label's background (no extra space is allocated)
exSymbolStart | 0 | The symbol of the serie is left/top-aligned relative to the label. The exSymbolStart flag can be combined with exSymbolTop, exSymbolBottom, exSymbolLeft or exSymbolRight values.
exSymbolCenter | 16 | The symbol of the serie is centered relative to the label. The exSymbolCenter flag can be combined with exSymbolTop, exSymbolBottom, exSymbolLeft or exSymbolRight values.
exSymbolEnd | 32 | The symbol of the serie is right/bottom-aligned relative to the label. The exSymbolEnd flag can be combined with exSymbolTop, exSymbolBottom, exSymbolLeft or exSymbolRight values.


constants MiscEnum
The MiscEnum type holds miscellaneous options of the control. The Misc property defines the control's miscellaneous options. The MiscEnum type supports the following values:

Name Value Description
exBaseMajorUnits 1

Defines the base major-units alternatives (separated by comma) the control uses to calculate the major-unit for the axes.

  • "1,2.5,5" {string}, specifies that values of 1, 2.5 and 5 or any multiple or subdivision can be a major-unit
  • "1,5" {string}, specifies that values of 1 and 5 or any multiple (10,50,100,...) or subdivision (0.1,0.5,0.01,...) can be a major-unit

By default, the exBaseMajorUnits option is "1,2,2.5,5".

(string expression)
exRangeMajorUnits 2 Defines the inferior and superior limits of the number of major-unit intervals an axis can display.
  • "5,10" {string}, any count of major-unit intervals between 5 and 10 is accepted

By default, the exRangeMajorUnits option is "5,10".

(string expression)
exDigits 3 Specifies the number of digits to appear after the decimal point
  • -1 {number}, no conversion is performed
  • 0 {number}, all numeric-values are displayed as integers
  • 2 {number}, all numeric-values show up to two-decimals

By default, the exDigits option is 2.

(integer expression)
extVisibleBeforeAxis 4 Indicates the minimum portion (as a proportion of major unit, as a numeric-value between 0 and 1) to extend the axis before the first value of the serie (minimum value)
  • 0 {number}, specifies that the axis is not extended before the first value of the serie (minimum value)

By default, the extVisibleBeforeAxis option is 0.0.

(double expression)
extVisibleAfterAxis 5 Indicates the minimum portion (as a proportion of major unit, as a numeric-value between 0 and 1) to extend the axis after the last value of the serie (maximum value)
  • 0 {number}, specifies that the axis is not extended after the last value of the serie (maximum value)

By default, the extVisibleAfterAxis option is 0.5.

(double expression)
exCategoryAxisSize 6 Specifies the size (height for horizontal axis and width for vertical axis) to display the category-axis (line and ticks)
  • 0 {number}, specifies that the line and ticks of the category-axis is not shown at all
  • 4 {number}, the category-axis line and ticks are shown on a portion of 4-pixels tall

By default, the exCategoryAxisSize option is 4.

(integer expression)
exCategoryAxisPad 7 Specifies the padding for labels and title of the category-axis
  • 0 {number}, no padding for for labels and title
  • 4 {number}, sets a 4-pixels padding

By default, the exCategoryAxisPad option is 4.

(integer expression)
exValueAxisSize 8 Specifies the size (height for horizontal axis and width for vertical axis) to display the category-axis (line and ticks)
  • 0 {number}, specifies that the line and ticks of the category-axis is not shown at all
  • 4 {number}, the category-axis line and ticks are shown on a portion of 4-pixels tall

By default, the exValueAxisSize option is 4.

(integer expression)
exValueAxisPad 9 Specifies the padding for labels and title of the value-axis
  • 0 {number}, no padding for for labels and title
  • 4 {number}, sets a 4-pixels padding

By default, the exValueAxisPad option is 4.

(integer expression)
exUpdateRangeOnScroll 10 Specifies the time in ms to update the chart's minimum and maximum values while user scrolls the chart (0 indicates that the chart's minimum and maximum values are updated only when changing the data)
  • 0 {number}, the chart's minimum and maximum values are updated once the data is changed
  • 64 {number}, the chart's minimum and maximum values are updated in 64 ms after user scrolls the chart

By default, the exUpdateRangeOnScroll option is 128.

(integer expression)
exMarginValueRatio 11 Specifies the distance (proportionally with the valueSize property) between the first and last value of the same category and its border. The ValueSize property specifies the size to show a column or a bar within the chart
  • 0 {number}, no margins are defined
  • 0.25 {number}, the margin is defined as 1/4 of valueSize

By default, the exMarginValueRatio option is 0.25.

(double expression)
exPaddingValueRatio 12 Specifies the distance (proportionally with the valueSize property) between two values of the same category. The ValueSize property specifies the size to show a column or a bar within the chart
  • 0 {number}, no margins are defined
  • 0.125 {number}, the margin is defined as 1/8 of valueSize

By default, the exPaddingValueRatio option is 0.125.

(double expression)
exValueAxisFitLabel 13 Ensures that the marginal labels of the value-axis ensure fit the axis's client-rectangle.
  • false {boolean}, no change
  • true {boolean}, the marginal labels are moved to fit the axis's client-rectangle

By default, the exValueAxisFitLabel option is false.

(boolean expression)
exRadarPolygonal 14 Specifies whether the radar-compatible chart-types (radararea,radarline,radarcolumn) show as polygonal instead of circular.
  • false {boolean}, the circular-compatible charts show elliptical
  • true {boolean}, the circular-compatible charts show polygonal

By default, the exRadarPolygonal option is false.

(boolean expression)
exCircularStartAngle 15 Specifies the angle (in degrees) to start the circular-compatible charts (radial or pie).
  • 0 {number}, the circular-compatible charts start horizontally
  • -90 {number}, the circular-compatible charts start vertically

By default, the exCircularStartAngle option is -90.0.

(double expression)
exRadialRotateLabels 16 Specifies whether the radial-labels are rotated around the chart.
  • false {boolean}, the labels are horizontally shown
  • true {boolean}, the labels are rotated shown

By default, the exRadialRotateLabels option is true.

(boolean expression)
exNewLayoutOnVisibleChange 17 Specifies whether the control requests for a new layout once the serie's visible property is changed.
  • false {boolean}, the serie is just hidden, while the minimum-maximum values are kept
  • true {boolean}, the control computes a new layout once the serie's visible property is changed (requests for new minimum-maximum values)

By default, the exNewLayoutOnVisibleChange option is true.

(boolean expression)
exPaddingInsidePie 18 Specifies the padding between rings of the "pie" chart-type (should be zero or a positive value).
  • 0 {number}, specifies that no padding between rings of the "pie" chart-type
  • 12 {number}, the distance between rings of the "pie" chart-type, is 12 pixels

By default, the exPaddingInsidePie option is 0.0.

(double expression)
exValueDistInnerCircular 19 Specifies the distance from the edge of the inner circle where the values are displayed.
  • 0 {number}, the values are displayed on the edge of the circle
  • -18 {number}, values are shown inside the circle near the edge
  • 18 {number}, values are displayed outside the circle near the edge

By default, the exValueDistInnerCircular option is 0.

(integer expression)
exValueDistOuterCircular 20 Specifies the distance from the edge of the outer circle where the values are displayed.
  • 0 {number}, the values are displayed on the edge of the circle
  • -18 {number}, values are shown inside the circle near the edge
  • 18 {number}, values are displayed outside the circle near the edge

By default, the exValueDistOuterCircular option is 18.

(integer expression)
exValueLineExt 21 Specifies the distance to extend the value-line by.
  • 0 {number}, no effect
  • 4 {number}, the value-line is extended by 4 pixels

By default, the exValueLineExt option is 4.

(integer expression)
exValueLineAddAngle 22 Specifies the additional angle (in degrees) the value-line is rotated by, as explained:
  • empty {empty}, no effect
  • negative or 0 {number}, if negative or zero all value-lines are rotated by exact angle
  • positive {number}, if positive the value-lines are rotated additionally by specific angle
Here's a few sample:
  • 0 {number}, shows vertically value-lines (the value is displayed on top)
  • -180 {number}, shows vertically value-lines (the value is displayed on bottom)
  • -45 {number}, the value-line is rotated anti-clockwise by 45 degrees
  • 45 {number}, the value-line is rotated additionally by 45 degrees

By default, the exValueLineAddAngle option is vtEmpty.

(variant expression)
exValueLineUpAngle 23 Specifies the angle (in degrees) the value-line is rotated by, when the values goes up. The valueLineUpAngle/valueLineDownAngle has effect for charts of the following types:
  • "area" {string}, an area chart or area graph displays graphically quantitative data. It is based on the line chart. The area between axis and line are commonly emphasized with colors, textures and hatchings. Commonly one compares two or more quantities with an area chart. (data requires array of numbers, supports vertical field, scrollable)
  • "line" {string}, a line chart or line graph, also known as curve chart is a type of chart which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields. It is similar to a scatter plot except that the measurement points are ordered (typically by their x-axis value) and joined with straight line segments. A line chart is often used to visualize a trend in data over intervals of time - a time series - thus the line is often drawn chronologically. In these cases they are known as run charts. (data requires array of numbers, supports vertical field, scrollable)
  • "column" {string}, a column chart or column graph is a chart or graph that presents categorical data with rectangular columns with heights proportional to the values that they represent. A horizontal column chart is called a bar chart. (data requires array of numbers, supports vertical field, scrollable)
  • "waterfall" {string}, a waterfall chart is a form of data visualization that helps in understanding the cumulative effect of sequentially introduced positive or negative values. These intermediate values can either be time based or category based. The waterfall chart is also known as a flying bricks chart or Mario chart due to the apparent suspension of columns (bricks) in mid-air. Often in finance, it will be referred to as a bridge. (data requires array of numbers, supports vertical field, scrollable)
  • "rangeArea" {string}, a range chart displays sets of data points, each of which is defined by multiple values for the same category, and emphasizes the distance between the two values. The category labels are displayed on the category axis. The plain Range chart fills in the area between the top and the bottom value for each data point. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "rangeColumn" {string}, a range column chart displays information as a range of data by plotting two Y-values (low and high) per data point. The vertical axis shows the values, and the horizontal axis shows the categories they belong to; in multiple-series range column charts, values are grouped by categories. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable

Here's a few samples:

  • 0 {number}, shows vertically value-lines (the value is displayed on top)
  • -180 {number}, shows vertically value-lines (the value is displayed on bottom)
  • -45 {number}, the value-line is rotated anti-clockwise by 45 degrees
  • 45 {number}, the value-line is rotated clockwidt by 45 degrees

By default, the exValueLineUpAngle option is 45.0.

(double expression)
exValueLineDownAngle 24 Specifies the angle (in degrees) the value-line is rotated by, when the values goes down. The valueLineUpAngle/valueLineDownAngle has effect for charts of the following types:
  • "area" {string}, an area chart or area graph displays graphically quantitative data. It is based on the line chart. The area between axis and line are commonly emphasized with colors, textures and hatchings. Commonly one compares two or more quantities with an area chart. (data requires array of numbers, supports vertical field, scrollable)
  • "line" {string}, a line chart or line graph, also known as curve chart is a type of chart which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields. It is similar to a scatter plot except that the measurement points are ordered (typically by their x-axis value) and joined with straight line segments. A line chart is often used to visualize a trend in data over intervals of time - a time series - thus the line is often drawn chronologically. In these cases they are known as run charts. (data requires array of numbers, supports vertical field, scrollable)
  • "column" {string}, a column chart or column graph is a chart or graph that presents categorical data with rectangular columns with heights proportional to the values that they represent. A horizontal column chart is called a bar chart. (data requires array of numbers, supports vertical field, scrollable)
  • "waterfall" {string}, a waterfall chart is a form of data visualization that helps in understanding the cumulative effect of sequentially introduced positive or negative values. These intermediate values can either be time based or category based. The waterfall chart is also known as a flying bricks chart or Mario chart due to the apparent suspension of columns (bricks) in mid-air. Often in finance, it will be referred to as a bridge. (data requires array of numbers, supports vertical field, scrollable)
  • "rangeArea" {string}, a range chart displays sets of data points, each of which is defined by multiple values for the same category, and emphasizes the distance between the two values. The category labels are displayed on the category axis. The plain Range chart fills in the area between the top and the bottom value for each data point. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "rangeColumn" {string}, a range column chart displays information as a range of data by plotting two Y-values (low and high) per data point. The vertical axis shows the values, and the horizontal axis shows the categories they belong to; in multiple-series range column charts, values are grouped by categories. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable

Here's a few samples:

  • 0 {number}, shows vertically value-lines (the value is displayed on top)
  • -180 {number}, shows vertically value-lines (the value is displayed on bottom)
  • -45 {number}, the value-line is rotated anti-clockwise by 45 degrees
  • 45 {number}, the value-line is rotated clockwidt by 45 degrees

By default, the exValueLineDownAngle option is -135.0.

(double expression)
exValueSizeRange 25 Specifies the lower and upper margins of the valueSize property. The valueSize field specifies the size to show a column or a bar within the chart of area-compatible type. The valueSizeRange field can be any of the following type:
  • valueSizeRange {number}, specifies the lower limit the valueSize can be
  • valueSizeRange {string}, specifies a two-elements array of "min,max" type that defines the lower and upper margins of the valueSize. The negative max value indicates no upper limit (no effect)

For instance:

  • 4 {number}, specifies the lower limit the valueSize can be is 4
  • "8,128" {string}, specifies the the valueSize can be between 8 and 128

By default, the exValueSizeRange option is 2.0.

(variant expression)
exShowTicksIf 26 Specifies the category-unit's minimum size so the category-ticks are visible.
  • 8 {number}, category-ticks are visible is the category-unit size is greater than 8 pixels

By default, the exShowTicksIf option is 12.

(integer expression)
exShowGridLinesIf 27 Specifies the category-unit's minimum size so the category grid-lines are visible.
  • 8 {number}, category grid-lines are visible is the category-unit size is greater than 8 pixels

By default, the exShowGridLinesIf option is 18.

(integer expression)
exShowLabelsIf 28 Specifies the category-unit's minimum size so the category labels are visible.
  • 18 {number}, category labels are visible is the category-unit size is greater than 18 pixels

By default, the exShowLabelsIf option is 24.

(integer expression)
exShowValueIf 29 Specifies the category-unit's minimum size so the data-values are visible.
  • 18 {number}, data-values are visible is the category-unit size is greater than 18 pixels

By default, the exShowValueIf option is 24.

(integer expression)
exCursorTrans 30 (reserved) Defines the transitions (separated by comma) the tooltips of the cursor perform while the pointer hovers the chart.
  • "" {string}, the cursor performs only linear transitions
  • "ease" {string}, the cursor performs only ease transitions

By default, the exCursorTrans option is "linear,ease-in,ease-out,ease".

(string expression)
exAllowValueScroll 31 Indicates a positive number that defines whether the value-scroll is visible or hidden (valid for area-type charts only). The value-scroll is the vertical-scroll bar for horizontal charts (categories goes horizontally), and horizontal scroll bars for vertical charts (categories goes vertically). By default, the control shows no value-scroll.
  • 0 {number}, the value-scroll is not visible
  • 2 {number}, the value-scroll is always visible, as the view uses twice the space of the page to show the values

By default, the exAllowValueScroll option is 0.0.

(double expression)


constants PanelDockEnum
The PanelDockEnum type defines the edge the legend or overview panel is anchored to. For instance, the Dock property of the Overview object specifies the edge the overview panel is anchored to. The PanelDockEnum type supports the following properties and methods:

Name | Value | Description
exTop | 1 | The legend(overview) is anchored to the top side of the view
exBottom | 2 | The legend(overview) is anchored to the bottom side of the view
exLeft | 3 | The legend(overview) is anchored to the left side of the view
exRight | 4 | The legend(overview) is anchored to the right side of the view


constants PictureDisplayEnum
Specifies how a picture object is displayed.

Name | Value | Description
UpperLeft | 0 | Aligns the picture to the upper left corner.
UpperCenter | 1 | Centers the picture on the upper edge.
UpperRight | 2 | Aligns the picture to the upper right corner.
MiddleLeft | 16 | Aligns horizontally the picture on the left side, and centers the picture vertically.
MiddleCenter | 17 | Puts the picture on the center of the source.
MiddleRight | 18 | Aligns horizontally the picture on the right side, and centers the picture vertically.
LowerLeft | 32 | Aligns the picture to the lower left corner.
LowerCenter | 33 | Centers the picture on the lower edge.
LowerRight | 34 | Aligns the picture to the lower right corner.
Tile | 48 | Tiles the picture on the source.
Stretch | 49 | The picture is resized to fit the source.


constants ScrollBarEnum
The ScrollBarEnum type specifies the vertical or horizontal scroll bar in the control. Use the ScrollBars property to specify whether the vertical or horizontal scroll bar is visible or hidden. Use the ScrollPartVisible property to specify the visible parts in the control's scroll bars.

Name | Value | Description
exVScroll | 0 | Indicates the vertical scroll bar.
exHScroll | 1 | Indicates the horizontal scroll bar.


constants ScrollBarsEnum
Specifies which scroll bars will be visible on a control. The ScrollBars property of the control specifies the scroll bars being visible in the control. By default, the ScrollBars property is exBoth, which indicates that both scroll bars of the component are being displayed only when they require. The ScrollPos property determines the position of the control's scroll bars. The ScrollWidth property specifies the width in pixels, of the vertical scroll bar. The ScrollHeight property specifies the height in pixels of the horizontal scroll bar. The ScrollOrderParts property specifies the order to display the parts of the scroll bar ( buttons, thumbs and so on ). The ScrollPartCaption property specifies the caption to be shown on any part of the scroll bar. Use the ScrollPos property to programmatically scrolls the chart.

The ScrollBars property supports a bitwise OR combination of the following values:

Name | Value | Description
exNoScroll | 0 | No scroll bars are shown
exHorizontal | 1 | Only horizontal scroll bars are shown.
exVertical | 2 | Only vertical scroll bars are shown.
exBoth | 3 | Both horizontal and vertical scroll bars are shown.
exDisableNoHorizontal | 5 | The horizontal scroll bar is always shown, it is disabled if it is unnecessary.
exDisableNoVertical | 10 | The vertical scroll bar is always shown, it is disabled if it is unnecessary.
exDisableBoth | 15 | Both horizontal and vertical scroll bars are always shown, disabled if they are unnecessary.
exHScrollOnThumbRelease | 256 | Scrolls the control's content when the user releases the thumb of the horizontal scroll bar. Use this option to specify that the user scrolls the control's content when the thumb of the scroll box is released.
exVScrollOnThumbRelease | 512 | Scrolls the control's content when the user releases the thumb of the vertical scroll bar. Use this option to specify that the user scrolls the control's content when the thumb of the scroll box is released.


constants ScrollPartEnum
The ScrollPartEnum type defines the parts in the control's scrollbar. Use the ScrollPartVisible property to specify the visible parts in the control's scroll bar. Use the ScrollPartCaption property to specify the caption being displayed in any part of the control's scrollbar. The control fires the ScrollButtonClick event when the user clicks any button in the control's scrollbar.

Name | Value | Description
exExtentThumbPart | 65536 | The thumb-extension part.
exLeftB1Part | 32768 | (L1) The first additional button, in the left or top area. By default, this button is hidden.
exLeftB2Part | 16384 | (L2) The second additional button, in the left or top area. By default, this button is hidden.
exLeftB3Part | 8192 | (L3) The third additional button, in the left or top area. By default, this button is hidden.
exLeftB4Part | 4096 | (L4) The forth additional button, in the left or top area. By default, this button is hidden.
exLeftB5Part | 2048 | (L5) The fifth additional button, in the left or top area. By default, this button is hidden.
exLeftBPart | 1024 | (<) The left or top button. By default, this button is visible.
exLowerBackPart | 512 | The area between the left/top button and the thumb. By default, this part is visible.
exThumbPart | 256 | The thumb part or the scroll box region. By default, the thumb is visible.
exUpperBackPart | 128 | The area between the thumb and the right/bottom button. By default, this part is visible.
exBackgroundPart | 640 | The union between the exLowerBackPart and the exUpperBackPart parts. By default, this part is visible.
exRightBPart | 64 | (>) The right or down button. By default, this button is visible.
exRightB1Part | 32 | (R1) The first additional button in the right or down side. By default, this button is hidden.
exRightB2Part | 16 | (R2) The second additional button in the right or down side. By default, this button is hidden.
exRightB3Part | 8 | (R3) The third additional button in the right or down side. By default, this button is hidden.
exRightB4Part | 4 | (R4) The forth additional button in the right or down side. By default, this button is hidden
exRightB5Part | 2 | (R5) The fifth additional button in the right or down side. By default, this button is hidden.
exRightB6Part | 1 | (R6) The sixth additional button in the right or down side. By default, this button is hidden.
exPartNone | 0 | No part.


constants SerieMiscEnum
The Misc property defines the serie's miscellaneous options. The following miscellaneous options are available:

Name Value Description
exScatterPlotSize 1 Specifies the radius to show the plot on scatter-type charts. For "bubble" chart- type, it defines the maximum radius to show the bubbles within the chart.
  • 128, defines the maximum radius to show the bubbles within the chart ( for "bubble" chart- type only )

By default, the exScatterPlotSize option is 6.

(numeric expression)
exCandleStickSize 2 Specifies the size to display the candle-stick.
  • 2, indicates a ticker candle line

By default, the exCandleStickSize option is 1.

(numeric expression)
exCandleAllowHollow 3 The exCandleAllowHollow feature denotes that the "candleStick" or "ohlc" chart type enables the presentation of hollow representations. This indicates instances where the closing price exceeds the opening price, resulting in candlesticks characterized by unfilled bodies.
  • false, disable hallow feature

By default, the exCandleAllowHollow option is true.

(boolean expression)
exSplineTension 4 Controls the tightness or looseness of the curve between control points (a higher tension value will result in a tighter curve, whereas a lower tension value will produce a more relaxed curve). The Style property indicates the way the values of the serie get connected.
  • 1, the curve exhibits a rectangular shape rather than being rounded.

By default, the exSplineTension option is 0.0.

(numeric expression between 0 and 1)
exSplineAlpha 5 Serves as a tension control, influencing the curvature of the resulting spline between control points (a higher alpha value leads to a smoother curve, while a lower value produces a more rigid interpolation that closely follows the control points). The Style property indicates the way the values of the serie get connected.
  • 1, the curve is characterized by more tension

By default, the exSplineAlpha option is 0.5.

(numeric expression between 0 and 1)
exLineSize 6 Specifies the size of the line (frame). The Type property defines the type of the serie. The exLineSize property specifies the size for linear chart-types such as "line", "radarLine", ... or the size of the frame around the pies for "pie" chart-types
  • 4, indicates a ticker line

By default, the exLineSize option is 1.

(numeric expression)
exPieFrameColor 7 Indicates the color to show the frame around the pies. This color property accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively. The Type property defines the type of the serie. The exPieFrameColor property defines the color to show the frame around the pies, for "pie" chart-types
  • "black", shows the frame around the pies in black

By default, the exPieFrameColor option is "white".

(string expression)


constants SerieStyleEnum
The Style property indicates the way the values of the serie get connected. The style has effect if serie's type is one of the following:
  • "line"
  • "area"
  • "radarLine"
  • "radarArea"
  • "polarLine"
  • "polarArea"

The SerieStyleEnum type defines the type of curves the control supports. The SerieStyleEnum type defines the following constants:

Name | Value | Description
exNormal | 0 | the values get connected with a straight line
exSpline | 1 | the values get connected with a spline curve


constants ShowCursorCategoryLineEnum
The ShowCursorCategoryLineEnum type defines the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart. The ShowCursorCategoryLine property specifies the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart. The ShowCursorCategoryLineEnum type supports the following properties and methods:

Name | Value | Description
exCursorCategoryHide | 0 | The vertical/horizontal category/x-line is hidden
exCursorCategoryShowNear | 1 | The vertical/horizontal category/x-line is shown when the pointer is near the category
exCursorCategoryShowAsIs | 2 | The vertical/horizontal category/x-line is shown at pointer position (default)


constants ShowCursorSerieTooltipEnum
The ShowCursorSerieTooltipEnum type defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series. The ShowCursorSerieTooltip property defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series. The ShowCursorSerieTooltipEnum type supports the following properties and method:

Name | Value | Description
exCursorSerieHide | 0 | No tooltip is displayed when the crosshair cursor hovers the chart
exCursorSerieShowNear | 1 | The vertical/horizontal category/x-line indicates the series whose tooltip is displayed, when the crosshair cursor hovers the chart
exCursorSerieShowExact | 2 | The pointer indicates the series whose tooltip is displayed, when the crosshair cursor hovers its chart
exCursorSerieShowAll | 3 | Displays all tooltips for all series of the category unit being indicated by the vertical/horizontal category/x-line


constants ShowValueEnum
The ShowValue property shows or hides the serie's value-points, value-lines and values. The ShowValueEnum type indicates the flags to show value on the chart. The ShowValueEnum type supports the following contents:

Name | Value | Description
exHide | 0 | No point, line or value is shown
exPoint | 1 | Specifies that the value-point is displayed. The valuePoint shape defines the visual appearance of the value-point.
exLine | 2 | Specifies that the guided line to value is displayed. The valueLine shape defines the visual appearance of the guided line to value
exValue | 4 | Indicates that the value itself is shown
exHideIfEmpty | 128 | Hides the value-point, value-line and value itself if the value is empty


Appearance object
The component lets the user changes its visual appearance using skins, each one providing an additional visual experience that enhances viewing pleasure. Skins are relatively easy to build and put on any part of the control. The Appearance object holds a collection of skins. The Background property specifies a background color or a visual appearance for different parts of the control. Use the Refresh method to refresh the control.

The Appearance object supports the following properties and methods:

Name | Description
Add | Adds or replaces a skin object to the control.
Clear | Removes all skins in the control.
Remove | Removes a specific skin from the control.
RenderType | Specifies the way colored EBN objects are displayed on the component.


method Add

method Appearance.Add (ID as Long, Skin as Variant)
Adds or replaces a skin object to the control.

Type | Description
ID as Long | A Long expression that indicates the index of the skin being added or replaced. The value must be between 1 and 126, so Appearance collection should holds no more than 126 elements.
Skin as Variant The Skin parameter of the Add method can a STRING as explained bellow, a BYTE[] / safe arrays of VT_I1 or VT_UI1 expression that indicates the content of the EBN file. You can use the BYTE[] / safe arrays of VT_I1 or VT_UI1 option when using the EBN file directly in the resources of the project. For instance, the VB6 provides the LoadResData to get the safe array o bytes for specified resource, while in VB/NET or C# the internal class Resources provides definitions for all files being inserted. ( ResourceManager.GetObject("ebn", resourceCulture) )

If the Skin parameter points to a string expression, it can be one of the following:

  • A path to the skin file ( *.EBN ). The ExButton component or ExEBN tool can be used to create, view or edit EBN files. For instance, "C:\Program Files\Exontrol\ExButton\Sample\EBN\MSOffice-Ribbon\msor_frameh.ebn"
  • A BASE64 encoded string that holds the skin file ( *.EBN ). Use the ExImages tool to build BASE 64 encoded strings of the skin file ( *.EBN ). The BASE64 encoded string starts with "gBFLBCJw..."
  • An Windows XP theme part, if the Skin parameter starts with "XP:". Use this option, to display any UI element of the Current Windows XP Theme, on any part of the control. In this case, the syntax of the Skin parameter is: "XP:ClassName Part State" where the ClassName defines the window/control class name in the Windows XP Theme, the Part indicates a long expression that defines the part, and the State indicates the state of the part to be shown. All known values for window/class, part and start are defined at the end of this document. For instance the "XP:Header 1 2" indicates the part 1 of the Header class in the state 2, in the current Windows XP theme.

The following screen shots show a few Windows XP Theme Elements, running on Windows Vista and Windows 10:

  • A copy of another skin with different coordinates ( position, size ), if the Skin parameter starts with "CP:". Use this option, to display the EBN, using different coordinates ( position, size ). By default, the EBN skin object is rendered on the part's client area. Using this option, you can display the same EBN, on a different position / size. In this case, the syntax of the Skin parameter is: "CP:ID Left Top Right Bottom" where the ID is the identifier of the EBN to be used ( it is a number that specifies the ID parameter of the Add method ), Left, Top, Right and Bottom parameters/numbers specifies the relative position to the part's client area, where the EBN should be rendered. The Left, Top, Right and Bottom parameters are numbers ( negative, zero or positive values, with no decimal ), that can be followed by the D character which indicates the value according to the current DPI settings. For instance, "CP:1 -2 -2 2 2", uses the EBN with the identifier 1, and displays it on a 2-pixels wider rectangle no matter of the DPI settings, while "CP:1 -2D -2D 2D 2D" displays it on a 2-pixels wider rectangle if DPI settings is 100%, and on on a 3-pixels wider rectangle if DPI settings is 150%.

The following screen shot shows the same EBN being displayed, using different CP: options:

Return | Description
Boolean | A Boolean expression that indicates whether the new skin was added or replaced.
Use the Add method to add or replace skins to the control. The skin method, in it's simplest form, uses a single graphic file (*.ebn) assigned to a part of the control, when the "XP:" prefix is not specified in the Skin parameter ( available for Windows XP systems ). By using a collection of objects laid over the graphic, it is possible to define which sections of the graphic will be used as borders, corners and other possible elements, fixing them to their proper position regardless of the size of the part. Use the Remove method to remove a specific skin from the control. Use the Clear method to remove all skins in the control. Use the BeginUpdate and EndUpdate methods to maintain performance while do multiple changes to the control. Use the Refresh method to refresh the control.

The identifier you choose for the skin is very important to be used in the background properties like explained bellow. Shortly, the color properties uses 4 bytes ( DWORD, double WORD, and so on ) to hold a RGB value. More than that, the first byte ( most significant byte in the color ) is used only to specify system color. if the first bit in the byte is 1, the rest of bits indicates the index of the system color being used. So, we use the last 7 bits in the high significant byte of the color to indicate the identifier of the skin being used. So, since the 7 bits can cover 127 values, excluding 0, we have 126 possibilities to store an identifier in that byte. This way, a DWORD expression indicates the background color stored in RRGGBB format and the index of the skin ( ID parameter ) in the last 7 bits in the high significant byte of the color. For instance, the BackColor = BackColor Or &H2000000 indicates that we apply the skin with the index 2 using the old color, to the object that BackColor is applied ( the node, the item, the cell and so on ).

On Windows XP, the following table shows how the common controls are broken into parts and states:

Control/ClassName | Part | States
BUTTON | BP_CHECKBOX = 3 | CBS_UNCHECKEDNORMAL = 1 CBS_UNCHECKEDHOT = 2 CBS_UNCHECKEDPRESSED = 3 CBS_UNCHECKEDDISABLED = 4 CBS_CHECKEDNORMAL = 5 CBS_CHECKEDHOT = 6 CBS_CHECKEDPRESSED = 7 CBS_CHECKEDDISABLED = 8 CBS_MIXEDNORMAL = 9 CBS_MIXEDHOT = 10 CBS_MIXEDPRESSED = 11 CBS_MIXEDDISABLED = 12
 | BP_GROUPBOX = 4 | GBS_NORMAL = 1 GBS_DISABLED = 2
 | BP_PUSHBUTTON = 1 | PBS_NORMAL = 1 PBS_HOT = 2 PBS_PRESSED = 3 PBS_DISABLED = 4 PBS_DEFAULTED = 5
 | BP_RADIOBUTTON = 2 | RBS_UNCHECKEDNORMAL = 1 RBS_UNCHECKEDHOT = 2 RBS_UNCHECKEDPRESSED = 3 RBS_UNCHECKEDDISABLED = 4 RBS_CHECKEDNORMAL = 5 RBS_CHECKEDHOT = 6 RBS_CHECKEDPRESSED = 7 RBS_CHECKEDDISABLED = 8
 | BP_USERBUTTON = 5 |
CLOCK | CLP_TIME = 1 | CLS_NORMAL = 1
COMBOBOX | CP_DROPDOWNBUTTON = 1 | CBXS_NORMAL = 1 CBXS_HOT = 2 CBXS_PRESSED = 3 CBXS_DISABLED = 4
EDIT | EP_CARET = 2 |
 | EP_EDITTEXT = 1 | ETS_NORMAL = 1 ETS_HOT = 2 ETS_SELECTED = 3 ETS_DISABLED = 4 ETS_FOCUSED = 5 ETS_READONLY = 6 ETS_ASSIST = 7
EXPLORERBAR | EBP_HEADERBACKGROUND = 1 |
 | EBP_HEADERCLOSE = 2 | EBHC_NORMAL = 1 EBHC_HOT = 2 EBHC_PRESSED = 3
 | EBP_HEADERPIN = 3 | EBHP_NORMAL = 1 EBHP_HOT = 2 EBHP_PRESSED = 3 EBHP_SELECTEDNORMAL = 4 EBHP_SELECTEDHOT = 5 EBHP_SELECTEDPRESSED = 6
 | EBP_IEBARMENU = 4 | EBM_NORMAL = 1 EBM_HOT = 2 EBM_PRESSED = 3
 | EBP_NORMALGROUPBACKGROUND = 5 |
 | EBP_NORMALGROUPCOLLAPSE = 6 | EBNGC_NORMAL = 1 EBNGC_HOT = 2 EBNGC_PRESSED = 3
 | EBP_NORMALGROUPEXPAND = 7 | EBNGE_NORMAL = 1 EBNGE_HOT = 2 EBNGE_PRESSED = 3
 | EBP_NORMALGROUPHEAD = 8 |
 | EBP_SPECIALGROUPBACKGROUND = 9 |
 | EBP_SPECIALGROUPCOLLAPSE = 10 | EBSGC_NORMAL = 1 EBSGC_HOT = 2 EBSGC_PRESSED = 3
 | EBP_SPECIALGROUPEXPAND = 11 | EBSGE_NORMAL = 1 EBSGE_HOT = 2 EBSGE_PRESSED = 3
 | EBP_SPECIALGROUPHEAD = 12 |
HEADER | HP_HEADERITEM = 1 | HIS_NORMAL = 1 HIS_HOT = 2 HIS_PRESSED = 3
 | HP_HEADERITEMLEFT = 2 | HILS_NORMAL = 1 HILS_HOT = 2 HILS_PRESSED = 3
 | HP_HEADERITEMRIGHT = 3 | HIRS_NORMAL = 1 HIRS_HOT = 2 HIRS_PRESSED = 3
 | HP_HEADERSORTARROW = 4 | HSAS_SORTEDUP = 1 HSAS_SORTEDDOWN = 2
LISTVIEW | LVP_EMPTYTEXT = 5 |
 | LVP_LISTDETAIL = 3 |
 | LVP_LISTGROUP = 2 |
 | LVP_LISTITEM = 1 | LIS_NORMAL = 1 LIS_HOT = 2 LIS_SELECTED = 3 LIS_DISABLED = 4 LIS_SELECTEDNOTFOCUS = 5
 | LVP_LISTSORTEDDETAIL = 4 |
MENU | MP_MENUBARDROPDOWN = 4 | MS_NORMAL = 1 MS_SELECTED = 2 MS_DEMOTED = 3
 | MP_MENUBARITEM = 3 | MS_NORMAL = 1 MS_SELECTED = 2 MS_DEMOTED = 3
 | MP_CHEVRON = 5 | MS_NORMAL = 1 MS_SELECTED = 2 MS_DEMOTED = 3
 | MP_MENUDROPDOWN = 2 | MS_NORMAL = 1 MS_SELECTED = 2 MS_DEMOTED = 3
 | MP_MENUITEM = 1 | MS_NORMAL = 1 MS_SELECTED = 2 MS_DEMOTED = 3
 | MP_SEPARATOR = 6 | MS_NORMAL = 1 MS_SELECTED = 2 MS_DEMOTED = 3
MENUBAND | MDP_NEWAPPBUTTON = 1 | MDS_NORMAL = 1 MDS_HOT = 2 MDS_PRESSED = 3 MDS_DISABLED = 4 MDS_CHECKED = 5 MDS_HOTCHECKED = 6
 | MDP_SEPERATOR = 2 |
PAGE | PGRP_DOWN = 2 | DNS_NORMAL = 1 DNS_HOT = 2 DNS_PRESSED = 3 DNS_DISABLED = 4
 | PGRP_DOWNHORZ = 4 | DNHZS_NORMAL = 1 DNHZS_HOT = 2 DNHZS_PRESSED = 3 DNHZS_DISABLED = 4
 | PGRP_UP = 1 | UPS_NORMAL = 1 UPS_HOT = 2 UPS_PRESSED = 3 UPS_DISABLED = 4
 | PGRP_UPHORZ = 3 | UPHZS_NORMAL = 1 UPHZS_HOT = 2 UPHZS_PRESSED = 3 UPHZS_DISABLED = 4
PROGRESS | PP_BAR = 1 |
 | PP_BARVERT = 2 |
 | PP_CHUNK = 3 |
 | PP_CHUNKVERT = 4 |
REBAR | RP_BAND = 3 |
 | RP_CHEVRON = 4 | CHEVS_NORMAL = 1 CHEVS_HOT = 2 CHEVS_PRESSED = 3
 | RP_CHEVRONVERT = 5 |
 | RP_GRIPPER = 1 |
 | RP_GRIPPERVERT = 2 |
SCROLLBAR | SBP_ARROWBTN = 1 | ABS_DOWNDISABLED, ABS_DOWNHOT, ABS_DOWNNORMAL, ABS_DOWNPRESSED, ABS_UPDISABLED, ABS_UPHOT, ABS_UPNORMAL, ABS_UPPRESSED, ABS_LEFTDISABLED, ABS_LEFTHOT, ABS_LEFTNORMAL, ABS_LEFTPRESSED, ABS_RIGHTDISABLED, ABS_RIGHTHOT, ABS_RIGHTNORMAL, ABS_RIGHTPRESSED
 | SBP_GRIPPERHORZ = 8 |
 | SBP_GRIPPERVERT = 9 |
 | SBP_LOWERTRACKHORZ = 4 | SCRBS_NORMAL = 1 SCRBS_HOT = 2 SCRBS_PRESSED = 3 SCRBS_DISABLED = 4
 | SBP_LOWERTRACKVERT = 6 | SCRBS_NORMAL = 1 SCRBS_HOT = 2 SCRBS_PRESSED = 3 SCRBS_DISABLED = 4
 | SBP_THUMBBTNHORZ = 2 | SCRBS_NORMAL = 1 SCRBS_HOT = 2 SCRBS_PRESSED = 3 SCRBS_DISABLED = 4
 | SBP_THUMBBTNVERT = 3 | SCRBS_NORMAL = 1 SCRBS_HOT = 2 SCRBS_PRESSED = 3 SCRBS_DISABLED = 4
 | SBP_UPPERTRACKHORZ = 5 | SCRBS_NORMAL = 1 SCRBS_HOT = 2 SCRBS_PRESSED = 3 SCRBS_DISABLED = 4
 | SBP_UPPERTRACKVERT = 7 | SCRBS_NORMAL = 1 SCRBS_HOT = 2 SCRBS_PRESSED = 3 SCRBS_DISABLED = 4
 | SBP_SIZEBOX = 10 | SZB_RIGHTALIGN = 1 SZB_LEFTALIGN = 2
SPIN | SPNP_DOWN = 2 | DNS_NORMAL = 1 DNS_HOT = 2 DNS_PRESSED = 3 DNS_DISABLED = 4
 | SPNP_DOWNHORZ = 4 | DNHZS_NORMAL = 1 DNHZS_HOT = 2 DNHZS_PRESSED = 3 DNHZS_DISABLED = 4
 | SPNP_UP = 1 | UPS_NORMAL = 1 UPS_HOT = 2 UPS_PRESSED = 3 UPS_DISABLED = 4
 | SPNP_UPHORZ = 3 | UPHZS_NORMAL = 1 UPHZS_HOT = 2 UPHZS_PRESSED = 3 UPHZS_DISABLED = 4
STARTPANEL | SPP_LOGOFF = 8 |
 | SPP_LOGOFFBUTTONS = 9 | SPLS_NORMAL = 1 SPLS_HOT = 2 SPLS_PRESSED = 3
 | SPP_MOREPROGRAMS = 2 |
 | SPP_MOREPROGRAMSARROW = 3 | SPS_NORMAL = 1 SPS_HOT = 2 SPS_PRESSED = 3
 | SPP_PLACESLIST = 6 |
 | SPP_PLACESLISTSEPARATOR = 7 |
 | SPP_PREVIEW = 11 |
 | SPP_PROGLIST = 4 |
 | SPP_PROGLISTSEPARATOR = 5 |
 | SPP_USERPANE = 1 |
 | SPP_USERPICTURE = 10 |
STATUS | SP_GRIPPER = 3 |
 | SP_PANE = 1 |
 | SP_GRIPPERPANE = 2 |
TAB | TABP_BODY = 10 |
 | TABP_PANE = 9 |
 | TABP_TABITEM = 1 | TIS_NORMAL = 1 TIS_HOT = 2 TIS_SELECTED = 3 TIS_DISABLED = 4 TIS_FOCUSED = 5
 | TABP_TABITEMBOTHEDGE = 4 | TIBES_NORMAL = 1 TIBES_HOT = 2 TIBES_SELECTED = 3 TIBES_DISABLED = 4 TIBES_FOCUSED = 5
 | TABP_TABITEMLEFTEDGE = 2 | TILES_NORMAL = 1 TILES_HOT = 2 TILES_SELECTED = 3 TILES_DISABLED = 4 TILES_FOCUSED = 5
 | TABP_TABITEMRIGHTEDGE = 3 | TIRES_NORMAL = 1 TIRES_HOT = 2 TIRES_SELECTED = 3 TIRES_DISABLED = 4 TIRES_FOCUSED = 5
 | TABP_TOPTABITEM = 5 | TTIS_NORMAL = 1 TTIS_HOT = 2 TTIS_SELECTED = 3 TTIS_DISABLED = 4 TTIS_FOCUSED = 5
 | TABP_TOPTABITEMBOTHEDGE = 8 | TTIBES_NORMAL = 1 TTIBES_HOT = 2 TTIBES_SELECTED = 3 TTIBES_DISABLED = 4 TTIBES_FOCUSED = 5
 | TABP_TOPTABITEMLEFTEDGE = 6 | TTILES_NORMAL = 1 TTILES_HOT = 2 TTILES_SELECTED = 3 TTILES_DISABLED = 4 TTILES_FOCUSED = 5
 | TABP_TOPTABITEMRIGHTEDGE = 7 | TTIRES_NORMAL = 1 TTIRES_HOT = 2 TTIRES_SELECTED = 3 TTIRES_DISABLED = 4 TTIRES_FOCUSED = 5
TASKBAND | TDP_GROUPCOUNT = 1 |
 | TDP_FLASHBUTTON = 2 |
 | TDP_FLASHBUTTONGROUPMENU = 3 |
TASKBAR | TBP_BACKGROUNDBOTTOM = 1 |
 | TBP_BACKGROUNDLEFT = 4 |
 | TBP_BACKGROUNDRIGHT = 2 |
 | TBP_BACKGROUNDTOP = 3 |
 | TBP_SIZINGBARBOTTOM = 5 |
 | TBP_SIZINGBARBOTTOMLEFT = 8 |
 | TBP_SIZINGBARRIGHT = 6 |
 | TBP_SIZINGBARTOP = 7 |
TOOLBAR | TP_BUTTON = 1 | TS_NORMAL = 1 TS_HOT = 2 TS_PRESSED = 3 TS_DISABLED = 4 TS_CHECKED = 5 TS_HOTCHECKED = 6
 | TP_DROPDOWNBUTTON = 2 | TS_NORMAL = 1 TS_HOT = 2 TS_PRESSED = 3 TS_DISABLED = 4 TS_CHECKED = 5 TS_HOTCHECKED = 6
 | TP_SPLITBUTTON = 3 | TS_NORMAL = 1 TS_HOT = 2 TS_PRESSED = 3 TS_DISABLED = 4 TS_CHECKED = 5 TS_HOTCHECKED = 6
 | TP_SPLITBUTTONDROPDOWN = 4 | TS_NORMAL = 1 TS_HOT = 2 TS_PRESSED = 3 TS_DISABLED = 4 TS_CHECKED = 5 TS_HOTCHECKED = 6
 | TP_SEPARATOR = 5 | TS_NORMAL = 1 TS_HOT = 2 TS_PRESSED = 3 TS_DISABLED = 4 TS_CHECKED = 5 TS_HOTCHECKED = 6
 | TP_SEPARATORVERT = 6 | TS_NORMAL = 1 TS_HOT = 2 TS_PRESSED = 3 TS_DISABLED = 4 TS_CHECKED = 5 TS_HOTCHECKED = 6
TOOLTIP | TTP_BALLOON = 3 | TTBS_NORMAL = 1 TTBS_LINK = 2
 | TTP_BALLOONTITLE = 4 | TTBS_NORMAL = 1 TTBS_LINK = 2
 | TTP_CLOSE = 5 | TTCS_NORMAL = 1 TTCS_HOT = 2 TTCS_PRESSED = 3
 | TTP_STANDARD = 1 | TTSS_NORMAL = 1 TTSS_LINK = 2
 | TTP_STANDARDTITLE = 2 | TTSS_NORMAL = 1 TTSS_LINK = 2
TRACKBAR | TKP_THUMB = 3 | TUS_NORMAL = 1 TUS_HOT = 2 TUS_PRESSED = 3 TUS_FOCUSED = 4 TUS_DISABLED = 5
 | TKP_THUMBBOTTOM = 4 | TUBS_NORMAL = 1 TUBS_HOT = 2 TUBS_PRESSED = 3 TUBS_FOCUSED = 4 TUBS_DISABLED = 5
 | TKP_THUMBLEFT = 7 | TUVLS_NORMAL = 1 TUVLS_HOT = 2 TUVLS_PRESSED = 3 TUVLS_FOCUSED = 4 TUVLS_DISABLED = 5
 | TKP_THUMBRIGHT = 8 | TUVRS_NORMAL = 1 TUVRS_HOT = 2 TUVRS_PRESSED = 3 TUVRS_FOCUSED = 4 TUVRS_DISABLED = 5
 | TKP_THUMBTOP = 5 | TUTS_NORMAL = 1 TUTS_HOT = 2 TUTS_PRESSED = 3 TUTS_FOCUSED = 4 TUTS_DISABLED = 5
 | TKP_THUMBVERT = 6 | TUVS_NORMAL = 1 TUVS_HOT = 2 TUVS_PRESSED = 3 TUVS_FOCUSED = 4 TUVS_DISABLED = 5
 | TKP_TICS = 9 | TSS_NORMAL = 1
 | TKP_TICSVERT = 10 | TSVS_NORMAL = 1
 | TKP_TRACK = 1 | TRS_NORMAL = 1
 | TKP_TRACKVERT = 2 | TRVS_NORMAL = 1
TRAYNOTIFY | TNP_ANIMBACKGROUND = 2 |
 | TNP_BACKGROUND = 1 |
TREEVIEW | TVP_BRANCH = 3 |
 | TVP_GLYPH = 2 | GLPS_CLOSED = 1 GLPS_OPENED = 2
 | TVP_TREEITEM = 1 | TREIS_NORMAL = 1 TREIS_HOT = 2 TREIS_SELECTED = 3 TREIS_DISABLED = 4 TREIS_SELECTEDNOTFOCUS = 5
WINDOW | WP_CAPTION = 1 | CS_ACTIVE = 1 CS_INACTIVE = 2 CS_DISABLED = 3
 | WP_CAPTIONSIZINGTEMPLATE = 30 |
 | WP_CLOSEBUTTON = 18 | CBS_NORMAL = 1 CBS_HOT = 2 CBS_PUSHED = 3 CBS_DISABLED = 4
 | WP_DIALOG = 29 |
 | WP_FRAMEBOTTOM = 9 | FS_ACTIVE = 1 FS_INACTIVE = 2
 | WP_FRAMEBOTTOMSIZINGTEMPLATE = 36 |
 | WP_FRAMELEFT = 7 | FS_ACTIVE = 1 FS_INACTIVE = 2
 | WP_FRAMELEFTSIZINGTEMPLATE = 32 |
 | WP_FRAMERIGHT = 8 | FS_ACTIVE = 1 FS_INACTIVE = 2
 | WP_FRAMERIGHTSIZINGTEMPLATE = 34 |
 | WP_HELPBUTTON = 23 | HBS_NORMAL = 1 HBS_HOT = 2 HBS_PUSHED = 3 HBS_DISABLED = 4
 | WP_HORZSCROLL = 25 | HSS_NORMAL = 1 HSS_HOT = 2 HSS_PUSHED = 3 HSS_DISABLED = 4
 | WP_HORZTHUMB = 26 | HTS_NORMAL = 1 HTS_HOT = 2 HTS_PUSHED = 3 HTS_DISABLED = 4
 | WP_MAX_BUTTON | MAXBS_NORMAL = 1 MAXBS_HOT = 2 MAXBS_PUSHED = 3 MAXBS_DISABLED = 4
 | WP_MAXCAPTION = 5 | MXCS_ACTIVE = 1 MXCS_INACTIVE = 2 MXCS_DISABLED = 3
 | WP_MDICLOSEBUTTON = 20 | CBS_NORMAL = 1 CBS_HOT = 2 CBS_PUSHED = 3 CBS_DISABLED = 4
 | WP_MDIHELPBUTTON = 24 | HBS_NORMAL = 1 HBS_HOT = 2 HBS_PUSHED = 3 HBS_DISABLED = 4
 | WP_MDIMINBUTTON = 16 | MINBS_NORMAL = 1 MINBS_HOT = 2 MINBS_PUSHED = 3 MINBS_DISABLED = 4
 | WP_MDIRESTOREBUTTON = 22 | RBS_NORMAL = 1 RBS_HOT = 2 RBS_PUSHED = 3 RBS_DISABLED = 4
 | WP_MDISYSBUTTON = 14 | SBS_NORMAL = 1 SBS_HOT = 2 SBS_PUSHED = 3 SBS_DISABLED = 4
 | WP_MINBUTTON = 15 | MINBS_NORMAL = 1 MINBS_HOT = 2 MINBS_PUSHED = 3 MINBS_DISABLED = 4
 | WP_MINCAPTION = 3 | MNCS_ACTIVE = 1 MNCS_INACTIVE = 2 MNCS_DISABLED = 3
 | WP_RESTOREBUTTON = 21 | RBS_NORMAL = 1 RBS_HOT = 2 RBS_PUSHED = 3 RBS_DISABLED = 4
 | WP_SMALLCAPTION = 2 | CS_ACTIVE = 1 CS_INACTIVE = 2 CS_DISABLED = 3
 | WP_SMALLCAPTIONSIZINGTEMPLATE = 31 |
 | WP_SMALLCLOSEBUTTON = 19 | CBS_NORMAL = 1 CBS_HOT = 2 CBS_PUSHED = 3 CBS_DISABLED = 4
 | WP_SMALLFRAMEBOTTOM = 12 | FS_ACTIVE = 1 FS_INACTIVE = 2
 | WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE = 37 |
 | WP_SMALLFRAMELEFT = 10 | FS_ACTIVE = 1 FS_INACTIVE = 2
 | WP_SMALLFRAMELEFTSIZINGTEMPLATE = 33 |
 | WP_SMALLFRAMERIGHT = 11 | FS_ACTIVE = 1 FS_INACTIVE = 2
 | WP_SMALLFRAMERIGHTSIZINGTEMPLATE = 35 |
 | WP_SMALLHELPBUTTON | HBS_NORMAL = 1 HBS_HOT = 2 HBS_PUSHED = 3 HBS_DISABLED = 4
 | WP_SMALLMAXBUTTON | MAXBS_NORMAL = 1 MAXBS_HOT = 2 MAXBS_PUSHED = 3 MAXBS_DISABLED = 4
 | WP_SMALLMAXCAPTION = 6 | MXCS_ACTIVE = 1 MXCS_INACTIVE = 2 MXCS_DISABLED = 3
 | WP_SMALLMINCAPTION = 4 | MNCS_ACTIVE = 1 MNCS_INACTIVE = 2 MNCS_DISABLED = 3
 | WP_SMALLRESTOREBUTTON | RBS_NORMAL = 1 RBS_HOT = 2 RBS_PUSHED = 3 RBS_DISABLED = 4
 | WP_SMALLSYSBUTTON | SBS_NORMAL = 1 SBS_HOT = 2 SBS_PUSHED = 3 SBS_DISABLED = 4
 | WP_SYSBUTTON = 13 | SBS_NORMAL = 1 SBS_HOT = 2 SBS_PUSHED = 3 SBS_DISABLED = 4
 | WP_VERTSCROLL = 27 | VSS_NORMAL = 1 VSS_HOT = 2 VSS_PUSHED = 3 VSS_DISABLED = 4
 | WP_VERTTHUMB = 28 | VTS_NORMAL = 1 VTS_HOT = 2 VTS_PUSHED = 3 VTS_DISABLED = 4


method Clear

method Appearance.Clear ()
Removes all skins in the control.

Type Description
Use the Clear method to clear all skins from the control. Use the Remove method to remove a specific skin. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the background's part.


method Remove

method Appearance.Remove (ID as Long)
Removes a specific skin from the control.

Type | Description
ID as Long | A Long expression that indicates the index of the skin being removed.
Use the Remove method to remove a specific skin. The identifier of the skin being removed should be the same as when the skin was added using the Add method. Use the Clear method to clear all skins from the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the background's part.


property RenderType

property Appearance.RenderType as Long
Specifies the way colored EBN objects are displayed on the component.

Type | Description
Long | A long expression that indicates how the EBN objects are shown in the control, like explained bellow.
By default, the RenderType property is 0, which indicates an A-color scheme. The RenderType property can be used to change the colors for the entire control, for parts of the controls that uses EBN objects. The RenderType property is not applied to the currently XP-theme if using.

The RenderType property is applied to all parts that displays an EBN object. The properties of color type may support the EBN object if the property's description includes "A color expression that indicates the cell's background color. The last 7 bits in the high significant byte of the color to indicates the identifier of the skin being used. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the background's part." In other words, a property that supports EBN objects should be of format 0xIDRRGGBB, where the ID is the identifier of the EBN to be applied, while the BBGGRR is the (Red,Green,Blue, RGB-Color) color to be applied on the selected EBN. For instance, the 0x1000000 indicates displaying the EBN as it is, with no color applied, while the 0x1FF0000, applies the Blue color ( RGB(0x0,0x0,0xFF), RGB(0,0,255) on the EBN with the identifier 1. You can use the EBNColor tool to visualize applying EBN colors.

In the following screen shot the following objects displays the current EBN with a different color:

  • "A" in Red ( RGB(255,0,0 ), for instance the bar's property exBarColor is 0x10000FF
  • "B" in Green ( RGB(0,255,0 ), for instance the bar's property exBarColor is 0x100FF00
  • "C" in Blue ( RGB(0,0,255 ), for instance the bar's property exBarColor is 0x1FF0000
  • "Default", no color is specified, for instance the bar's property exBarColor is 0x1000000

The RenderType property could be one of the following:

  • -3, no color is applied. For instance, the BackColorHeader = &H1FF0000 is displayed as would be .BackColorHeader = &H1000000, so the 0xFF0000 color ( Blue color ) is ignored. You can use this option to allow the control displays the EBN colors or not.

  • -2, OR-color scheme. The color to be applied on the part of the control is a OR bit combination between the original EBN color and the specified color. For instance, the BackColorHeader = &H1FF0000, applies the OR bit for the entire Blue channel, or in other words, it applies a less Blue to the part of the control. This option should be used with solid colors (RGB(255,0,0), RGB(0,255,0), RGB(0,0,255), RGB(255,255,0), RGB(255,0,255), RGB(0,255,255),RGB(127,0,0),RGB(0,127,0), ... )

  • -1, AND-color scheme, The color to be applied on the part of the control is an AND bit combination between the original EBN color and the specified color. For instance, the BackColorHeader = &H1FF0000, applies the AND bit for the entire Blue channel, or in other words, it applies a more Blue to the part of the control. This option should be used with solid colors (RGB(255,0,0), RGB(0,255,0), RGB(0,0,255), RGB(255,255,0), RGB(255,0,255), RGB(0,255,255),RGB(127,0,0),RGB(0,127,0), ... )

  • 0, default, the specified color is applied to the EBN. For instance, the BackColorHeader = &H1FF0000, applies a Blue color to the object. This option could be used to specify any color for the part of the components, that support EBN objects, not only solid colors.

  • 0xAABBGGRR, where the AA a value between 0 to 255, which indicates the transparency, and RR, GG, BB the red, green and blue values. This option applies the same color to all parts that displays EBN objects, whit ignoring any specified color in the color property. For instance, the RenderType on 0x4000FFFF, indicates a 25% Yellow on EBN objects. The 0x40, or 64 in decimal, is a 25 % from in a 256 interal, and the 0x00FFFF, indicates the Yellow ( RGB(255,255,0) ). The same could be if the RenderType is 0x40000000 + vbYellow, or &H40000000 + RGB(255, 255, 0), and so, the RenderType could be the 0xAA000000 + Color, where the Color is the RGB format of the color.

The following picture shows the control with the RenderType property on 0x4000FFFF (25% Yellow, 0x40 or 64 in decimal is 25% from 256 ):

The following picture shows the control with the RenderType property on 0x8000FFFF (50% Yellow, 0x80 or 128 in decimal is 50% from 256 ):

The following picture shows the control with the RenderType property on 0xC000FFFF (75% Yellow, 0xC0 or 192 in decimal is 75% from 256 ):

The following picture shows the control with the RenderType property on 0xFF00FFFF (100% Yellow, 0xFF or 255 in decimal is 100% from 255 ):


CategoryAxes object
The CategoryAxes object holds the category-axes the view displays. The CategoryAxes property returns a reference to the CategoryAxes object. This functionality empowers users to exhibit multiple category axes, offering broader subdivisions of the view aligned to any side, with the flexibility for these subdivisions to vary in size. This capability enhances the precision and customization of data visualization, enabling users to tailor the display to their specific needs and preferences.

The CategoryAxes object supports the following properties and methods:

Name | Description
Add | Adds a CategoryAxis object to the collection and returns a reference to the newly created object.
Clear | Removes all objects in the collection.
Count | Returns the number of objects in the collection.
Item | Returns a specific CategoryAxis of the CategoryAxes collection, giving its identifier.
Remove | Removes a specific member from the CategoryAxes collection, giving its identifier.


method Add

method CategoryAxes.Add (Categories as Variant, [Key as Variant])
Adds a CategoryAxis object to the collection and returns a reference to the newly created object.

Type | Description
Categories as Variant A variant expression that defines the category names as one of the following:
  • a string expression, that defines any of the following:
    • the list of values separated by comma, such as "Germany,France,Norway"
    • the column-name or column-index within the control's data, such as "x" or "0", so the values of the column defines the category names (the Data, Import or DataSource property defines the control's data)
  • a numeric expression, that defines any of the following:
    • the single category name, such as 1
    • the index of the column within the control's data, such as 1, so the values of the column defines the category names
  • a safe-array of values that indicates a single dimensional array, such as Array("Germany","France","Norway")
The Categories property is equivalent with Categories parameter of the Add method.
Key as Variant | A string expression that defines the key of the category-axis (if the view displays multiple category axes you can use the Item property to access a category-axis by key)
Return | Description
CategoryAxis | Returns the newly created category-axis as an object of CategoryAxis
By default, the view displays no category-axes. The Add method adds different category-axes to the same view. The format "categories(values)" separated by comma of serie's Data property can define categories as well, such as "Facebook(10 20 30),Google(15 15 40),Microsoft(20 20 50)". The Count property counts the number of category-axes the view displays. The Remove method removes a specific member from the CategoryAxes collection, giving its identifier. The Clear method Removes all objects in the collection. The Item property accesses a category-axis giving its index or key


method Clear

method CategoryAxes.Clear ()
Removes all objects in the collection.

Type Description
The Clear method Removes all objects in the collection. The Remove method removes a specific member from the CategoryAxes collection, giving its identifier. The Item property accesses a category-axis giving its index or key. The Add method adds different category-axes to the same view. The Count property counts the number of category-axes the view displays.


property Count

property CategoryAxes.Count as Long
Returns the number of objects in the collection.

Type | Description
Long | A long expression that specifies the number of category-axes
The Count property counts the number of category-axes the view displays. The Clear method Removes all objects in the collection. The Remove method removes a specific member from the CategoryAxes collection, giving its identifier. The Item property accesses a category-axis giving its index or key. The Add method adds different category-axes to the same view.


property Item

property CategoryAxes.Item (ID as Variant) as CategoryAxis
Returns a specific CategoryAxis of the CategoryAxes collection, giving its identifier.

Type | Description
ID as Variant A Variant expression that can be any of the following:
  • A long expression that specifies the index of the category-axis (Index property)
  • A string expression that defines the key of the category-axis (Key property)
CategoryAxis | Returns the CategoryAxis object or nothing
The Item property accesses a category-axis giving its index or key. The Remove method removes a specific member from the CategoryAxes collection, giving its identifier. The Clear method Removes all objects in the collection. The Add method adds different category-axes to the same view. The Count property counts the number of category-axes the view displays.


method Remove

method CategoryAxes.Remove (ID as Variant)
Removes a specific member from the CategoryAxes collection, giving its identifier.

Type Description
ID as Variant A Variant expression that can be any of the following:
  • A long expression that specifies the index of the category-axis (Index property)
  • A string expression that defines the key of the category-axis (Key property)
The Remove method removes a specific member from the CategoryAxes collection, giving its identifier. The Clear method Removes all objects in the collection. The Item property accesses a category-axis giving its index or key. The Add method adds different category-axes to the same view. The Count property counts the number of category-axes the view displays.


CategoryAxis object
The Item property gives access to the view's category-axis giving its index of key. The CategoryAxis object holds information about the view's category-axis.

The CategoryAxis object supports the following properties and methods:

Name | Description
Align | Aligns the category-axis to bottom/right or top/left side of the view
Angle | Specifies the rotation angle (in degrees) for the title and labels of the axis, in 'labels,title' format
AxisLine | Defines the configuration options to show the line of the category-axis
Categories | Specifies the category names
ChartGridLines | Defines the configuration options to show the grid lines and labels between for the chart panel
Color | Specifies the category-axis's background color
CursorFormat | Specifies an expression to customize the tooltips to show on category-axis, when the crosshair intersects the category-axis
Format | Specifies an expression to customize the labels to show on category axis
Index | Returns the index of the category-axis (0-based)
Key | Specifies the identifier/key of the category-axis
MajorGridLines | Defines the configuration options to show the major grid lines of the category-axis
MajorTicks | Defines the configuration options to show the major ticks of the category-axis
OffsetLabel | Defines the offset to move labels horizontally or vertically in relation to their original positions
OverviewGridLines | Defines the configuration options to show the grid lines and labels between for the overview panel
Position | Retrieves or sets a value that indicates the position of the category-axis
Reverse | Defines the direction of the category axis
Split | Specifies whether the categories are redefined based on the Format property
Tfi | Specifies the font attributes to apply on the title and labels of the category-axis
Title | Specifies the title of the category-axis. The title supports ex-HTML format
Visible | Shows or hides the category-axis (including the labels)


property Align

property CategoryAxis.Align as AlignEnum
Aligns the category-axis to bottom/right or top/left side of the view

Type | Description
AlignEnum | An AlignEnum expression that specifies the alignment of the category-axis relative to the view
By default, the Align property is exAlignDefault, which indicates that the category-axis is aligned to bottom/right side of the view. If the chart is horizontally oriented (values go vertically, categories go horizontally) the category-axis can be aligned to bottom or top side of the view. If the chart is vertically oriented (values go horizontally, categories go vertically) the category-axis can be aligned to left or right side of the view.

The default category-axis can be shown next to 0-origin of value-axis only if:

  • Misc(exUpdateRangeOnScroll) {number} option is 0 (specifies the time in ms to update the chart's minimum and maximum values while user scrolls the chart (0 indicates that the chart's minimum and maximum values are updated only when changing the data))
  • Align option is 1(exAlignCenter) or 4(exAlignVCenter)
  • 0 is shown between value-axis minimum and maximum values

For instance:

  • -1(exAlignDefault) {number}, aligns the category-axis to bottom/right side of the view (default)
  • 0 {number}, aligns the category-axis to top/left side of the view
  • exAlignVCenter {number}, the category-axis is displayed next to 0-origin of value-axis (only if above conditions are met)


property Angle

property CategoryAxis.Angle as String
Specifies the rotation angle (in degrees) for the title and labels of the axis, in 'title,label' format

Type | Description
String | A string expression that defines the rotation angle for title and labels of the category-axis, in 'title,label' format
By default, the Angle property is "". The Angle property specifies the rotation angle (in degrees) for the title and labels of the axis, in 'title,label' format. Currently, only orthogonal angles are allowed.

For instance:

  • "0,0", forces title and labels to show not-rotated
  • "90,0", forces the title to shown as rotated and labels not-rotated


property AxisLine

property CategoryAxis.AxisLine as LineOptions
Defines the configuration options to show the line of the category-axis

Type | Description
LineOptions | A LineOptions object that defines the configuration options to show the line of the category-axis
The AxisLine property defines the configuration options to show the line of the category-axis. You can define the color, size or style of the category-axis. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). Use the Visible property to hide the entire category-axis.

For instance:

  • AxisLine.Width = 0, hides the category-axis (does hide only the axis-line not the labels, title and so on).
  • AxisLine.Width = 2, shows a ticker line for category-axis


property Categories

property CategoryAxis.Categories as Variant
Specifies the category names

Type Description
Variant A variant expression that defines the category names as one of the following:
  • a string expression, that defines any of the following:
    • the list of values separated by comma, such as "Germany,France,Norway"
    • the column-name or column-index within the control's data, such as "x" or "0", so the values of the column defines the category names (the Data, Import or DataSource property defines the control's data)
  • a numeric expression, that defines any of the following:
    • the single category name, such as 1
    • the index of the column within the control's data, such as 1, so the values of the column defines the category names
  • a safe-array of values that indicates a single dimensional array, such as Array("Germany","France","Norway")
The Categories property defines the category names. The Categories property is equivalent with Categories parameter of the Add method. The format "categories(values)" separated by comma of serie's Data property can define categories as well, such as "Facebook(10 20 30),Google(15 15 40),Microsoft(20 20 50)".


property ChartGridLines

property CategoryAxis.ChartGridLines as FormatGridLinesOptions
Defines the configuration options to show the grid lines and labels between for the chart panel.

Type | Description
FormatGridLinesOptions | A FormatGridLinesOptions property that defines the configuration options to show the grid lines and labels between for the chart panel
By default, the ChartGridLines property has no effect until the Format property is specified and valid. The Format property specifies an expression to define the labels between grid lines. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip. The OverviewGridLines property defines the configuration options to show the grid lines and labels between for the overview panel.


property Color

property CategoryAxis.Color as Variant
Specifies the category-axis's background color

Type | Description
Variant | A string expression that defines the background color of the category-axis The color accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively.
By default, the Color property is "", which indicates a transparent background color. You can use the Color property to specify a different background color for category-axis. You can use the <fgcolor> ex-HTML tag of Tfi or labels to specify a foreground color.

For instance:

  • "blue", shows the category-axis's backround in blue
  • "rgb(0,128,0)", shows the category-axis's backround in dark green
  • "#FF0000", shows the category-axis's backround in red


property CursorFormat

property CategoryAxis.CursorFormat as String
Specifies an expression to customize the tooltips to show on category-axis, when the crosshair intersects the category-axis

Type Description
String A string expression that defines the expression (including ex-HTML) to customize the labels to show on category axis, when the crosshair intersects the category-axis.

The expression supports the following keywords:

  • index, {number} defines the index of the category
  • value, {number} defines the name of the category

This property/method supports predefined constants and operators/functions as described here.

By default, the CursorFormat property is "", which indicates that no format is applied to category's name. The Visible property shows or hides the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes). The Format property defines the labels of the category-axis. The Split property redefines the categories (groups consecutive values generated by the Format property into a distinct category) based on the Format property. The Tfi property specifies the font attributes to apply on the title and labels of the category-axis. The Title property specifies the title of the category-axis.

For instance:

  • "value left 4", displays only the first 4-characters of the value (lets say the year of the category)
  • "value mid 9 left 2", displays 2-characters starting from 9-th character

Currently, the Exontrol's built-in HTML format supports the following HTML tags:

  • <b> ... </b> displays the text in bold.
  • <i> ... </i> displays the text in italics.
  • <u> ... </u> underlines the text.
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The ExButton, ExComboBox, ExG2antt, ExGantt, ExGrid, ExHTML, ExLabel, ExList, ExOrgChart, ExplorerTree, ExSchedule, ExSurface, ExSwimlane, ExTree controls support expandable HTML captions feature. The expandable-captions allow you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor color> ... </fgcolor> or <fgcolor=color> ... </fgcolor> displays text with a specified foreground color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <bgcolor color> ... </bgcolor> or <bgcolor=color> ... </bgcolor> displays text with a specified background color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <solidline color> ... </solidline> or <solidline=color> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <dotline color> ... </dotline> or <dotline=color> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra color;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the color, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out color;width> ... </out> shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha color;width;offset> ... </sha> define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property Format

property CategoryAxis.Format as String
Specifies an expression to customize the labels to show on category axis

Type Description
String A string expression that defines the expression (including ex-HTML) to customize the labels to show on category axis.

The expression supports the following keywords:

  • index, {number} defines the index of the category
  • value, {number} defines the name of the category

This property/method supports predefined constants and operators/functions as described here.

By default, the Format property is "", which indicates that no format is applied to category's name. The Format property defines the labels of the category-axis. The Split property redefines the categories (groups consecutive values generated by the Format property into a distinct category) based on the Format property. The Tfi property specifies the font attributes to apply on the title and labels of the category-axis. The Title property specifies the title of the category-axis. The OffsetLabel property defines the offset to move labels horizontally or vertically in relation to their original positions

For instance:

  • "value left 4", displays only the first 4-characters of the value (lets say the year of the category)
  • "value mid 9 left 2", displays 2-characters starting from 9-th character

Currently, the Exontrol's built-in HTML format supports the following HTML tags:

  • <b> ... </b> displays the text in bold.
  • <i> ... </i> displays the text in italics.
  • <u> ... </u> underlines the text.
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The ExButton, ExComboBox, ExG2antt, ExGantt, ExGrid, ExHTML, ExLabel, ExList, ExOrgChart, ExplorerTree, ExSchedule, ExSurface, ExSwimlane, ExTree controls support expandable HTML captions feature. The expandable-captions allow you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor color> ... </fgcolor> or <fgcolor=color> ... </fgcolor> displays text with a specified foreground color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <bgcolor color> ... </bgcolor> or <bgcolor=color> ... </bgcolor> displays text with a specified background color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <solidline color> ... </solidline> or <solidline=color> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <dotline color> ... </dotline> or <dotline=color> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra color;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the color, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out color;width> ... </out> shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha color;width;offset> ... </sha> define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property Index

property CategoryAxis.Index as Long
Returns the index of the category-axis (0-based)

Type | Description
Long | A long expression that indicates the index of the category-axis (0-based)
The Index property is read-only. The Position property retrieves or sets a value that indicates the position of the category-axis. The Add method adds a CategoryAxis object to the collection and returns a reference to the newly created object. The Remove method removes a specific member from the CategoryAxes collection, giving its identifier. The Clear method Removes all objects in the collection. The Item property accesses a category-axis giving its index or key.


property Key

property CategoryAxis.Key as Variant
Specifies the identifier/key of the category-axis

Type | Description
Variant | A string expression that defines the key of the category-axis.
By default, the Key property is empty. A category-axis can be referred by its index or by its key. The Index property returns the index of the category-axis (0-based). The Add method adds a CategoryAxis object to the collection and returns a reference to the newly created object. The Remove method removes a specific member from the CategoryAxes collection, giving its identifier. The Clear method Removes all objects in the collection. The Item property accesses a category-axis giving its index or key.


property MajorGridLines

property CategoryAxis.MajorGridLines as GridLinesOptions
Defines the configuration options to show the major grid lines of the category-axis

Type | Description
GridLinesOptions | A GridLinesOptions object that helps to define the configuration options to show the major grid lines of the category-axis
By default, no grid lines are shown, because the Color property is -1 (invalid). The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip. The ChartGridLines property defines the configuration options to show the grid lines and labels between for the chart panel. The OverviewGridLines property defines the configuration options to show the grid lines and labels between for the overview panel. The MajorTicks property defines the configuration options to show the major ticks of the category-axis.


property MajorTicks

property CategoryAxis.MajorTicks as TickOptions
Defines the configuration options to show the major ticks of the category-axis

Type | Description
TickOptions | A TickOptions object that defines the configuration options to show the major ticks of the category-axis
The MajorTicks property defines the configuration options to show the major ticks of the category-axis. The MajorGridLines property defines the configuration options to show the major grid lines of the category-axis. The ChartGridLines property defines the configuration options to show the grid lines and labels between for the chart panel. The OverviewGridLines property defines the configuration options to show the grid lines and labels between for the overview panel. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the ticks. The Skip property specifies the number of ticks to skip.


property OffsetLabel

property CategoryAxis.OffsetLabel as String
Defines the offset to move labels horizontally or vertically in relation to their original positions

Type | Description
String | A string expression that defines the horizontal and vertical offset to shift the labels of the category.
By default, the OffsetLabel property is "", which indicates that the labels are shown on their original position. The Format property specifies an expression to customize the labels to show on category axis. The Tfi property specifies the font attributes to apply on the title and labels of the category-axis. The Title property specifies the title of the category-axis.

For instance:

  • "0,-24", shifts vertically (to the top) the labels by 24 pixels


property OverviewGridLines

property CategoryAxis.OverviewGridLines as FormatGridLinesOptions
Defines the configuration options to show the grid lines and labels between for the overview panel.

Type | Description
FormatGridLinesOptions | A FormatGridLinesOptions property that defines the configuration options to show the grid lines and labels between for the overview panel
By default, the OverviewGridLines property has no effect until the Format property is specified and valid. The Visible property shows or hides the control's overview. The Format property specifies an expression to define the grid lines and labels between for the overview panel. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip. The ChartGridLines property defines the configuration options to show the grid lines and labels between for the chart panel.


property Position

property CategoryAxis.Position as Long
Retrieves or sets a value that indicates the position of the category-axis

Type | Description
Long | A long expression that indicates the position of the category-axis
The Position property retrieves or sets a value that indicates the position of the category-axis. The Index property returns the index of the category-axis (0-based). The Add method adds a CategoryAxis object to the collection and returns a reference to the newly created object. The Remove method removes a specific member from the CategoryAxes collection, giving its identifier. The Clear method Removes all objects in the collection. The Item property accesses a category-axis giving its index or key.


property Reverse

property CategoryAxis.Reverse as Boolean
Defines the direction of the category axis

Type | Description
Boolean | A boolean expression that indicates the direction of the category axis
By default, the Reverse property is False. The Reverse property defines the direction of the category axis. The Sort method defines the list of series to be sorted, separated by spaces

For instance:

  • True, reverses the order the category-names are shown


property Split

property CategoryAxis.Split as Boolean
Specifies whether the categories are redefined based on the Format property

Type | Description
Boolean | A boolean expression that specifies whether the categories are redefined based on the Format property
By default, the Split property is False, which indicates that it has no effect. As an example, suppose the category-axis originally displays dates. By configuring the Format property as "date(value) format MMM", the category-axis can be transformed to represent months instead of individual dates. The Split property redefines the categories (groups consecutive values generated by the Format property into a distinct category) based on the Format property. The Split property has effect only if:
  • Split property is True,
  • Format property is not empty and valid (by default the Format property is empty)

The following screen shot shows the category-axis when the Format property is "value left 7" and Split property on True


property Tfi

property CategoryAxis.Tfi as String
Specifies the font attributes to apply on the title and labels of the category-axis

Type | Description
String | A string expression that defines the font attributes to apply on the title and labels of the category-axis
By default, the Tfi property is "", which indicates no effect. The Title property specifies the title of the category-axis. The Format property defines the labels of the category-axis.

The Tfi property defines the following font-attributes, separated by white-spaces characters, as explained:

  • bold, indicates that the labels and title are shown in bold
  • italic, indicates that the labels and title are shown in italics
  • underline, underlines the labels and title
  • strikeout, strikeouts the labels and title
  • <fgcolor color>, defines a different foreground color for labels and title
  • <bgcolor color>, defines a different background color for labels and title
  • <out color;width>, shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing.
  • <sha color;width;offset>, define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing.
  • <gra color;mode;blend>, defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray
  • any number, indicates the size of the font to use
  • any other string, defines the name of the font to use

where the color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The width indicates the size of shadow or gradient.

You can use the Color property to specify a different background color for category-axis. The Tfi property is not applied to labels defined by ChartGridLines or OverviewGridLines property.

For instance:

  • "bold", shows the labels and title in bold
  • "<fgcolor red>", shows the labels and title in red
  • "underline Tahoma 12", shows the labels and title underlined with a Tahoma 12px font


property Title

property CategoryAxis.Title as String
Specifies the title of the category-axis. The title supports ex-HTML format

Type | Description
String | A string expression that defines the ex-HTML title of the category-axis
By default, the Title property is "". The Title specifies the title of the category-axis. The title supports ex-HTML format. Call the Refresh method to refresh to update the control's content. For instance, you can use the <fgcolor> ex-HTML tag to show the title in a different color. Also, you can use the <font> ex-HTML tag tag to show the title with a different font. The Tfi property specifies the font attributes to apply on the title and labels of the category-axis. The Format property defines the labels of the category-axis.

Currently, the Exontrol's built-in HTML format supports the following HTML tags:

  • <b> ... </b> displays the text in bold.
  • <i> ... </i> displays the text in italics.
  • <u> ... </u> underlines the text.
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The ExButton, ExComboBox, ExG2antt, ExGantt, ExGrid, ExHTML, ExLabel, ExList, ExOrgChart, ExplorerTree, ExSchedule, ExSurface, ExSwimlane, ExTree controls support expandable HTML captions feature. The expandable-captions allow you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor color> ... </fgcolor> or <fgcolor=color> ... </fgcolor> displays text with a specified foreground color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <bgcolor color> ... </bgcolor> or <bgcolor=color> ... </bgcolor> displays text with a specified background color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <solidline color> ... </solidline> or <solidline=color> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <dotline color> ... </dotline> or <dotline=color> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra color;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the color, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out color;width> ... </out> shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha color;width;offset> ... </sha> define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property Visible

property CategoryAxis.Visible as Boolean
Shows or hides the category-axis (including the labels and the title)

Type | Description
Boolean | A boolean expression that specifies whether the category-axis is visible (including the labels and the title) or hidden
By default, the Visible property is False, which indicates that the category-axis is visible by default. If Visible property is False, the line, ticks, labels and title of the category-axis are hiden. The grid lines defined by ChartGridLines and OverviewGridLines properties are not hidden by design. You can use the Width property on 0 to hide the grid lines defined by ChartGridLines and OverviewGridLines properties

For instance:

  • false, hides the category-axis


ExCursor object
The ExCursor object defines the configuration options to display crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes. Use the Cursor to specify different configuration options to show the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes).

The ExCursor object supports the following properties and method:

Name | Description
AxisTooltipBackColor | Specifies the visual appearance of the tooltips on the axes
AxisTooltipForeColor | Indicates the foreground color used for displaying tooltips on axes
Line | Defines the configuration options to display the crosshair over the hover/touch area (showCursorCategoryLine or showCursorValueLine)
SerieTooltipBackColor | Specifies the visual appearance of the tooltips on the series
SerieTooltipForeColor | Indicates the foreground color used for displaying tooltips on series
ShowCursorCategoryLine | Specifies the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart
ShowCursorSerieTooltip | Defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series
ShowCursorValueLine | Shows or hides the horizontal/vertical value/y-line, when the crosshair cursor hovers the chart
ShowCursorXLine | Shows or hides the vertical y-line, when the crosshair cursor hovers the chart (available for xy-chart types only)
ShowCursorYLine | Shows or hides the horizontal x-line, when the crosshair cursor hovers the chart (available for xy-chart types only)
TooltipPad | Defines the tooltip's padding (space between tooltip's caption and its borders)
Visible | Shows or hides the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes)


property AxisTooltipBackColor

property ExCursor.AxisTooltipBackColor as Variant
Specifies the visual appearance of the tooltips on the axes

Type | Description
Variant | A string expression that defines the background color of the tooltip that's shown once the crossover cursor hovers the chart. This color property accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively.
By default, the AxisTooltipBackColor property is "black". The AxisTooltipBackColor property specifies the visual appearance of the tooltips on the axes. The AxisTooltipForeColor property indicates the foreground color used for displaying tooltips on axes. The SerieTooltipBackColor property specifies the the visual appearance of the tooltips on the series. The SerieTooltipForeColor property indicates the foreground color used for displaying tooltips on series.

For instance:

  • "black", specifies that the tooltip's background is always shown in black
  • 0x1000000, defines the skin identifier to apply on the tooltip's background (use the Add method to add new skins to the control)


property AxisTooltipForeColor

property ExCursor.AxisTooltipForeColor as Variant
Indicates the foreground color used for displaying tooltips on axes

Type | Description
Variant | A string expression that defines the foreground color of the tooltip that's shown once the crossover cursor hovers the chart. This color property accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively
By default, the AxisTooltipForeColor property is "rgb(255,255,254)" equivalent of white. The AxisTooltipForeColor property indicates the foreground color used for displaying tooltips on axes. The AxisTooltipBackColor property specifies the visual appearance of the tooltips on the axes. The SerieTooltipForeColor property indicates the foreground color used for displaying tooltips on series. The SerieTooltipBackColor property specifies the the visual appearance of the tooltips on the series.

For instance:

  • "black", specifies that the tooltip's foreground is always shown in black


property Line

property ExCursor.Line as LineOptions
Defines the configuration options to display the crosshair over the hover/touch area (showCursorCategoryLine or showCursorValueLine)

Type | Description
LineOptions | Defines a LineOptions object, to define the configuration options to display the crosshair over the hover/touch area (showCursorCategoryLine or showCursorValueLine)
The LineOptions property defines the size, color and style of the axis, grid or tick-lines. The LineOptions property is applied to crossover axes (the dotted black lines in the following screen shots). The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default).


property SerieTooltipBackColor

property ExCursor.SerieTooltipBackColor as Variant
Specifies the visual appearance of the tooltips on the series

Type Description
Variant A string expression that defines the background color of the tooltip that's shown once the crossover cursor hovers the chart. This color property accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively. Additionally the color property supports:
  • null, which uses the serie's value color instead
  • transparent, indicate a transparent background

An integer expression that defines the EBN visual appearance. The last 7 bits in the high significant byte of the color to indicates the identifier of the skin being used. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the background's part.

By default, the SerieTooltipBackColor property is "null", which indicates that tooltip's background inherits the color of the serie's value. The SerieTooltipBackColor property specifies the the visual appearance of the tooltips on the series. The SerieTooltipForeColor property indicates the foreground color used for displaying tooltips on series. The AxisTooltipBackColor property specifies the visual appearance of the tooltips on the axes. The AxisTooltipForeColor property indicates the foreground color used for displaying tooltips on axes

For instance:

  • "null", specifies that the tooltip's background is equivalent with the color of the serie
  • "black", specifies that the tooltip's background is always shown in black
  • 0x1000000, defines the skin identifier to apply on the tooltip's background (use the Add method to add new skins to the control)


property SerieTooltipForeColor

property ExCursor.SerieTooltipForeColor as Variant
Indicates the foreground color used for displaying tooltips on series

Type | Description
Variant | A string expression that defines the foreground color of the tooltip that's shown once the crossover cursor hovers the chart. This color property accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively
By default, the SerieTooltipForeColor property is "rgb(255,255,254)" equivalent of white. The SerieTooltipForeColor property indicates the foreground color used for displaying tooltips on series. The SerieTooltipBackColor property specifies the the visual appearance of the tooltips on the series. The AxisTooltipBackColor property specifies the visual appearance of the tooltips on the axes. The AxisTooltipForeColor property indicates the foreground color used for displaying tooltips on axes

For instance:

  • "black", specifies that the tooltip's foreground is always shown in black


property ShowCursorCategoryLine

property ExCursor.ShowCursorCategoryLine as ShowCursorCategoryLineEnum
Specifies the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart

Type Description
ShowCursorCategoryLineEnum A ShowCursorCategoryLineEnum expression that specifies the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart. For instance:
  • exCursorCategoryHide or 0, no vertical/horizontal category/x-line is shown
  • exCursorCategoryShowNear or 1 {number}, the vertical/horizontal category/x-line is shown when the pointer is near the category

By default, the ShowCursorCategoryLine property is exCursorCategoryShowAsIs (the vertical/horizontal category/x-line is shown when the pointer is near the category). The ShowCursorCategoryLine property specifies the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart. The ShowCursorSerieTooltip property defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series. The Visible property shows or hides the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes). The ShowCursorValueLine property shows or hides the horizontal/vertical value/y-line, when the crosshair cursor hovers the chart. The ShowCursorXLine property shows or hides the vertical y-line, when the crosshair cursor hovers the chart (available for xy-chart types only). The ShowCursorYLine property shows or hides the horizontal x-line, when the crosshair cursor hovers the chart (available for xy-chart types only). The TooltipPad property applies the padding to axes or series tooltips as well.


property ShowCursorSerieTooltip

property ExCursor.ShowCursorSerieTooltip as ShowCursorSerieTooltipEnum
Defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series

Type Description
ShowCursorSerieTooltipEnum A ShowCursorSerieTooltipEnum expression that defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series. For instance:
  • exCursorSerieHide or 0, no tooltip is displayed when the crosshair cursor hovers the chart
  • exCursorSerieShowNear or 1, the vertical/horizontal category/x-line indicates the series whose tooltip is displayed, when the crosshair cursor hovers the chart (default)
By default, the ShowCursorSerieTooltip property is exCursorSerieShowNear (The vertical/horizontal category/x-line indicates the series whose tooltip is displayed, when the crosshair cursor hovers the chart). The ShowCursorSerieTooltip property defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series. The ShowCursorValueLine property shows or hides the horizontal/vertical value/y-line, when the crosshair cursor hovers the chart. The Visible property shows or hides the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes). The ShowCursorCategoryLine property specifies the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart. The ShowCursorXLine property shows or hides the vertical y-line, when the crosshair cursor hovers the chart (available for xy-chart types only). The ShowCursorYLine property shows or hides the horizontal x-line, when the crosshair cursor hovers the chart (available for xy-chart types only)


property ShowCursorValueLine

property ExCursor.ShowCursorValueLine as Boolean
Shows or hides the horizontal/vertical value/y-line, when the crosshair cursor hovers the chart

Type Description
Boolean A boolean expression that specifies whether the horizontal/vertical value/y-line, when the crosshair cursor hovers the chart. For instance:
  • false, the horizontal/vertical value/y-line is hidden
  • true, the horizontal/vertical value/y-line is shown when the pointer hovers the chart
By default, the ShowCursorValueLine property is True. The ShowCursorValueLine property shows or hides the horizontal/vertical value/y-line, when the crosshair cursor hovers the chart. The ShowCursorXLine property shows or hides the vertical y-line, when the crosshair cursor hovers the chart (available for xy-chart types only). The ShowCursorYLine property shows or hides the horizontal x-line, when the crosshair cursor hovers the chart (available for xy-chart types only), The Visible property shows or hides the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes). The ShowCursorCategoryLine property specifies the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart. The ShowCursorSerieTooltip property defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series. The TooltipPad property applies the padding to axes or series tooltips as well.


property ShowCursorXLine

property ExCursor.ShowCursorXLine as Boolean
Shows or hides the vertical y-line, when the crosshair cursor hovers the chart (available for xy-chart types only)

Type Description
Boolean A boolean expression that specifies whether the vertical y-line, when the crosshair cursor hovers the chart (available for xy-chart types only). For instance:
  • false, the vertical y-line is hidden
  • true, the vertical y-line is shown when the pointer hovers the chart
By default, the ShowCursorXLine property is True. The ShowCursorXLine property shows or hides the vertical y-line, when the crosshair cursor hovers the chart (available for xy-chart types only). The ShowCursorYLine property shows or hides the horizontal x-line, when the crosshair cursor hovers the chart (available for xy-chart types only). The Visible property shows or hides the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes). The ShowCursorCategoryLine property specifies the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart. The ShowCursorSerieTooltip property defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series. The ShowCursorValueLine property shows or hides the horizontal/vertical value/y-line, when the crosshair cursor hovers the chart.


property ShowCursorYLine

property ExCursor.ShowCursorYLine as Boolean
Shows or hides the horizontal x-line, when the crosshair cursor hovers the chart (available for xy-chart types only)

Type Description
Boolean A boolean expression that specifies whether the horizontal x-line, when the crosshair cursor hovers the chart (available for xy-chart types only). For instance:
  • false, the horizontal x-line is hidden
  • true, the horizontal x-line is shown when the pointer hovers the chart
By default, the ShowCursorYLine property is True. The ShowCursorYLine property shows or hides the horizontal x-line, when the crosshair cursor hovers the chart (available for xy-chart types only). The ShowCursorXLine property shows or hides the vertical y-line, when the crosshair cursor hovers the chart (available for xy-chart types only). The Visible property shows or hides the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes). The ShowCursorCategoryLine property specifies the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart. The ShowCursorSerieTooltip property defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series. The ShowCursorValueLine property shows or hides the horizontal/vertical value/y-line, when the crosshair cursor hovers the chart.


property TooltipPad

property ExCursor.TooltipPad as Variant
Defines the tooltip's padding (space between tooltip's caption and its borders)

Type | Description
Variant | A string expression in "horizontal,vertical" format that defines the padding (space between tooltip's caption and its borders) for the tooltips while cursor hovers the chart, or a numeric expression that defines the horizontal and vertical padding.
By default, the TooltipPad property is "2,2". The TooltipPad property applies the padding to axes or series tooltips as well. The ShowCursorCategoryLine property specifies the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart. The ShowCursorSerieTooltip property defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series. The ShowCursorValueLine property shows or hides the horizontal/vertical value/y-line, when the crosshair cursor hovers the chart. The ShowCursorXLine property shows or hides the vertical y-line, when the crosshair cursor hovers the chart (available for xy-chart types only). The ShowCursorYLine property shows or hides the horizontal x-line, when the crosshair cursor hovers the chart (available for xy-chart types only).

The following screen show show the tooltips with a different padding value:


property Visible

property ExCursor.Visible as Boolean
Shows or hides the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes)

Type Description
Boolean A Boolean expression that specifies whether the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes) is visible or hidden. For instance:
  • false, by default, the cursor is hidden
  • true, shows the crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes
By default, the Visible property is False (the cursor is hidden). The Visible property shows or hides the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes). The CursorFormat property specifies an expression to customize the tooltips to display, when the crosshair cursor hovers the charts of the series. The ShowCursorCategoryLine property specifies the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart. The ShowCursorSerieTooltip property defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series. The ShowCursorValueLine property shows or hides the horizontal/vertical value/y-line, when the crosshair cursor hovers the chart. The ShowCursorXLine property shows or hides the vertical y-line, when the crosshair cursor hovers the chart (available for xy-chart types only). The ShowCursorYLine property shows or hides the horizontal x-line, when the crosshair cursor hovers the chart (available for xy-chart types only).


FormatGridLinesOptions object
The FormatGridLinesOptions type defines the size, color and style of the grid-lines. The FormatGridLinesOptions object supports the following properties and methods:

Name | Description
Align | Specifies the flags to display the label between grid lines
Color | Specifies the line's color
Format | Specifies an expression to define the labels between grid lines
Skip | Specifies the number of grid lines to skip
Step | Defines the step to show the grid lines
Style | Defines the style of the line
Width | Specifies the line's width or size (1 by default)


property Align

property FormatGridLinesOptions.Align as DrawTextFormatEnum
Specifies the flags to display the label between grid lines

Type | Description
DrawTextFormatEnum | A DrawTextFormatEnum expression that specifies the the flags to display the label between grid lines
By default, the Align property is exTextAlignLeft | exTextAlignBottom (the label is displayed to the bottom-left corner). The Align property specifies the flags to display the label between grid lines. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip


property Color

property FormatGridLinesOptions.Color as Variant
Specifies the line's color

Type | Description
Variant | A string expression that defines the color of the grid line The color accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively.
By default, the Color property is 0(black, RGB(0,0,0)). The Color property specifies the line's color. The Format property specifies an expression to define the labels between grid lines. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip.

For instance:

  • "blue", shows the grid lines in blue
  • "rgb(0,128,0)", shows the grid lines in dark green
  • "#FF0000", shows the grid lines in red


property Format

property FormatGridLinesOptions.Format as String
Specifies an expression to define the labels between grid lines

Type Description
String A string expression that defines the labels (including ex-HTML) between grid lines. The expression supports the following keywords:
  • index, {number} defines the index of the category
  • value, {number} defines the name of the category

This property/method supports predefined constants and operators/functions as described here.

By default, the Format property is "", which indicates that no grid lines are defined. The Format property specifies an expression to define the labels between grid lines. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip

For instance:

  • "value left 4", defines the grid lines based on the first 4-characters of the value (lets say the year of the category)
  • "`<fgcolor black>` + ((0:=date(value)) format `mmm`) + (month(=:0) = 1 ? `<br><b>` + (=:0 format `YYYY`) : ``)", defines a grid lines for each month (when the year is changed it displays the year as well)

Currently, the Exontrol's built-in HTML format supports the following HTML tags:

  • <b> ... </b> displays the text in bold.
  • <i> ... </i> displays the text in italics.
  • <u> ... </u> underlines the text.
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The ExButton, ExComboBox, ExG2antt, ExGantt, ExGrid, ExHTML, ExLabel, ExList, ExOrgChart, ExplorerTree, ExSchedule, ExSurface, ExSwimlane, ExTree controls support expandable HTML captions feature. The expandable-captions allow you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor color> ... </fgcolor> or <fgcolor=color> ... </fgcolor> displays text with a specified foreground color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <bgcolor color> ... </bgcolor> or <bgcolor=color> ... </bgcolor> displays text with a specified background color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <solidline color> ... </solidline> or <solidline=color> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <dotline color> ... </dotline> or <dotline=color> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra color;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the color, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out color;width> ... </out> shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha color;width;offset> ... </sha> define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property Skip

property FormatGridLinesOptions.Skip as Long
Specifies the number of grid lines to skip

Type | Description
Long | A long expression that defines the number of grid lines to skip
By default, the Skip property is 0(no effect). The Skip property specifies the number of grid lines to skip. The Step property defines the step to show the grid lines. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default).


property Step

property FormatGridLinesOptions.Step as Long
Defines the step to show the grid lines

Type | Description
Long | A long expression that defines the step to show the grid lines

By default, the Step property is 1(no effect). The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default).


property Style

property FormatGridLinesOptions.Style as Long
Defines the style of the line

Type Description
Long A long expression that defines the style of the line as one of the following values:
  • 0, solid
  • 1, dash
  • 2, dot
  • 3, dash-dot
  • 4, dash-dot-dot
By default, the Style property is 0(solid). The Style property defines the style of the line. The Color property specifies the line's color. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip


property Width

property FormatGridLinesOptions.Width as Long
Specifies the line's width or size (1 by default)

Type | Description
Long | A long expression that defines the size of the line
By default, the Width property is 1(1-pixel wide). The Width property specifies the line's width or size. The Color property specifies the line's color. The Style property defines the style of the line. The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip


Graph object
Tip The /COM object can be placed on a HTML page (with usage of the HTML object tag: <object classid="clsid:...">) using the class identifier: {FE177A66-2B4E-48E1-ADAD-E5C17BE47660}. The object's program identifier is: "Exontrol.Graph". The /COM object module is: "ExGraph.dll"
The ExGraph component stands out as a powerhouse for graphical data visualization, offering an extensive repertoire of chart types and styles to cater to diverse data visualization needs. Its versatility shines through features such as easy navigation, resizing, and scrolling, ensuring seamless interaction with data sets of varying sizes and complexities.Users can explore their data with ease, thanks to intuitive functionalities like overview, legend, and cursor view, which enhance understanding and analysis. Moreover, ExGraph's flexibility extends to supporting numerous chart types, enabling users to present data with precision and clarity by configuring axes dynamically within the same view.

The Graph control supports the following events:

Name | Description
AllowScroll | Indicates whether the user can scroll the chart by drag and drop.
AllowValueResize | Indicates whether the user can resize the chart by drag and drop.
AnchorFromPoint | Retrieves the identifier of the anchor from point.
Appearance | Retrieves or sets the control's appearance.
AttachTemplate | Attaches a script to the current object, including the events, from a string, file, a safe array of bytes.
AutoFit | Specifies whether the control resizes the elements of the series to fit the control's content
BackColor | Specifies the control's background color.
Background | Returns or sets a value that indicates the background color for parts in the control.
BeginUpdate | Maintains performance when items are added to the control one at a time. This method prevents the control from painting until the EndUpdate method is called.
BorderHeight | Sets or retrieves a value that indicates the border height of the control.
BorderWidth | Sets or retrieves a value that indicates the border width of the control.
CategoryAxes | Gets the category-axes object.
CategoryAxis | Creates and gets the first category-axis of the view.
Cursor | Gets the options to configure the control's cursor.
Data | Defines the source the control imports data from
DataOptions | Defines the options to import data. The method has effect only next time the Data property is called.
DataSample | Retrieves a data sample.
DataSource | Retrieves or sets a value that indicates the data source for object.
Enabled | Enables or disables the control.
EndUpdate | Resumes painting the control after painting is suspended by the BeginUpdate method.
EventParam | Retrieves or sets a value that indicates the current's event parameter.
ExecuteTemplate | Executes a template and returns the result.
Font | Retrieves or sets the control's font.
ForeColor | Specifies the control's foreground color.
FormatABC | Formats the A,B,C values based on the giving expression and returns the result.
FormatAnchor | Specifies the visual effect for anchor elements in HTML captions.
FormatText | Specifies the format to display the view's invalid label
FreezeEvents | Prevents the control to fire any event.
HTMLPicture | Adds or replaces a picture in HTML captions.
hWnd | Retrieves the control's window handle.
Images | Sets at runtime the control's image list. The Handle should be a handle to an Images List Control.
ImageSize | Retrieves or sets the size of icons the control displays.
Import | Imports the control's data from a CSV format
Invalid | Specifies the label the control is displaying while no or invalid data
Legend | Gets the control's legend panel.
Misc | Defines the control's miscellaneous options
Overview | Gets the control's overview panel.
Pad | Defines the chart's padding (space between the chart's content and its border)
Picture | Retrieves or sets a graphic to be displayed in the control.
PictureDisplay | Retrieves or sets a value that indicates the way how the graphic is displayed on the control's background
Refresh | Refreses the control.
ReplaceIcon | Adds a new icon, replaces an icon or clears the control's image list.
ScrollBars | Returns or sets a value that determines whether the control has horizontal and/or vertical scroll bars.
ScrollButtonHeight | Specifies the height of the button in the vertical scrollbar.
ScrollButtonWidth | Specifies the width of the button in the horizontal scrollbar.
ScrollFont | Retrieves or sets the scrollbar's font.
ScrollHeight | Specifies the height of the horizontal scrollbar.
ScrollOrderParts | Specifies the order of the buttons in the scroll bar.
ScrollPartCaption | Specifies the caption being displayed on the specified scroll part.
ScrollPartCaptionAlignment | Specifies the alignment of the caption in the part of the scroll bar.
ScrollPartEnable | Indicates whether the specified scroll part is enabled or disabled.
ScrollPartVisible | Indicates whether the specified scroll part is visible or hidden.
ScrollPos | Specifies the vertical/horizontal scroll position.
ScrollThumbSize | Specifies the size of the thumb in the scrollbar.
ScrollToolTip | Specifies the tooltip being shown when the user moves the scroll box.
ScrollWidth | Specifies the width of the vertical scrollbar.
Series | Gets the series object.
SeriesColors | Defines the default colors for the chart's series
SeriesColorsDecrease | Defines the default colors for the chart's series (when the value goes down)
ShowImageList | Specifies whether the control's image list window is visible or hidden.
ShowToolTip | Shows the specified tooltip at given position.
Sort | Defines the list of series to be sorted, separated by spaces
Template | Specifies the control's template.
TemplateDef | Defines inside variables for the next Template/ExecuteTemplate call.
TemplatePut | Defines inside variables for the next Template/ExecuteTemplate call.
ToolTipDelay | Specifies the time in ms that passes before the ToolTip appears.
ToolTipFont | Retrieves or sets the tooltip's font.
ToolTipFormat | Specifies the expression to customize the tooltip (shown while the cursor hovers value-points of the chart)
ToolTipMargin | Defines the size of the control's tooltip margins.
ToolTipPopDelay | Specifies the period in ms of time the ToolTip remains visible if the mouse pointer is stationary within a control.
ToolTipWidth | Specifies a value that indicates the width of the tooltip window, in pixels.
ValueAxes | Gets the value-axes object.
ValueAxis | Creates and gets the first value-axis of the view.
ValuePoint | Specifies the size, color, frame color and size of the value point, frame color, size and length of the value line, color, frame color, size and pad of the value-point's background, each separated by a comma.
ValueSize | Specifies the size to show a column or a bar within the chart
Version | Retrieves the control's version.
VisualAppearance | Retrieves the control's appearance.
XAxis | Defines the configuration-options for x-axis of xy-compatible chart-types ('scatter', 'scatterArea', 'scatterLine' or 'bubble')
YAxis | Defines the configuration-options for y-axis of xy-compatible chart-types ('scatter', 'scatterArea', 'scatterLine' or 'bubble')


property AllowScroll

property Graph.AllowScroll as Boolean
Indicates whether the user can scroll the chart by drag and drop.

Type | Description
Boolean | A boolean expression that specifies whether the user can scroll the chart by drag and drop.
By default, the AllowScroll property is True, which indicates that the user can scroll the chart by drag and drop. The AllowScroll property has effect only if the chart requires a scroll-bar to display. The Type property specifies the type of the serie (the way the data is represented). The AllowScroll property has effect for area-compatible chart type as follows:
  • "area", an area chart or area graph displays graphically quantitative data. It is based on the line chart. The area between axis and line are commonly emphasized with colors, textures and hatchings. Commonly one compares two or more quantities with an area chart. (data requires array of numbers, supports vertical field, scrollable)
  • "column", a column chart or column graph is a chart or graph that presents categorical data with rectangular columns with heights proportional to the values that they represent. A horizontal column chart is called a bar chart. (data requires array of numbers, supports vertical field, scrollable)
  • "waterfall", a waterfall chart is a form of data visualization that helps in understanding the cumulative effect of sequentially introduced positive or negative values. These intermediate values can either be time based or category based. The waterfall chart is also known as a flying bricks chart or Mario chart due to the apparent suspension of columns (bricks) in mid-air. Often in finance, it will be referred to as a bridge. (data requires array of numbers, supports vertical field, scrollable)
  • "line", a line chart or line graph, also known as curve chart is a type of chart which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields. It is similar to a scatter plot except that the measurement points are ordered (typically by their x-axis value) and joined with straight line segments. A line chart is often used to visualize a trend in data over intervals of time - a time series - thus the line is often drawn chronologically. In these cases they are known as run charts. (data requires array of numbers, supports vertical field, scrollable)
  • "rangearea", a range chart displays sets of data points, each of which is defined by multiple values for the same category, and emphasizes the distance between the two values. The category labels are displayed on the category axis. The plain Range chart fills in the area between the top and the bottom value for each data point. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "rangecolumn", a range column chart displays information as a range of data by plotting two Y-values (low and high) per data point. The vertical axis shows the values, and the horizontal axis shows the categories they belong to; in multiple-series range column charts, values are grouped by categories. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "candlestick", a candlestick chart (also called Japanese candlestick chart or K-line) is a style of financial chart used to describe price movements of a security, derivative, or currency. While similar in appearance to a bar chart, each candleStick represents four important pieces of information for that day: open and close in the thick body, and high and low in the "candle wick". Being densely packed with information, it tends to represent trading patterns over short periods of time, often a few days or a few trading sessions. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)
  • "ohlc", an open-high-low-close chart (also OHLC) is a type of chart typically used to illustrate movements in the price of a financial instrument over time. Each vertical line on the chart shows the price range (the highest and lowest prices) over one unit of time, e.g., one day or one hour. Tick marks project from each side of the line indicating the opening price (e.g., for a daily bar chart this would be the starting price for that day) on the left, and the closing price for that time period on the right. The bars may be shown in different hues depending on whether prices rose or fell in that period. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)

while the AutoFit property is not set. The AutoFit property specifies whether the control resizes the elements of the series to fit the control's content. The ScrollPos property can be used to change programmatically the position of the control's scroll bar.Use the ScrollBars property to define the control's scroll bars.


property AllowValueResize

property Graph.AllowValueResize as Boolean
Indicates whether the user can resize the chart by drag and drop.

Type | Description
Boolean | A boolean expression that specifies whether the user can resize the chart by drag and drop.
By default, the AllowValueResize property is True, which indicates that the user can resize the chart by drag and drop. The AllowValueResize property has effect only if the chart requires a scroll-bar to display. The ValueSize property specifies the size to show a column or a bar within the chart. The following properties controls the size of columns/bars for area-compatible charts:
  • ValueSize, specifies the size to show a column or a bar within the chart
  • Misc(exMarginValueRatio), specifies the distance (proportionally with the valueSize property) between the first and last value of the same category and its border
  • Misc(exPaddingValueRatio), specifies the distance (proportionally with the valueSize property) between two values of the same category

The Type property specifies the type of the serie (the way the data is represented). The AllowValueResize property has effect for area-compatible chart type as follows:

  • "area", an area chart or area graph displays graphically quantitative data. It is based on the line chart. The area between axis and line are commonly emphasized with colors, textures and hatchings. Commonly one compares two or more quantities with an area chart. (data requires array of numbers, supports vertical field, scrollable)
  • "column", a column chart or column graph is a chart or graph that presents categorical data with rectangular columns with heights proportional to the values that they represent. A horizontal column chart is called a bar chart. (data requires array of numbers, supports vertical field, scrollable)
  • "waterfall", a waterfall chart is a form of data visualization that helps in understanding the cumulative effect of sequentially introduced positive or negative values. These intermediate values can either be time based or category based. The waterfall chart is also known as a flying bricks chart or Mario chart due to the apparent suspension of columns (bricks) in mid-air. Often in finance, it will be referred to as a bridge. (data requires array of numbers, supports vertical field, scrollable)
  • "line", a line chart or line graph, also known as curve chart is a type of chart which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields. It is similar to a scatter plot except that the measurement points are ordered (typically by their x-axis value) and joined with straight line segments. A line chart is often used to visualize a trend in data over intervals of time - a time series - thus the line is often drawn chronologically. In these cases they are known as run charts. (data requires array of numbers, supports vertical field, scrollable)
  • "rangearea", a range chart displays sets of data points, each of which is defined by multiple values for the same category, and emphasizes the distance between the two values. The category labels are displayed on the category axis. The plain Range chart fills in the area between the top and the bottom value for each data point. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "rangecolumn", a range column chart displays information as a range of data by plotting two Y-values (low and high) per data point. The vertical axis shows the values, and the horizontal axis shows the categories they belong to; in multiple-series range column charts, values are grouped by categories. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "candlestick", a candlestick chart (also called Japanese candlestick chart or K-line) is a style of financial chart used to describe price movements of a security, derivative, or currency. While similar in appearance to a bar chart, each candleStick represents four important pieces of information for that day: open and close in the thick body, and high and low in the "candle wick". Being densely packed with information, it tends to represent trading patterns over short periods of time, often a few days or a few trading sessions. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)
  • "ohlc", an open-high-low-close chart (also OHLC) is a type of chart typically used to illustrate movements in the price of a financial instrument over time. Each vertical line on the chart shows the price range (the highest and lowest prices) over one unit of time, e.g., one day or one hour. Tick marks project from each side of the line indicating the opening price (e.g., for a daily bar chart this would be the starting price for that day) on the left, and the closing price for that time period on the right. The bars may be shown in different hues depending on whether prices rose or fell in that period. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)

while the AutoFit property is not set. The AutoFit property specifies whether the control resizes the elements of the series to fit the control's content.


property AnchorFromPoint

property Graph.AnchorFromPoint (X as OLE_XPOS_PIXELS, Y as OLE_YPOS_PIXELS) as String
Retrieves the identifier of the anchor from point.

Type | Description
X as OLE_XPOS_PIXELS | A single that specifies the current X location of the mouse pointer. The x values is always expressed in client coordinates.
Y as OLE_YPOS_PIXELS | A single that specifies the current Y location of the mouse pointer. The y values is always expressed in client coordinates.
String | A String expression that specifies the identifier (id) of the anchor element from the point, or empty string if there is no anchor element at the cursor.
Use the AnchorFromPoint property to determine the identifier of the anchor from the point. Use the <a id;options> anchor elements to add hyperlinks to cell's caption. The control fires the AnchorClick event when the user clicks an anchor element. Use the ShowToolTip method to show the specified tooltip at given or cursor coordinates. The MouseMove event is generated continually as the mouse pointer moves across the control.

The following VB sample displays ( as tooltip ) the identifier of the anchor element from the cursor:

Private Sub Graph1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    With Graph1
        .ShowToolTip .AnchorFromPoint(-1, -1)
    End With
End Sub

The following VB.NET sample displays ( as tooltip ) the identifier of the anchor element from the cursor:

Private Sub AxGraph1_MouseMoveEvent(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_MouseMoveEvent) Handles AxGraph1.MouseMoveEvent
    With AxGraph1
        .ShowToolTip(.get_AnchorFromPoint(-1, -1))
    End With
End Sub

The following C# sample displays ( as tooltip ) the identifier of the anchor element from the cursor:

private void axGraph1_MouseMoveEvent(object sender, AxEXGRAPHLib._IGraphEvents_MouseMoveEvent e)
{
    axGraph1.ShowToolTip(axGraph1.get_AnchorFromPoint(-1, -1));
}

The following C++ sample displays ( as tooltip ) the identifier of the anchor element from the cursor:

void OnMouseMoveGraph1(short Button, short Shift, long X, long Y)
{
    COleVariant vtEmpty; V_VT( &vtEmpty ) = VT_ERROR;
    m_graph.ShowToolTip( m_graph.GetAnchorFromPoint( -1, -1 ), vtEmpty, vtEmpty, vtEmpty );
}

The following VFP sample displays ( as tooltip ) the identifier of the anchor element from the cursor:

*** ActiveX Control Event ***
LPARAMETERS button, shift, x, y

with thisform
    With .Graph1
        .ShowToolTip(.AnchorFromPoint(-1, -1))
    EndWith
endwith


property Appearance

property Graph.Appearance as AppearanceEnum
Retrieves or sets the control's appearance.

Type | Description
AppearanceEnum | An AppearanceEnum expression that specifies the control's appearance.
By default, the Appearance property is None2. The Appearance property specifies the control's appearance. The BackColor property specifies the control's background color.


method AttachTemplate

method Graph.AttachTemplate (Template as Variant)
Attaches a script to the current object, including the events, from a string, file, a safe array of bytes.

Type | Description
Template as Variant | A string expression that specifies the Template to execute.
The AttachTemplate/x-script code is a simple way of calling control/object's properties, methods/events using strings. The AttachTemplate features allows you to attach a x-script code to the component. The AttachTemplate method executes x-script code ( including events ), from a string, file or a safe array of bytes. This feature allows you to run any x-script code for any configuration of the component /COM, /NET or /WPF. Exontrol owns the x-script implementation in its easiest form and it does not require any VB engine or whatever to get executed. The x-script code can be converted to several programming languages using the eXHelper tool.

The following sample opens the Windows Internet Explorer once the user clicks the control ( /COM version ):

AttachTemplate("handle Click(){ CreateObject(`internetexplorer.application`){ Visible = True; Navigate(`https://www.exontrol.com`) } } ")

This script is equivalent with the following VB code:

Private Sub Graph1_Click()
    With CreateObject("internetexplorer.application")
        .Visible = True
        .Navigate ("https://www.exontrol.com")
    End With
End Sub

The AttachTemplate/x-script syntax in BNF notation is defined like follows:

<x-script> := <lines>
<lines> := <line>[<eol> <lines>] | <block>
<block> := <call> [<eol>] { [<eol>] <lines> [<eol>] } [<eol>]
<eol> := ";" | "\r\n"
<line> := <dim> | <createobject> | <call> | <set> | <comment> | <handle>[<eol>]{[<eol>]<lines>[<eol>]}[<eol>]
<dim> := "DIM" <variables>
<variables> := <variable> [, <variables>]
<variable> := "ME" | <identifier>
<createobject> := "CREATEOBJECT(`"<type>"`)"
<call> := <variable> | <property> | <variable>"."<property> | <createobject>"."<property>
<property> := [<property>"."]<identifier>["("<parameters>")"]
<set> := <call> "=" <value>
<property> := <identifier> | <identifier>"("[<parameters>]")"
<parameters> := <value> [","<parameters>]
<value> := <boolean> | <number> | <color> | <date> | <string> | <createobject> | <call>
<boolean> := "TRUE" | "FALSE"
<number> := "0X"<hexa> | ["-"]<integer>["."<integer>]
<digit10> := 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<digit16> := <digit10> | A | B | C | D | E | F
<integer> := <digit10>[<integer>]
<hexa> := <digit16>[<hexa>]
<color> := "RGB("<integer>","<integer>","<integer>")"
<date> := "#"<integer>"/"<integer>"/"<integer>" "[<integer>":"<integer>":"<integer>"]"#"
<string> := '"'<text>'"' | "`"<text>"`"
<comment> := "'"<text>
<handle> := "handle " <event>
<event> := <identifier>"("[<eparameters>]")"
<eparameters> := <eparameter> [","<eparameters>]
<parameters> := <identifier>

where:

<identifier> indicates an identifier of the variable, property, method or event, and should start with a letter.
<type> indicates the type the CreateObject function creates, as a progID for /COM version or the assembly-qualified name of the type to create for /NET or /WPF version
<text> any string of characters

The Template or x-script is composed by lines of instructions. Instructions are separated by "\n\r" ( newline characters ) or ";" character.

The advantage of the AttachTemplate relative to Template / ExecuteTemplate is that the AttachTemplate can add handlers to the control events.


property AutoFit

property Graph.AutoFit as Boolean
Specifies whether the control resizes the elements of the series to fit the control's content

Type | Description
Boolean | A boolean expression that specifies whether the control resizes the elements of the series to fit the control's content
By default, the AutoFit property is False. The AutoFit property specifies whether the control resizes the elements of the series to fit the control's content. If the AutoFit property is True, the ValueSize property has no effect. The ValueSize property specifies the size to show a column or a bar within the chart.

The Type property specifies the type of the serie (the way the data is represented). The AutoFit property has effect for area-compatible chart type as follows:

  • "area", an area chart or area graph displays graphically quantitative data. It is based on the line chart. The area between axis and line are commonly emphasized with colors, textures and hatchings. Commonly one compares two or more quantities with an area chart. (data requires array of numbers, supports vertical field, scrollable)
  • "column", a column chart or column graph is a chart or graph that presents categorical data with rectangular columns with heights proportional to the values that they represent. A horizontal column chart is called a bar chart. (data requires array of numbers, supports vertical field, scrollable)
  • "waterfall", a waterfall chart is a form of data visualization that helps in understanding the cumulative effect of sequentially introduced positive or negative values. These intermediate values can either be time based or category based. The waterfall chart is also known as a flying bricks chart or Mario chart due to the apparent suspension of columns (bricks) in mid-air. Often in finance, it will be referred to as a bridge. (data requires array of numbers, supports vertical field, scrollable)
  • "line", a line chart or line graph, also known as curve chart is a type of chart which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields. It is similar to a scatter plot except that the measurement points are ordered (typically by their x-axis value) and joined with straight line segments. A line chart is often used to visualize a trend in data over intervals of time - a time series - thus the line is often drawn chronologically. In these cases they are known as run charts. (data requires array of numbers, supports vertical field, scrollable)
  • "rangearea", a range chart displays sets of data points, each of which is defined by multiple values for the same category, and emphasizes the distance between the two values. The category labels are displayed on the category axis. The plain Range chart fills in the area between the top and the bottom value for each data point. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "rangecolumn", a range column chart displays information as a range of data by plotting two Y-values (low and high) per data point. The vertical axis shows the values, and the horizontal axis shows the categories they belong to; in multiple-series range column charts, values are grouped by categories. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "candlestick", a candlestick chart (also called Japanese candlestick chart or K-line) is a style of financial chart used to describe price movements of a security, derivative, or currency. While similar in appearance to a bar chart, each candleStick represents four important pieces of information for that day: open and close in the thick body, and high and low in the "candle wick". Being densely packed with information, it tends to represent trading patterns over short periods of time, often a few days or a few trading sessions. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)
  • "ohlc", an open-high-low-close chart (also OHLC) is a type of chart typically used to illustrate movements in the price of a financial instrument over time. Each vertical line on the chart shows the price range (the highest and lowest prices) over one unit of time, e.g., one day or one hour. Tick marks project from each side of the line indicating the opening price (e.g., for a daily bar chart this would be the starting price for that day) on the left, and the closing price for that time period on the right. The bars may be shown in different hues depending on whether prices rose or fell in that period. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)


property BackColor

property Graph.BackColor as Color
Retrieves or sets a value that indicates the control's background color.

Type | Description
Color | A color expression that indicates the control's background color

Use the BackColor property to set the control's background color. The Background property specifies a background color or a visual appearance for different parts of the control. The ForeColor property retrieves or sets a value that indicates the control's foreground color. Use the Enabled property to disable the control.


property Background

property Graph.Background(Part as BackgroundPartEnum) as Color
Returns or sets a value that indicates the background color for parts in the control.

Type | Description
Part as BackgroundPartEnum | A BackgroundPartEnum expression that indicates a part in the control.
Color | A Color expression that indicates the background color for a specified part. The last 7 bits in the high significant byte of the color to indicates the identifier of the skin being used. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the background's part.
The Background property specifies a background color or a visual appearance for different parts of the control. If the Background property is 0, the control draws the part as default. Use the Add method to add new skins to the control. Use the Remove method to remove a specific skin from the control. Use the Clear method to remove all skins in the control. Use the BeginUpdate and EndUpdate methods to maintain performance while init the control. Use the Refresh method to refresh the control.


method BeginUpdate

method Graph.BeginUpdate ()
Maintains performance when items are added to the control one at a time.

Type Description

The BeginUpdate method prevents the control from painting until the EndUpdate method is called. Use BeginUpdate and EndUpdate statement each time when the control requires more changes. Using the BeginUpdate and EndUpdate methods increase the speed of changing the control properties by preventing it from painting during changing.


property BorderHeight

property Graph.BorderHeight as Long
Sets or retrieves a value that indicates the border height of the control.

Type | Description
Long | A long expression that specifies the border height of the control
By default, the BorderHeight property is 0. The BorderHeight property sets or retrieves a value that indicates the border height of the control. The BorderWidth property sets or retrieves a value that indicates the border width of the control.


property BorderWidth

property Graph.BorderWidth as Long
Sets or retrieves a value that indicates the border width of the control.

Type | Description
Long | A long expression that specifies the border width of the control
By default, the BorderWidth property is 0. The BorderWidth property sets or retrieves a value that indicates the border width of the control. The BorderHeight property sets or retrieves a value that indicates the border height of the control.


property CategoryAxes

property Graph.CategoryAxes as CategoryAxes
Gets the category-axes object.

Type | Description
CategoryAxes | Indicates a reference to the view's category-axes as an object of CategoryAxes type
The CategoryAxes property gives access to the view's category-axes. The CategoryAxis property creates and gets the first category-axis of the view. The Add method adds different category-axes to the same view. The Count property counts the number of category-axes the view displays. The Clear method removes all objects in the collection. The Remove method removes a specific member from the CategoryAxes collection, giving its identifier. The Item property accesses a category-axis giving its index or key.


property CategoryAxis

property Graph.CategoryAxis as CategoryAxis
Creates and gets the first category-axis of the view.

Type | Description
CategoryAxis | A CategoryAxis object that defines the first category-axis of the view
The CategoryAxis property creates and gets the first category-axis of the view. The CategoryAxes property gives access to the view's category-axes. The Add method adds different category-axes to the same view. The Count property counts the number of category-axes the view displays. The Clear method removes all objects in the collection. The Remove method removes a specific member from the CategoryAxes collection, giving its identifier. The Item property accesses a category-axis giving its index or key.


property Cursor

property Graph.Cursor as ExCursor
Gets the options to configure the control's cursor.

Type | Description
ExCursor | An ExCursor object that defines the options to configure the control's cursor.
The ExCursor object defines the configuration options to display crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes. Use the Cursor to specify different configuration options to show the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes). The Visible property shows or hides the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes). The CursorFormat property specifies an expression to customize the tooltips to display, when the crosshair cursor hovers the charts of the series. The ShowCursorCategoryLine property specifies the flags to show the vertical/horizontal category/x-line, when the crosshair cursor hovers the chart. The ShowCursorSerieTooltip property defines the flags to show the tooltips, when the crosshair cursor hovers the charts of the series. The ShowCursorValueLine property shows or hides the horizontal/vertical value/y-line, when the crosshair cursor hovers the chart. The ShowCursorXLine property shows or hides the vertical y-line, when the crosshair cursor hovers the chart (available for xy-chart types only). The ShowCursorYLine property shows or hides the horizontal x-line, when the crosshair cursor hovers the chart (available for xy-chart types only).


property Data

property Graph.Data as Variant
Defines the source the control imports data from

Type Description
Variant The Source parameter may be one of the following:
  • A String expression that indicates the path to a file to be loaded or the content itself (If the expression points to a file, the file's content is loaded)
  • a Safe Array one-dimension or two dimensional to be loaded. If the Source parameter points to a one-dimension safe array, it indicates the rows to be loaded. If the Source parameter refers a two-dimension safe array, the first dimension indicates the rows, while the second indicates the column. If the Options parameter includes the word "reverse", the first dimension indicates the columns, while the second indicates the rows of data.
The Data method is equivalent with Import method. The DataOptions property specifies the options of the Import method. The Data property of the Serie object, defines the list of column-names or column-indexes separated by comma within the control's data, such as "AAPL (open),AAPL (high),AAPL (low),AAPL (close)" or "1,2,3,4".

The Import method loads CSV files / CSV content or data from a safe-array as explained:

  • A String expression that indicates the path to a file to be loaded or the content itself. If the expression points to a file, the file's content is loaded.The Import method loads CSV files or CSV content. A comma-separated values (CSV) file stores tabular data (numbers and text) in plain-text form. Plain text means that the file is a sequence of characters, with no data that has to be interpreted instead, as binary numbers. A CSV file consists of any number of records, separated by line breaks of some kind; each record consists of fields, separated by some other character or string, most commonly a literal comma or tab. Usually, all records have an identical sequence of fields. The Source parameter indicates the path to the CSV file to be loaded, or the content itself. For instance, the Import "C:\Program Files\Exontrol\ExGraph\Sample\data.txt" imports the data.txt file.
  • A Safe array of one-dimensional or two-dimension type, which indicates the data to be loaded. The safe array must be with 1 or 2 dimensions, else an error occurs. If the Source parameter refers a one-dimensional array, the content of the array indicates the values of the rows. If the Source parameter refers a two-dimensional array, the first dimension indicates the columns, while the second indicates the rows (unless the Options parameter indicates the "reverse" word, which reverses the columns with rows . For instance, in VB6 you can load data from a safe array using the syntax Import Array(1, 1, 2, 2, 3, 3, 4, 4). Where Array is a method of VB6 that creates a safe array of different values. The same way you can have the declaration Dim data(1,99) as String, and call the Import data, will load a two-dimensional array. The sample loads 2 columns, and 100 rows from the data array.

Here's a few samples of using Import method with arrays, using the /COM version:

  • VB,VBA: .Import (Array(1, 2, 3, 4, 5))
  • VB/NET: .GetOcx().Import(New Integer() {1, 2, 3, 4, 5})
  • C#: .Import(new int[] { 1, 2, 3, 4, 5 }, null);

Here's a few samples of using Import method with arrays, using the /NET version:

  • VB/NET: .Import(New Integer() {1, 2, 3, 4, 5})
  • C#: .Import(new int[] { 1, 2, 3, 4, 5 });;

The control can load data using one of the following methods:

  • Data, equivalend of Import method
  • Import method, loads data from a CSV file or from specified text.
  • DataSource property, assigns an ADO/DAO record set to be loaded.
The DataSample property gives a sample of the data being loaded.


property DataOptions

property Graph.DataOptions as Variant
Defines the options to import data. The method has effect only next time the Data property is called.

Type | Description
Variant | A String expression that specifies a list of options to be used while loading data using the Data method of string type, or a safe array of strings that indicates the name of the columns being loaded by the Data method of array type

If the Data parameter points to a string, the DataOptions parameter indicates a list of options separated by space character ( or \r, \n or \r\n newline delimiters ) as listed option=value, where the option and the value could be:

  • eor, (End Of Row), specifies the delimiter of the row data, \r\n (new-line separator) if missing. You can use the ' or ` to specify the value as a string.
  • eof, (End of Field), indicates the delimiter of fields inside the row, \t (tab character) if missing. You can use the ' or ` to specify the value as a string.
  • str, (STRing), specifies the characters to delimit the strings in the row data, nothing if missing. You can use the ' or ` to specify the value as a string.
  • hdr, (HeaDR), specifies if the data reads the first line as a header to be imported. Could be 1 or 0.

For instance, if the Options parameter is "hdr=0 eof=';'", it indicates that the data in the Source contains no header information, and the fields inside the data are separated by a ; character. If the Options parameter is "eof=';' str=`'`" it indicates that the separator of the fields in the data is ; character while the ' character delimits the strings inside the data.

If the Data parameter points to an array, the DataOptions parameter can be a safe array of strings, that defines the name of the columns to load.

The control can load data using one of the following methods:

  • Data, equivalent of Import method
  • Import method, loads data from a CSV file, from specified text or from an array
  • DataSource property, assigns an ADO/DAO record set to be loaded.
The DataSample property gives a sample of the data being loaded.


property DataSample

property Graph.DataSample as Variant
Retrieves a data sample.

Type | Description
Variant | A string expression that specifies the sample of the data being loaded
The DataSample property gives a sample of the data being loaded. The control can load data using one of the following methods:
  • Data, equivalend of Import method
  • Import method, loads data from a CSV file or from specified text.
  • DataSource property, assigns an ADO/DAO record set to be loaded.

The Data property of the Serie object, defines the list of column-names or column-indexes separated by comma within the control's data, such as "AAPL (open),AAPL (high),AAPL (low),AAPL (close)" or "1,2,3,4".

The DataSample property returns a string such as:

"OrderID"   "EmployeeID"    "OrderDate" "RequiredDate"  "ShippedDate"   "ShipVia"   "Freight"   "ShipName"  "ShipAddress"   "ShipCity"  "ShipRegion"    "ShipPostalCode"    "ShipCountry"
10248   5   #08/11/1994#    #08/14/1994#    #08/30/1994#    3   "32.38" "Vins et alcools Chevalier" "59 rue de l'Abbaye"    "Reims" ""  "51100" "France"
10249   6   #08/10/1994#    #08/22/1994#    #09/28/1994#    1   "11.61" "Toms Spezialitäten"    "Luisenstr. 48" "Münster"   ""  "44087" "Germany"
10250   3   #08/14/1994#    #08/18/1994#    #08/30/1994#    2   "65.83" "Hanari Carnes" "Rua do Paço, 67"   "Rio de Janeiro"    "RJ"    "05454-876" "Brazil"
10251   4   #08/01/1994#    #09/05/1994#    #08/15/1994#    1   "41.34" "Victuailles en stock"  "2, rue du Commerce"    "Lyon"  ""  "69004" "France"


property DataSource

property Graph.DataSource as Object
Retrieves or sets a value that indicates the data source for object.

Type | Description
Object | An Object that defines the control's data. Currently, the control accepts ADO.Recordset, ADODB.Recordset objects, DAO recordset.
The DataSource property may be used to load data from a table or a record set using the ADO or DAO recordsets. Microsoft's ActiveX Data Objects (ADO) is a set of Component Object Model (COM) objects for accessing data sources. In computer software, a data access object (DAO) is an object that provides an abstract interface to some type of database or other persistence mechanism. By mapping application calls to the persistence layer, DAOs provide some specific data operations without exposing details of the database. The Data property of the Serie object, defines the list of column-names or column-indexes separated by comma within the control's data, such as "AAPL (open),AAPL (high),AAPL (low),AAPL (close)" or "1,2,3,4".

The control can load data using one of the following methods:

  • Data, equivalend of Import method
  • Import method, loads data from a CSV file or from specified text.
  • DataSource property, assigns an ADO/DAO record set to be loaded.
The DataSample property gives a sample of the data being loaded.


property Enabled

property Graph.Enabled as Boolean
Enables or disables the control.

Type | Description
Boolean | A boolean expression that indicates whether the control is enabled or disabled.

Use the Enabled property to disable the control. Use the ForeColor property to change the control's foreground color. Use the BackColor property to change the control's background color.


method EndUpdate

method Graph.EndUpdate ()
Resumes painting the control after painting is suspended by the BeginUpdate method.

Type Description
Use BeginUpdate and EndUpdate statement each time when the control requires more changes. Using the BeginUpdate and EndUpdate methods increase the speed of changing the control properties by preventing it from painting during changing


property EventParam

property Graph.EventParam(Parameter as Long) as Variant
Retrieves or sets a value that indicates the current's event parameter.

Type | Description
Parameter as Long | A long expression that indicates the index of the parameter being requested ie 0 means the first parameter, 1 means the second, and so on. If -1 is used the EventParam property retrieves the number of parameters. Accessing an not-existing parameter produces an OLE error, such as invalid pointer ( E_POINTER )
Variant | A VARIANT expression that specifies the parameter's value.
The EventParam method is provided to allow changing the event's parameters passed by reference, even if your environment does not support changing it ( uniPaas 1.5 (formerly known as eDeveloper), DBase, and so on ). For instance, Unipaas event-handling logic cannot update ActiveX control variables by updating the received arguments. The EventParam(0) retrieves the value of the first parameter of the event, while the EventParam(1) = 0, changes the value of the second parameter to 0 ( the operation is successfully, only if the parameter is passed by reference ). The EventParam(-1) retrieves the number of the parameters of the current event.

Let's take the event "event KeyDown (KeyCode as Integer, ByVal Shift as Integer)", where the KeyCode parameter is passed by reference. For instance, put the KeyCode parameter on 0, and the arrow keys are disabled while the control has the focus.

In most languages you will type something like:

Private Sub Control1_KeyDown(KeyCode As Integer, Shift As Integer)
    KeyCode = 0
End Sub

In case your environment does not support events with parameters by reference, you can use a code like follows:

Private Sub Control1_KeyDown(KeyCode As Integer, Shift As Integer)
    Control1.EventParam(0) = 0
End Sub

In other words, the EventParam property provides the parameters of the current event for reading or writing access, even if your environment does not allow changing parameters by reference.

Calling the EventParam property outside of an event produces an OLE error, such as pointer invalid, as its scope was designed to be used only during events.


method ExecuteTemplate

method Graph.ExecuteTemplate (Template as String)
Executes a template and returns the result.

Type | Description
Template as String | A Template string being executed
Return | Description
Variant | A Variant expression that indicates the result after executing the Template.
Use the ExecuteTemplate property to returns the result of executing a template file. Use the Template property to execute a template without returning any result. Use the ExecuteTemplate property to execute code by passing instructions as a string ( template string ). For instance, you can use the EXPRINT.PrintExt = CONTROL.ExecuteTemplate("me") to print the control's content.

For instance, the following sample retrieves the the handle of the first visible item:

Debug.Print Graph1.ExecuteTemplate("Items.FirstVisibleItem()")

Most of our UI components provide a Template page that's accessible in design mode. No matter what programming language you are using, you can have a quick view of the component's features using the WYSWYG Template editor.

  • Place the control to your form or dialog.
  • Locate the Properties item, in the control's context menu, in design mode. If your environment doesn't provide a Properties item in the control's context menu, please try to locate in the Properties browser.
  • Click it, and locate the Template page.
  • Click the Help button. In the left side, you will see the component, in the right side, you will see a x-script code that calls methods and properties of the control.

The control's Template page helps user to initialize the control's look and feel in design mode, using the x-script language that's easy and powerful. The Template page displays the control on the left side of the page. On the right side of the Template page, a simple editor is displayed where user writes the initialization code. The control's look and feel is automatically updated as soon as the user types new instructions. The Template script is saved to the container persistence ( when Apply button is pressed ), and it is executed when the control is initialized at runtime. Any component that provides a WYSWYG Template page, provides a Template property. The Template property executes code from a string ( template string ).

The Template script is composed by lines of instructions. Instructions are separated by "\n\r" ( newline ) characters.

An instruction can be one of the following:

  • Dim list of variables Declares the variables. Multiple variables are separated by commas. ( Sample: Dim h, h1, h2 )
  • variable = property( list of arguments ) Assigns the result of the property to a variable. The "variable" is the name of a declared variable. The "property" is the property name of the object in the context. The "list or arguments" may include variables or values separated by commas. ( Sample: h = InsertItem(0,"New Child") )
  • property( list of arguments ) = value Changes the property. The value can be a variable, a string, a number, a boolean value or a RGB value.
  • method( list of arguments ) Invokes the method. The "list or arguments" may include variables or values separated by commas.
  • { Beginning the object's context. The properties or methods called between { and } are related to the last object returned by the property prior to { declaration.
  • } Ending the object's context
  • object. property( list of arguments ).property( list of arguments ).... The .(dot) character splits the object from its property. For instance, the Columns.Add("Column1").HeaderBackColor = RGB(255,0,0), adds a new column and changes the column's header back color.

The Template supports the following general functions:

  • RGB(R,G,B) property retrieves an RGB value, where the R, G, B are byte values that indicates the R G B values for the color being specified. For instance, the following code changes the control's background color to red: BackColor = RGB(255,0,0)
  • CreateObject(progID) property creates and retrieves a single uninitialized object of the class associated with a specified program identifier.


property Font

property Graph.Font as IFontDisp
Retrieves or sets the control's font.

Type | Description
IFontDisp | A Font object that defines the control's font.

Use the Font object to change the control's font. Use the Refresh method to refresh the control. Use the BeginUpdate and EndUpdate method to maintain performance while multiple changes are performed.

The following VB sample assigns by code a new font to the control:

With Graph1
    With .Font
        .Name = "Tahoma"
    End With
    .Refresh
End With

The following C++ sample assigns by code a new font to the control:

COleFont font = m_graph.GetFont();
font.SetName( "Tahoma" );
m_graph.Refresh();

the C++ sample requires definition of COleFont class ( #include "Font.h" )

The following VB.NET sample assigns by code a new font to the control:

With AxGraph1
    Dim font As System.Drawing.Font = New System.Drawing.Font("Tahoma", 10, FontStyle.Regular, GraphicsUnit.Point)
    .Font = font
    .CtlRefresh()
End With

The following C# sample assigns by code a new font to the control:

System.Drawing.Font font = new System.Drawing.Font("Tahoma", 10, FontStyle.Regular);
axGraph1.Font = font;
axGraph1.CtlRefresh();

The following VFP sample assigns by code a new font to the control:

with thisform.Graph1.Object
    .Font.Name = "Tahoma"
    .Refresh()
endwith

The following Template sample assigns by code a new font to the control:

Font
{
    Name = "Tahoma"
}


property ForeColor

property Graph.ForeColor as Color
Retrieves or sets a value that indicates the control's foreground color.

Type | Description
Color | A color expression that indicates the control's foreground color.
Use the ForeColor property to set the control's foreground color. The BackColor property retrieves or sets a value that indicates the control's background color. Use the Enabled property to disable the control.


method FormatABC

method Graph.FormatABC (Expression as String, [A as Variant], [B as Variant], [C as Variant])
Formats the A,B,C values based on the giving expression and returns the result.

Type | Description
Expression as String | A String that defines the expression to be evaluated.
A as Variant | A VARIANT expression that indicates the value of the A keyword.
B as Variant | A VARIANT expression that indicates the value of the B keyword.
C as Variant | A VARIANT expression that indicates the value of the C keyword.
Return | Description
Variant | A VARIANT expression that indicates the result of the evaluation the Graph.
The FormatABC method formats the A,B,C values based on the giving expression and returns the result.

For instance:

  • "A + B + C", adds / concatenates the values of the A, B and C
  • "value MIN 0 MAX 99", limits the value between 0 and 99
  • "value format ``", formats the value with two decimals, according to the control's panel setting
  • "date(`now`)" returns the current time as double

The FormatABC method supports the following keywords, constants, operators and functions:

  • A or value keyword, indicates a variable A whose value is giving by the A parameter
  • B keyword, indicates a variable B whose value is giving by the B parameter
  • C keyword, indicates a variable C whose value is giving by the C parameter

This property/method supports predefined constants and operators/functions as described here.


property FormatAnchor

property Graph.FormatAnchor(New as Boolean) as String
Specifies the visual effect for anchor elements in HTML captions.

Type | Description
New as Boolean | A Boolean expression that indicates whether to specify the anchors never clicked or anchors being clicked.
String | A String expression that indicates the HTMLformat to apply to anchor elements.
By default, the FormatAnchor(True) property is "<u><fgcolor=0000FF>#" that indicates that the anchor elements ( that were never clicked ) are underlined and shown in light blue. Also, the FormatAnchor(False) property is "<u><fgcolor=000080>#" that indicates that the anchor elements are underlined and shown in dark blue. The visual effect is applied to the anchor elements, if the FormatAnchor property is not empty. For instance, if you want to do not show with a new effect the clicked anchor elements, you can use the FormatAnchor(False) = "", that means that the clicked or not-clicked anchors are shown with the same effect that's specified by FormatAnchor(True). An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link. The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick event to notify that the user clicks an anchor element. This event is fired only if prior clicking the control it shows the hand cursor. The AnchorClick event carries the identifier of the anchor, as well as application options that you can specify in the anchor element. The hand cursor is shown when the user hovers the mouse on the anchor elements.


property FormatText

property Graph.FormatText as DrawTextFormatEnum
Specifies the format to display the view's invalid label

Type | Description
DrawTextFormatEnum | A DrawTextFormatEnum bit-OR flag combination that specifies the format to display the view's invalid label
By default, the FormatText property is exTextAlignCenter | exTextAlignVCenter | exTextWordEllipsis. The FormatText property specifies the format to display the view's invalid label. The Invalid property specifies the label the control is displaying while no or invalid data.


method FreezeEvents

method Graph.FreezeEvents (Freeze as Boolean)
Prevents the control to fire any event.

Type | Description
Freeze as Boolean | A Boolean expression that specifies whether the control' events are froze or unfroze
The FreezeEvents(True) method freezes the control's events until the FreezeEvents(False) method is called. You can use the FreezeEvents method to improve performance of the control while loading data into it.


property HTMLPicture

property Graph.HTMLPicture(Key as String) as Variant
Adds or replaces a picture in HTML captions.

Type | Description
Key as String | A String expression that indicates the key of the picture being added or replaced. If the Key property is Empty string, the entire collection of pictures is cleared.
Variant The HTMLPicture specifies the picture being associated to a key. It can be one of the followings:
  • a string expression that indicates the path to the picture file, being loaded.
  • a string expression that indicates the base64 encoded string that holds a picture object, Use the eximages tool to save your picture as base64 encoded format.
  • A Picture object that indicates the picture being added or replaced. ( A Picture object implements IPicture interface ),

If empty, the picture being associated to a key is removed. If the key already exists the new picture is replaced. If the key is not empty, and it doesn't not exist a new picture is added.
The HTMLPicture property handles a collection of custom size picture being displayed in the HTML captions, using the <img> tags. By default, the HTMLPicture collection is empty. Use the HTMLPicture property to add new pictures to be used in HTML captions. For instance, the HTMLPicture("pic1") = "c:\winnt\zapotec.bmp", loads the zapotec picture and associates the pic1 key to it. Any "<img>pic1</img>" sequence in HTML captions, displays the pic1 picture. On return, the HTMLPicture property retrieves a Picture object ( this implements the IPictureDisp interface ).

The following sample shows how to put a custom size picture in the column's header:

<CONTROL>.HTMLPicture("pic1") = "c:/temp/editors.gif"
<CONTROL>.HTMLPicture("pic2") = "c:/temp/editpaste.gif"

<COLUMN1>.HTMLCaption = "A <img>pic1</img>"
<COLUMN2>.HTMLCaption = "B <img>pic2</img>"
<COLUMN3>.HTMLCaption = "A <img>pic1</img> + B <img>pic2</img>"

The screen shot was generated using the following x-script:

BeginUpdate

HTMLPicture("pic1") = "c:/temp/editors.gif"
HTMLPicture("pic2") = "c:/temp/editpaste.gif"

MarkSearchColumn = False
ShowFocusRect = False
LinesAtRoot = -1
HeaderHeight = 38
BackColorHeader = RGB(255,255,255)
HeaderAppearance = 5
BackColor = RGB(255,255,255)

ConditionalFormats
{
    Add("%2 > 15")
    {
        Bold = True
        ForeColor = RGB(0,128,0)
        ApplyTo = 2
    }
    Add("%2 > 10 and %2 < 18")
    {
        Bold = True
        ForeColor = RGB(255,128,0)
        ApplyTo = 2
    }

}
Columns
{
    Add("A")
    {
        Editor.EditType = 4
        HTMLCaption="A   pic1"
    }
    Add("B")
    {
        Editor.EditType = 4
        HTMLCaption="B   pic2"
    }
    Add("A+B")
    {
        ComputedField = "%0 + %1"
        HTMLCaption = "A   pic1 + B   pic2"
        HeaderBold = True
        HeaderAlignment = 2
        Alignment = 2
    }
}
Items
{
    Dim h, h1
    h = InsertItem(,,"Group 1")
    CellEditorVisible(h,0) = False
    CellEditorVisible(h,1) = False
    CellValueFormat(h,2) = 1
    h1 = InsertItem(h,,16)
    CellValue(h1,1) = 17
    h1 = InsertItem(h,,2)
    CellValue(h1,1) = 11
    h1 = InsertItem(h,,2)
    CellValue(h1,1) = 9
    ExpandItem(h) = True
    h = InsertItem(,,"Group 2")
    CellEditorVisible(h,0) = False
    CellEditorVisible(h,1) = False
    CellValueFormat(h,2) = 1
    h1 = InsertItem(h,,16)
    CellValue(h1,1) = 9
    h1 = InsertItem(h,,12)
    CellValue(h1,1) = 11
    h1 = InsertItem(h,,2)
    CellValue(h1,1) = 2
    ExpandItem(h) = True
    SelectItem(h) = True
}
EndUpdate


property hWnd

property Graph.hWnd as Long
Retrieves the control's window handle.

Type | Description
Long | A long value that indicates the handle of the control's window.
Use the hWnd property to get the handle of the control's window. The Microsoft Windows operating environment identifies each form and control in an application by assigning it a handle, or hWnd. The hWnd property is used with Windows API calls. Many Windows operating environment functions require the hWnd of the active window as an argument.


method Images

method Graph.Images (Handle as Variant)
Sets the control's image list at runtime.

Type Description
Handle as Variant The Handle parameter can be:
  • A string expression that specifies the ICO file to add. The ICO file format is an image file format for computer icons in Microsoft Windows. ICO files contain one or more small images at multiple sizes and color depths, such that they may be scaled appropriately. For instance, Images("c:\temp\copy.ico") method adds the sync.ico file to the control's Images collection (string, loads the icon using its path)
  • A string expression that indicates the BASE64 encoded string that holds the icons list. Use the Exontrol's ExImages tool to save/load your icons as BASE64 encoded format. In this case the string may begin with "gBJJ..." (string, loads icons using base64 encoded string)
  • A reference to a Microsoft ImageList control (mscomctl.ocx, MSComctlLib.ImageList type) that holds the icons to add (object, loads icons from a Microsoft ImageList control)
  • A reference to a Picture (IPictureDisp implementation) that holds the icon to add. For instance, the VB's LoadPicture (Function LoadPicture([FileName], [Size], [ColorDepth], [X], [Y]) As IPictureDisp) or LoadResPicture (Function LoadResPicture(id, restype As Integer) As IPictureDisp) returns a picture object (object, loads icon from a Picture object)
  • A long expression that identifies a handle to an Image List Control ( the Handle should be of HIMAGELIST type ). On 64-bit platforms, the Handle parameter must be a Variant of LongLong / LONG_PTR data type ( signed 64-bit (8-byte) integers ), saved under llVal field, as VT_I8 type. The LONGLONG / LONG_PTR is __int64, a 64-bit integer. For instance, in C++ you can use as Images( COleVariant( (LONG_PTR)hImageList) ) or Images( COleVariant( (LONGLONG)hImageList) ), where hImageList is of HIMAGELIST type. The GetSafeHandle() method of the CImageList gets the HIMAGELIST handle (long, loads icon from HIMAGELIST type)

The control provides an image list window, that's displayed at design time. The ImageSize property defines the size (width/height) of the icons within the control's Images collection. Use the ShowImageList property to hide the image list window, at design time. At design time, the user can add new icons to the control's Images collection, by dragging icon files, exe files, etc, to the images list window. At runtime, the user can use the Images and ReplaceIcon method to change the Images collection. The Images collection is 1 based.


property ImageSize

property Graph.ImageSize as Long
Retrieves or sets the size of control' icons/images/check-boxes/radio-buttons.

Type | Description
Long | A long expression that defines the size of icons the control displays
By default, the ImageSize property is 16 (pixels). The ImageSize property specifies the size of icons being loaded using the Images method. The control's Images collection is cleared if the ImageSize property is changed, so it is recommended to set the ImageSize property before calling the Images method. The ImageSize property defines the size (width/height) of the icons within the control's Images collection. For instance, if the ICO file to load includes different types the one closest with the size specified by ImageSize property is loaded by Images method. The ImageSize property does NOT change the height for the control's font.


method Import

method Graph.Import ([Source as Variant], [Options as Variant])
Imports the control's data from a CSV format, from specified text or from an array.

Type | Description
Source as Variant The Source parameter may be one of the following:
  • A String expression that indicates the path to a file to be loaded or the content itself (If the expression points to a file, the file's content is loaded)
  • A safe array one-dimension or two dimensional to be loaded. If the Source parameter points to a one-dimension safe array, it indicates the rows to be loaded. If the Source parameter refers a two-dimension safe array, the first dimension indicates the rows, while the second indicates the column. If the Options parameter includes the word "reverse", the first dimension indicates the columns, while the second indicates the rows of data.
Options as Variant | A String expression that specifies a list of options to be used while loading data using the Data method of string type, or a safe array of strings that indicates the name of the columns being loaded by the Data method of array type (equivalent with DataOptions property)
Return | Description
Variant | Reserved for future use only.
The Import method loads CSV files / CSV content or data from a safe-array as explained:
  • A String expression that indicates the path to a file to be loaded or the content itself. If the expression points to a file, the file's content is loaded.The Import method loads CSV files or CSV content. A comma-separated values (CSV) file stores tabular data (numbers and text) in plain-text form. Plain text means that the file is a sequence of characters, with no data that has to be interpreted instead, as binary numbers. A CSV file consists of any number of records, separated by line breaks of some kind; each record consists of fields, separated by some other character or string, most commonly a literal comma or tab. Usually, all records have an identical sequence of fields. The Source parameter indicates the path to the CSV file to be loaded, or the content itself. For instance, the Import "C:\Program Files\Exontrol\ExGraph\Sample\data.txt" imports the data.txt file.
  • A Safe array of one-dimensional or two-dimension type, which indicates the data to be loaded. The safe array must be with 1 or 2 dimensions, else an error occurs. If the Source parameter refers a one-dimensional array, the content of the array indicates the values of the rows. If the Source parameter refers a two-dimensional array, the first dimension indicates the columns, while the second indicates the rows (unless the Options parameter indicates the "reverse" word, which reverses the columns with rows . For instance, in VB6 you can load data from a safe array using the syntax Import Array(1, 1, 2, 2, 3, 3, 4, 4). Where Array is a method of VB6 that creates a safe array of different values. The same way you can have the declaration Dim data(1,99) as String, and call the Import data, will load a two-dimensional array. The sample loads 2 columns, and 100 rows from the data array.

The Data property of the Serie object, defines the list of column-names or column-indexes separated by comma within the control's data, such as "AAPL (open),AAPL (high),AAPL (low),AAPL (close)" or "1,2,3,4".

Here's a few samples of using Import method with arrays, using the /COM version:

  • VB,VBA: .Import (Array(1, 2, 3, 4, 5))
  • VB/NET: .GetOcx().Import(New Integer() {1, 2, 3, 4, 5})
  • C#: .Import(new int[] { 1, 2, 3, 4, 5 }, null);

Here's a few samples of using Import method with arrays, using the /NET version:

  • VB/NET: .Import(New Integer() {1, 2, 3, 4, 5})
  • C#: .Import(new int[] { 1, 2, 3, 4, 5 });;

The control can load data using one of the following methods:

  • Data, equivalend of Import method
  • Import method, loads data from a CSV file or from specified text.
  • DataSource property, assigns an ADO/DAO record set to be loaded.
The DataSample property gives a sample of the data being loaded.

If the Source parameter points to a string, the Options parameter indicates a list of options separated by space character ( or \r, \n or \r\n newline delimiters ) as listed option=value, where the option and the value could be:

  • eor, (End Of Row), specifies the delimiter of the row data, \r\n (new-line separator) if missing. You can use the ' or ` to specify the value as a string.
  • eof, (End of Field), indicates the delimiter of fields inside the row, \t (tab character) if missing. You can use the ' or ` to specify the value as a string.
  • str, (STRing), specifies the characters to delimit the strings in the row data, nothing if missing. You can use the ' or ` to specify the value as a string.
  • hdr, (HeaDR), specifies if the data reads the first line as a header to be imported. Could be 1 or 0.

For instance, if the Options parameter is "hdr=0 eof=';'", it indicates that the data in the Source contains no header information, and the fields inside the data are separated by a ; character. If the Options parameter is "eof=';' str=`'`" it indicates that the separator of the fields in the data is ; character while the ' character delimits the strings inside the data.

If the Source parameter points to a safe array ( two-dimensional ), the Options parameter may include the following word:

  • reverse, the first dimension of the array indicates the columns, and the second dimension specifies the rows of data. If the reverse word is missing, the first dimension indicates the rows, while the second dimension specifies the columns.


property Invalid

property Graph.Invalid as String
Specifies the label the control is displaying while no or invalid data

Type | Description
String | A string expression that specifies the label (including ex-HTML format) the control is displaying while no or invalid data
By default, the Invalid property is "no or invalid data". The Invalid property specifies the label the control is displaying while no or invalid data. The FormatText property specifies the format to display the view's invalid label.

Currently, the Exontrol's built-in HTML format supports the following HTML tags:

  • <b> ... </b> displays the text in bold.
  • <i> ... </i> displays the text in italics.
  • <u> ... </u> underlines the text.
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The ExButton, ExComboBox, ExG2antt, ExGantt, ExGrid, ExHTML, ExLabel, ExList, ExOrgChart, ExplorerTree, ExSchedule, ExSurface, ExSwimlane, ExTree controls support expandable HTML captions feature. The expandable-captions allow you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor color> ... </fgcolor> or <fgcolor=color> ... </fgcolor> displays text with a specified foreground color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <bgcolor color> ... </bgcolor> or <bgcolor=color> ... </bgcolor> displays text with a specified background color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <solidline color> ... </solidline> or <solidline=color> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <dotline color> ... </dotline> or <dotline=color> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra color;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the color, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out color;width> ... </out> shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha color;width;offset> ... </sha> define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property Legend

property Graph.Legend as Legend
Gets the control's legend panel.

Type | Description
Legend | A Legend object that defines the control's legend (the legend helps you choose which series to show or hide at runtime)
By default, the control's legend is hidden. The Legend property gets the control's legend panel. The Visible property shows or hides the legend. The Dock property specifies the edge of the container the legend-window is anchored to. The Flow property determines whether the legend objects are arranged from left to right or top to bottom. The Align property specifies the alignment of the legend's content. The Grid property specifies the number of columns or rows that the legend divides its content into. The Reverse property reverses the order of the items within the legend.


property Misc

property Graph.Misc(Option as MiscEnum) as Variant
Defines the control's miscellaneous options

Type | Description
Option as MiscEnum | An MiscEnum expression that specifies the option to change
Variant | Indicates the new value for the giving option (the type of the value depends on the option itself)
The Misc property sets or gets different options of the control. The Refresh method refreshes the control. Use the BeginUpdate and EndUpdate method ay time when the control requires more changes at one time. Use the hWnd property to get the handle of the control's window.

For instance:

  • exBaseMajorUnits, defines the base major-units alternatives (separated by comma) the control uses to calculate the major-unit for the axes
  • exDigits, Specifies the number of digits to appear after the decimal point
  • exUpdateRangeOnScroll, Specifies the time in ms to update the chart's minimum and maximum values while user scrolls the chart (0 indicates that the chart's minimum and maximum values are updated only when changing the data)


property Overview

property Graph.Overview as Overview
Gets the control's overview panel.

Type | Description
Overview | An Overview object that holds the control's overview panel.
By default, the control's overview panel is hidden. The Overview object defines the configuration options to display the overview. The overview displays the map of the entire series without a scroll bar. The Visible property shows or hides the overview. The Serie property specifies a serie or multiple series separated by comma to be represented within the overview-map


property Pad

property Graph.Pad as Variant
Defines the chart's padding (space between the chart's content and its border)

Type | Description
Variant | A string expression in "horizontal,vertical" format or a numeric expression that specifies the horizontal and vertical padding.
By default, the Pad property is "4,4". The Pad property defines the chart's padding (space between the chart's content and its border).

For instance:

  • "", defines no padding
  • 2, defines 2-pixels horizontally and vertically


property Picture

property Graph.Picture as IPictureDisp
Retrieves or sets a graphic to be displayed in the control.

Type | Description
IPictureDisp | A Picture object that indicates the control's picture.

Use the Picture property to load a picture on the control's background. Use the PictureDisplay property to arrange the picture on the control's background. Use the BackColor property to specify the control's background color.


property PictureDisplay

property Graph.PictureDisplay as PictureDisplayEnum
Retrieves or sets a value that indicates the way how the graphic is displayed on the control's background

Type | Description
PictureDisplayEnum | A PictureDisplayEnum expression that indicates the way how the control's picture is displayed.

Use the Picture property to load a picture into the control's background. Use the PictureDisplay property to arrange how the control's picture is displayed on its background. Use the BackColor property to specify the control's background color.


method Refresh

method Graph.Refresh ()
Refreshes the control's content.

Type Description

Use the Refresh method whenever you need to refresh the control. Use the BeginUpdate and EndUpdate method ay time when the control requires more changes at one time. Use the hWnd property to get the handle of the control's window.

The following VB sample calls the Refresh method:

Graph1.Refresh

The following C++ sample calls the Refresh method:

m_graph.Refresh();

The following VB.NET sample calls the Refresh method:

AxGraph1.CtlRefresh()

In VB.NET the System.Windows.Forms.Control class has already a Refresh method, so the CtlRefresh method should be called.

The following C# sample calls the Refresh method:

axGraph1.CtlRefresh();

In C# the System.Windows.Forms.Control class has already a Refresh method, so the CtlRefresh method should be called.

The following VFP sample calls the Refresh method:

thisform.Graph1.Object.Refresh()


method ReplaceIcon

method Graph.ReplaceIcon ([Icon as Variant], [Index as Variant])
Adds a new icon, replaces an icon or clears the control's image list.

Type Description
Icon as Variant A Variant expression that specifies the icon to add or insert, as one of the following options:
  • a long expression that specifies the handle of the icon (HICON)
  • a string expression that indicates the path to the picture file
  • a string expression that defines the picture's content encoded as BASE64 strings using the eXImages tool
  • a Picture reference, which is an object that holds image data. It is often used in controls like PictureBox, Image, or in custom controls (e.g., IPicture, IPictureDisp)

If the Icon parameter is 0, it specifies that the icon at the given Index is removed. Furthermore, setting the Index parameter to -1 removes all icons.

By default, if the Icon parameter is not specified or is missing, a value of 0 is used.

Index as Variant A long expression that defines the index of the icon to insert or remove, as follows:
  • A zero or positive value specifies the index of the icon to insert (when Icon is non-zero) or to remove (when the Icon parameter is zero)
  • A negative value clears all icons when the Icon parameter is zero

By default, if the Index parameter is not specified or is missing, a value of -1 is used.

Return | Description
Long | A long expression that indicates the index of the icon in the images collection
Use the ReplaceIcon property to add, remove or replace an icon in the control's images collection. Also, the ReplaceIcon property can clear the images collection. Use the Images method to attach an image list to the control. The ImageSize property defines the size (width/height) of the icons within the control's Images collection.

The following sample shows how to add a new icon to control's images list:

i = Graph1.ReplaceIcon( LoadPicture("d:\icons\help.ico").Handle), where i is the index to insert the icon

The following sample shows how to replace an icon into control's images list::

i = Graph1.ReplaceIcon( LoadPicture("d:\icons\help.ico").Handle, 0), in this case the i is zero, because the first icon was replaced.

The following sample shows how to remove an icon from control's images list:

Graph1.ReplaceIcon 0, i, in this case the i is the index of the icon to remove

The following sample shows how to clear the control's icons collection:

Graph1.ReplaceIcon 0, -1


property ScrollBars

property Graph.ScrollBars as ScrollBarsEnum
Returns or sets a value that determines whether the control has horizontal and/or vertical scroll bars.

Type | Description
ScrollBarsEnum | A ScrollBarsEnum expression that identifies which scroll bars are visible.

Use the ScrollBars property to show, enable or disable the control's scroll bars. The scroll-bars are supported for area-compatible types. The AllowScroll property has effect only if the chart requires a scroll-bar to display. The Type property specifies the chart's type. By default, the ScrollBars property is exBoth, so both scroll bars are used if necessarily. For instance, if the ScrollBars property is exNone the control displays no scroll bars. Use the ScrollPos property to get the control's scroll position. Use the ScrollOrderParts property to customize the order of the buttons in the scroll bar.


property ScrollButtonHeight

property Graph.ScrollButtonHeight as Long
Specifies the height of the button in the vertical scrollbar.

Type | Description
Long | A long expression that defines the height of the button in the vertical scroll bar.
By default, the ScrollButtonHeight property is -1. If the ScrollButtonHeight property is -1, the control uses the default height ( from the system ) for the buttons in the vertical scroll bar. Use the ScrollButtonWidth property to specify the width of the buttons in the horizontal scroll bar. Use the ScrollWidth property to specify the width of the vertical scroll bar. Use the ScrollBars property to specify which scroll bar is visible or hidden in the control. Use the ScrollHeight property to specify the height of the horizontal scroll bar. Use the ScrollPartVisible property to specify the visible parts in the control's scroll bar. Use the ScrollThumbSize property to define a fixed size for the scrollbar's thumb.


property ScrollButtonWidth

property Graph.ScrollButtonWidth as Long
Specifies the width of the button in the horizontal scrollbar.

Type | Description
Long | A long expression that defines the width of the button in the horizontal scroll bar.
By default, the ScrollButtonWidth property is -1. If the ScrollButtonWidth property is -1, the control uses the default width ( from the system ) for the buttons in the horizontal scroll bar. Use the ScrollButtonHeight property to specify the height of the buttons in the vertical scroll bar. Use the ScrollWidth property to specify the width of the vertical scroll bar. Use the ScrollBars property to specify which scroll bar is visible or hidden in the control. Use the ScrollHeight property to specify the height of the horizontal scroll bar. Use the ScrollPartVisible property to specify the visible parts in the control's scroll bar. Use the ScrollThumbSize property to define a fixed size for the scrollbar's thumb.


property ScrollFont

property Graph.ScrollFont (ScrollBar as ScrollBarEnum) as IFontDisp
Retrieves or sets the scrollbar's font.

Type | Description
ScrollBar as ScrollBarEnum | A ScrollBarEnum expression that indicates the vertical or the horizontal scroll bar.
IFontDisp | A Font object
Use the ScrollFont property to specify the font in the control's scroll bar. Use the ScrolPartCaption property to specify the caption of the scroll's part. Use the ScrollPartVisible property to add or remove buttons/parts in the control's scrollbar. By default, when a part becomes visible, the ScrollPartEnable property is automatically called, so the parts becomes enabled. Use the ScrollPartEnable property to specify enable or disable parts in the control's scrollbar. Use the ScrollBars property to specify the visible scrollbars in the control. Use the ScrollPos property to specify the position for the control's scroll bar. The control fires the ScrollButtonClick event when the user clicks a part of the scroll bar.


property ScrollHeight

property Graph.ScrollHeight as Long
Specifies the height of the horizontal scrollbar.

Type | Description
Long | A long expression that defines the height of the horizontal scroll bar.
By default, the ScrollHeight property is -1. If the ScrollHeight property is -1, the control uses the default height of the horizontal scroll bar from the system. Use the ScrollHeight property to specify the height of the horizontal scroll bar. Use the ScrollBars property to specify which scroll bar is visible or hidden in the control. Use the ScrollButtonWidth property to specify the width of the buttons in the horizontal scroll bar. Use the ScrollWidth property to specify the width of the vertical scroll bar. Use the ScrollButtonHeight property to specify the height of the buttons in the vertical scroll bar. Use the ScrollPartVisible property to specify the visible parts in the control's scroll bar. Use the ScrollThumbSize property to define a fixed size for the scrollbar's thumb.


property ScrollOrderParts

property Graph.ScrollOrderParts(ScrollBar as ScrollBarEnum) as String
Specifies the order of the buttons in the scroll bar.

Type | Description
ScrollBar as ScrollBarEnum | A ScrollBar expression that indicates the scrollbar where the order of buttons is displayed.
String | A String expression that indicates the order of the buttons in the scroll bar. The list includes expressions like l, l1, ..., l5, t, r, r1, ..., r6 separated by comma, each expression indicating a part of the scroll bar, and its position indicating the displaying order.
Use the ScrollOrderParts to customize the order of the buttons in the scroll bar. By default, the ScrollOrderParts property is empty. If the ScrollOrderParts property is empty the default order of the buttons in the scroll bar are displayed like follows:

so, the order of the parts is: l1, l2, l3, l4, l5, l, t, r, r1, r2, r3, r4, r5 and r6. Use the ScrollPartVisible to specify whether a button in the scrollbar is visible or hidden. Use the ScrollPartEnable property to enable or disable a button in the scroll bar. Use the ScrollPartCaption property to assign a caption to a button in the scroll bar.

Use the ScrollOrderParts property to change the order of the buttons in the scroll bar. For instance, "l,r,t,l1,r1" puts the left and right buttons to the left of the thumb area, and the l1 and r1 buttons right after the thumb area. If the parts are not specified in the ScrollOrderParts property, automatically they are added to the end.

The list of supported literals in the ScrollOrderParts property is:

  • l for exLeftBPart, (<) The left or top button.
  • l1 for exLeftB1Part, (L1) The first additional button, in the left or top area.
  • l2 for exLeftB2Part, (L2) The second additional button, in the left or top area.
  • l3 for exLeftB3Part, (L3) The third additional button, in the left or top area.
  • l4 for exLeftB4Part, (L4) The forth additional button, in the left or top area.
  • l5 for exLeftB5Part, (L5) The fifth additional button, in the left or top area.
  • t for exLowerBackPart, exThumbPart and exUpperBackPart, The union between the exLowerBackPart and the exUpperBackPart parts.
  • r for exRightBPart, (>) The right or down button.
  • r1 for exRightB1Part, (R1) The first additional button in the right or down side.
  • r2 for exRightB2Part, (R2) The second additional button in the right or down side.
  • r3 for exRightB3Part, (R3) The third additional button in the right or down side.
  • r4 for exRightB4Part, (R4) The forth additional button in the right or down side.
  • r5 for exRightB5Part, (R5) The fifth additional button in the right or down side.
  • r6 for exRightB6Part, (R6) The sixth additional button in the right or down side.

Any other literal between commas is ignored. If duplicate literals are found, the second is ignored, and so on. For instance, "t,l,r" indicates that the left/top and right/bottom buttons are displayed right/bottom after the thumb area.


property ScrollPartCaption

property Graph.ScrollPartCaption(ScrollBar as ScrollBarEnum, Part as ScrollPartEnum) as String
Specifies the caption being displayed on the specified scroll part.

Type | Description
ScrollBar as ScrollBarEnum | A ScrollBar expression that indicates the scrollbar where the caption is displayed.
Part as ScrollPartEnum | A ScrollPartEnum expression that specifies the parts of the scroll where the text is displayed
String | A String expression that specifies the caption being displayed on the part of the scroll bar.
Use the ScrolPartCaption property to specify the caption of the scroll's part. Use the ScrollPartVisible property to add or remove buttons/parts in the control's scrollbar. By default, when a part becomes visible, the ScrollPartEnable property is automatically called, so the parts becomes enabled. Use the ScrollPartEnable property to specify enable or disable parts in the control's scrollbar. Use the ScrollBars property to specify the visible scrollbars in the control. Use the OffsetChanged event to notify your application that the scroll position is changed. Use the OversizeChanged event to notify your application whether the range for a specified scroll bar is changed. Use the ScrollPos property to specify the position for the control's scroll bar. The control fires the ScrollButtonClick event when the user clicks a part of the scroll bar. Use the ScrollFont property to specify the font in the control's scroll bar. Use the ScrollOrderParts property to customize the order of the buttons in the scroll bar. The ScrollPartCaptionAlignment property specifies the alignment of the caption in the part of the scroll bar.

By default, the following parts are shown:

  • exLeftBPart ( the left or up button of the control )
  • exLowerBackPart ( the part between the left/up button and the thumb part of the control )
  • exThumbPart ( the thumb/scrollbox part )
  • exUpperBackPart ( the part between the the thumb and the right/down button of the control )
  • exRightBPart ( the right or down button of the control )

The following VB sample adds up and down additional buttons to the control's vertical scroll bar :

With Graph1
    .BeginUpdate
        .ScrollBars = exDisableBoth
        .ScrollPartVisible(exVScroll, exLeftB1Part Or exRightB1Part) = True
        .ScrollPartCaption(exVScroll, exLeftB1Part) = "<img></img>1"
        .ScrollPartCaption(exVScroll, exRightB1Part) = "<img></img>2"
    .EndUpdate
End With

The following VB.NET sample adds up and down additional buttons to the control's vertical scroll bar :

With AxGraph1
    .BeginUpdate()
    .ScrollBars = EXGRAPHLib.ScrollBarsEnum.exDisableBoth
    .set_ScrollPartVisible(EXGRAPHLib.ScrollBarEnum.exVScroll, EXGRAPHLib.ScrollPartEnum.exLeftB1Part Or EXGRAPHLib.ScrollPartEnum.exRightB1Part, True)
    .set_ScrollPartCaption(EXGRAPHLib.ScrollBarEnum.exVScroll, EXGRAPHLib.ScrollPartEnum.exLeftB1Part, "<img></img>1")
    .set_ScrollPartCaption(EXGRAPHLib.ScrollBarEnum.exVScroll, EXGRAPHLib.ScrollPartEnum.exRightB1Part, "<img></img>2")
    .EndUpdate()
End With

The following C# sample adds up and down additional buttons to the control's vertical scroll bar :

axGraph1.BeginUpdate();
axGraph1.ScrollBars = EXGRAPHLib.ScrollBarsEnum.exDisableBoth;
axGraph1.set_ScrollPartVisible(EXGRAPHLib.ScrollBarEnum.exVScroll, EXGRAPHLib.ScrollPartEnum.exLeftB1Part | EXGRAPHLib.ScrollPartEnum.exRightB1Part, true);
axGraph1.set_ScrollPartCaption(EXGRAPHLib.ScrollBarEnum.exVScroll, EXGRAPHLib.ScrollPartEnum.exLeftB1Part , "<img></img>1");
axGraph1.set_ScrollPartCaption(EXGRAPHLib.ScrollBarEnum.exVScroll, EXGRAPHLib.ScrollPartEnum.exRightB1Part, "<img></img>2");
axGraph1.EndUpdate();

The following C++ sample adds up and down additional buttons to the control's vertical scroll bar :

m_graph.BeginUpdate();
m_graph.SetScrollBars( 15 /*exDisableBoth*/ );
m_graph.SetScrollPartVisible( 0 /*exVScroll*/, 32768  /*exLeftB1Part*/ | 32 /*exRightB1Part*/, TRUE );
m_graph.SetScrollPartCaption( 0 /*exVScroll*/, 32768  /*exLeftB1Part*/ , _T("<img></img>1") );
m_graph.SetScrollPartCaption( 0 /*exVScroll*/, 32 /*exRightB1Part*/ , _T("<img></img>2") );
m_graph.EndUpdate();

The following VFP sample adds up and down additional buttons to the control's vertical scroll bar :

With thisform.Graph1
    .BeginUpdate
        .ScrollBars = 15
        .ScrollPartVisible(0, bitor(32768,32)) = .t.
        .ScrollPartCaption(0,32768) = "<img></img>1"
        .ScrollPartCaption(0, 32) = "<img></img>2"
    .EndUpdate
EndWith
*** ActiveX Control Event ***
LPARAMETERS scrollpart

wait window nowait ltrim(str(scrollpart))


property ScrollPartCaptionAlignment

property Graph.ScrollPartCaptionAlignment(ScrollBar as ScrollBarEnum, Part as ScrollPartEnum) as AlignmentEnum
Specifies the alignment of the caption in the part of the scroll bar.

Type | Description
ScrollBar as ScrollBarEnum | A ScrollBar expression that indicates the scrollbar where the caption is displayed.
Part as ScrollPartEnum | A ScrollPartEnum expression that specifies the parts of the scroll where the text is displayed
AlignmentEnum | An AlignmentEnum expression that specifies the alignment of the caption in the part of the scrollbar.
The ScrollPartCaptionAlignment property specifies the alignment of the caption in the part of the scroll bar. By default, the caption is centered. Use the ScrolPartCaption property to specify the caption being displayed on specified part of the scroll bar. Use the ScrollPartVisible property to add or remove buttons/parts in the control's scrollbar.

The following VB sample displays "left" aligned to the left on the lower part of the control's horizontal scroll bar, and "right" aligned to the right on the upper part of the control's horizontal scroll bar:

With Graph1
    .ScrollPartCaption(exHScroll,exLowerBackPart) = "left"
    .ScrollPartCaptionAlignment(exHScroll,exLowerBackPart) = LeftAlignment
    .ScrollPartCaption(exHScroll,exUpperBackPart) = "right"
    .ScrollPartCaptionAlignment(exHScroll,exUpperBackPart) = RightAlignment
    .ColumnAutoResize = False
End With

The following VB.NET sample displays "left" aligned to the left on the lower part of the control's horizontal scroll bar, and "right" aligned to the right on the upper part of the control's horizontal scroll bar:

With AxGraph1
    .set_ScrollPartCaption(EXGRAPHLib.ScrollBarEnum.exHScroll,EXGRAPHLib.ScrollPartEnum.exLowerBackPart,"left")
    .set_ScrollPartCaptionAlignment(EXGRAPHLib.ScrollBarEnum.exHScroll,EXGRAPHLib.ScrollPartEnum.exLowerBackPart,EXGRAPHLib.AlignmentEnum.LeftAlignment)
    .set_ScrollPartCaption(EXGRAPHLib.ScrollBarEnum.exHScroll,EXGRAPHLib.ScrollPartEnum.exUpperBackPart,"right")
    .set_ScrollPartCaptionAlignment(EXGRAPHLib.ScrollBarEnum.exHScroll,EXGRAPHLib.ScrollPartEnum.exUpperBackPart,EXGRAPHLib.AlignmentEnum.RightAlignment)
End With

The following C# sample displays "left" aligned to the left on the lower part of the control's horizontal scroll bar, and "right" aligned to the right on the upper part of the control's horizontal scroll bar:

axGraph1.set_ScrollPartCaption(EXGRAPHLib.ScrollBarEnum.exHScroll,EXGRAPHLib.ScrollPartEnum.exLowerBackPart,"left");
axGraph1.set_ScrollPartCaptionAlignment(EXGRAPHLib.ScrollBarEnum.exHScroll,EXGRAPHLib.ScrollPartEnum.exLowerBackPart,EXGRAPHLib.AlignmentEnum.LeftAlignment);
axGraph1.set_ScrollPartCaption(EXGRAPHLib.ScrollBarEnum.exHScroll,EXGRAPHLib.ScrollPartEnum.exUpperBackPart,"right");
axGraph1.set_ScrollPartCaptionAlignment(EXGRAPHLib.ScrollBarEnum.exHScroll,EXGRAPHLib.ScrollPartEnum.exUpperBackPart,EXGRAPHLib.AlignmentEnum.RightAlignment);

The following C++ sample displays "left" aligned to the left on the lower part of the control's horizontal scroll bar, and "right" aligned to the right on the upper part of the control's horizontal scroll bar:

/*
    Copy and paste the following directives to your header file as
    it defines the namespace 'EXGRAPHLib' for the library: 'ExGraph 1.0 Control Library'

    #import "ExGraph.dll"
    using namespace EXGRAPHLib;
*/
EXGRAPHLib::IGraphPtr spGraph1 = GetDlgItem(IDC_GRAPH1)->GetControlUnknown();
spGraph1->PutScrollPartCaption(EXGRAPHLib::exHScroll,EXGRAPHLib::exLowerBackPart,L"left");
spGraph1->PutScrollPartCaptionAlignment(EXGRAPHLib::exHScroll,EXGRAPHLib::exLowerBackPart,EXGRAPHLib::LeftAlignment);
spGraph1->PutScrollPartCaption(EXGRAPHLib::exHScroll,EXGRAPHLib::exUpperBackPart,L"right");
spGraph1->PutScrollPartCaptionAlignment(EXGRAPHLib::exHScroll,EXGRAPHLib::exUpperBackPart,EXGRAPHLib::RightAlignment);

The following VFP sample displays "left" aligned to the left on the lower part of the control's horizontal scroll bar, and "right" aligned to the right on the upper part of the control's horizontal scroll bar:

with thisform.Graph1
    .ScrollPartCaption(1,512) = "left"
    .ScrollPartCaptionAlignment(1,512) = 0
    .ScrollPartCaption(1,128) = "right"
    .ScrollPartCaptionAlignment(1,128) = 2
endwith


property ScrollPartEnable

property Graph.ScrollPartEnable(ScrollBar as ScrollBarEnum, Part as ScrollPartEnum) as Boolean
Indicates whether the specified scroll part is enabled or disabled.

Type | Description
ScrollBar as ScrollBarEnum | A ScrollBar expression that indicates the scrollbar where the part is enabled or disabled.
Part as ScrollPartEnum | A ScrollPartEnum expression that specifies the parts of the scroll bar being enabled or disabled.
Boolean | A Boolean expression that specifies whether the scrollbar's part is enabled or disabled.
By default, when a part becomes visible, the ScrollPartEnable property is automatically called, so the parts becomes enabled. Use the ScrollPartVisible property to add or remove buttons/parts in the control's scrollbar. Use the ScrollPartEnable property to specify enable or disable parts in the control's scrollbar. Use the ScrollBars property to specify the visible scrollbars in the control. Use the ScrolPartCaption property to specify the caption of the scroll's part. Use the ScrollPos property to specify the position for the control's scroll bar. The control fires the ScrollButtonClick event when the user clicks a part of the scroll bar. Use the ScrollOrderParts property to customize the order of the buttons in the scroll bar.


property ScrollPartVisible

property Graph.ScrollPartVisible(ScrollBar as ScrollBarEnum, Part as ScrollPartEnum) as Boolean
Indicates whether the specified scroll part is visible or hidden.

Type | Description
ScrollBar as ScrollBarEnum | A ScrollBar expression that indicates the scrollbar where the part is visible or hidden.
Part as ScrollPartEnum | A ScrollPartEnum expression that specifies the parts of the scroll bar being visible
Boolean | A Boolean expression that specifies whether the scrollbar's part is visible or hidden.


property ScrollPos

property Graph.ScrollPos(ScrollBar as ScrollBarEnum) as Long
Specifies the vertical/horizontal scroll position.

Type | Description
ScrollBar as ScrollBarEnum | A ScrollBarEnum expression that specifies the chart's scroll-bar to request/change value for
Long | A long expression that defines the scroll bar position.
Use the ScrollPos property to change programmatically the position of the control's scroll bar. Use the ScrollPos property to get the horizontal or vertical scroll position. Use the ScrollBars property to define the control's scroll bars. The AllowScroll property has effect only if the chart requires a scroll-bar to display. The Type property specifies the type of the serie (the way the data is represented).


property ScrollThumbSize

property Graph.ScrollThumbSize(ScrollBar as ScrollBarEnum) as Long
Specifies the size of the thumb in the scrollbar.

Type | Description
ScrollBar as ScrollBarEnum | A ScrollBarEnum expression that indicates the vertical or the horizontal scroll bar.
Long | A long expression that defines the size of the scrollbar's thumb.
Use the ScrollThumbSize property to define a fixed size for the scrollbar's thumb. By default, the ScrollThumbSize property is -1, that makes the control computes automatically the size of the thumb based on the scrollbar's range. If case, use the fixed size for your thumb when you change its visual appearance using the Background(exVSThumb) or Background(exHSThumb) property. Use the ScrollWidth property to specify the width of the vertical scroll bar. Use the ScrollButtonWidth property to specify the width of the buttons in the horizontal scroll bar. Use the ScrollHeight property to specify the height of the horizontal scroll bar. Use the ScrollButtonHeight property to specify the height of the buttons in the vertical scroll bar. Use the ScrollPartVisible property to specify the visible parts in the control's scroll bar.


property ScrollToolTip

property Graph.ScrollToolTip(ScrollBar as ScrollBarEnum) as String
Specifies the tooltip being shown when the user moves the scroll box.

Type | Description
ScrollBar as ScrollBarEnum | A ScrollBarEnum expression that indicates the vertical scroll bar or the horizontal scroll bar.
String | A string expression being shown when the user clicks and moves the scrollbar's thumb.
Use the ScrollToolTip property to specify whether the control displays a tooltip when the user clicks and moves the scrollbar's thumb. By default, the ScrollToolTip property is empty. If the ScrollToolTip property is empty, the tooltip is not shown when the user clicks and moves the thumb of the scroll bar. Use the SortPartVisible property to specify the parts being visible in the control's scroll bar. Use the ScrollBars property to specify the visible scrollbars in the control.


property ScrollWidth

property Graph.ScrollWidth as Long
Specifies the width of the vertical scrollbar.

Type | Description
Long | A long expression that defines the width of the vertical scroll bar.
By default, the ScrollWidth property is -1. If the ScrollWidth property is -1, the control uses the default width of the vertical scroll bar from the system. Use the ScrollWidth property to specify the width of the vertical scroll bar. Use the ScrollBars property to specify which scroll bar is visible or hidden in the control. Use the ScrollButtonWidth property to specify the width of the buttons in the horizontal scroll bar. Use the ScrollHeight property to specify the height of the horizontal scroll bar. Use the ScrollButtonHeight property to specify the height of the buttons in the vertical scroll bar. Use the ScrollPartVisible property to specify the visible parts in the control's scroll bar. Use the ScrollThumbSize property to define a fixed size for the scrollbar's thumb.


property Series

property Graph.Series as Series
Gets the seris object.

Type | Description
Series | A Series object that defines the series of the control
The Series property gives access to the control's series of data. Each visible serie is show in the chart based on its type (area, line pie, ..). The Add method adds a Serie object to the collection and returns a reference to the newly created object. The Remove method removes a specific member from the Series collection, giving its identifier. The Clear method clears all series of the control. The Item property seturns a specific Serie of the Series collection, giving its identifier.


property SeriesColors

property Graph.SeriesColors as Variant
Defines the default colors for the chart's series

Type | Description
Variant | A string expression that defines the colors of the chart's series separated by comma. The color accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively.
By default, the SeriesColors property is "blue,teal,pink,green,yellow,orange,turquoise,purple,brown,olive,violet,lime". The SeriesColors property specifies the color of the series, while the serie's Color property is not specified. The Color property specifies the color for an individual serie. The SeriesColorsDecrease property defines the default colors for the chart's series (when the value goes down).

The SeriesColors property specifies the color for individual value/items of the serie if the chart's Type is one of the following:

  • "column", a column chart or column graph is a chart or graph that presents categorical data with rectangular columns with heights proportional to the values that they represent. A horizontal column chart is called a bar chart. (data requires array of numbers, supports vertical field, scrollable)
  • "rangecolumn", a range column chart displays information as a range of data by plotting two Y-values (low and high) per data point. The vertical axis shows the values, and the horizontal axis shows the categories they belong to; in multiple-series range column charts, values are grouped by categories. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "radarcolumn", displays data in radial columns starting from one center point. The circle is divided into equal portions depending on the number of columns and each column group occupies one portion (similar with "radarArea" type, data requires array of numbers, non-scrollable)

and

  • "pie", a pie chart (or a circle chart) is a circular statistical graphic which is divided into slices to illustrate numerical proportion. In a pie chart, the arc length of each slice (and consequently its central angle and area) is proportional to the quantity it represents. While it is named for its resemblance to a pie which has been sliced, there are variations on the way it can be presented. (data requires array of numbers, non-scrollable)

The SeriesColors property assigns colors to individual values or items within a series based on their index. However, its application varies depending on the chart type. For instance, column, rangeColumn, and radarColumn chart types exhibit distinct colors for items or values within a series when the chart shows only one series. Conversely, if the chart displays multiple series, the SeriesColors property does not affect the values or items within each series. In the last case, the SeriesColors property assigns a color to each visible serie, while the Color property is not specified.

For instance:

  • "", no values are shown
  • "black", indicates that all series/items shows in black

The following screen shot shows different colors for different values/items of the serie:


property SeriesColorsDecrease

property Graph.SeriesColorsDecrease as Variant
Defines the default colors for the chart's series (when the value goes down)

Type | Description
Variant | A string expression that defines the colors of the chart's series separated by comma. The color accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively.
By default, the SeriesColorsDecrease property is "red". The SeriesColorsDecrease property defines the default colors for the chart's series (when the value goes down). The SeriesColors property specifies the color of the series, while the serie's Color property is not specified. The Color property specifies the color for an individual serie.

Currently, the SeriesColorsDecrease property is valid for the following Type of series:

  • "candlestick", a candlestick chart (also called Japanese candlestick chart or K-line) is a style of financial chart used to describe price movements of a security, derivative, or currency. While similar in appearance to a bar chart, each candleStick represents four important pieces of information for that day: open and close in the thick body, and high and low in the "candle wick". Being densely packed with information, it tends to represent trading patterns over short periods of time, often a few days or a few trading sessions. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)
  • "ohlc", an open-high-low-close chart (also OHLC) is a type of chart typically used to illustrate movements in the price of a financial instrument over time. Each vertical line on the chart shows the price range (the highest and lowest prices) over one unit of time, e.g., one day or one hour. Tick marks project from each side of the line indicating the opening price (e.g., for a daily bar chart this would be the starting price for that day) on the left, and the closing price for that time period on the right. The bars may be shown in different hues depending on whether prices rose or fell in that period. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)
  • "waterfall", a waterfall chart is a form of data visualization that helps in understanding the cumulative effect of sequentially introduced positive or negative values. These intermediate values can either be time based or category based. The waterfall chart is also known as a flying bricks chart or Mario chart due to the apparent suspension of columns (bricks) in mid-air. Often in finance, it will be referred to as a bridge. (data requires array of numbers, supports vertical field, scrollable)

For instance:

  • "", indicates that the SeriesColorsDecrease property has no effect (all values/items use the SeriesColors/Color property to colorize the serie)
  • "black", indicates that all series/items shows in black

The following screen shot shows the chart using the SeriesColorsDecrease property is "red" (by default):

The following screen shot shows the chart using the SeriesColorsDecrease property is "" (empty):


property ShowImageList

property Graph.ShowImageList as Boolean
Specifies whether the control's image list window is visible or hidden.

Type | Description
Boolean | A boolean expression that indicates whether the control's images list window is visible or hidden.

By default, the ShowImageList property is True. Use the ShowImageList property to hide the control's images list window. The control's images list window is visible only at design time. Use the Images method to associate an images list control to the tree control. The ImageSize property defines the size (width/height) of the icons within the control's Images collection. Use the ReplaceIcon method to add, remove or clear icons in the control's images collection.


method ShowToolTip

method Graph.ShowToolTip (ToolTip as String, [Title as Variant], [Alignment as Variant], [X as Variant], [Y as Variant])
Shows the specified tooltip at given position.

Type Description
ToolTip as String The ToolTip parameter can be any of the following:
  • NULL(BSTR) or "<null>"(string) to indicate that the tooltip for the object being hovered is not changed
  • A String expression that indicates the description of the tooltip, that supports built-in HTML format (adds, replaces or changes the object's tooltip)
Title as Variant The Title parameter can be any of the following:
  • missing (VT_EMPTY, VT_ERROR type) or "<null>"(string) the title for the object being hovered is not changed.
  • A String expression that indicates the title of the tooltip (no built-in HTML format) (adds, replaces or changes the object's title)
Alignment as Variant A long expression that indicates the alignment of the tooltip relative to the position of the cursor. If missing (VT_EMPTY, VT_ERROR) the alignment of the tooltip for the object being hovered is not changed.

The Alignment parameter can be one of the following:

  • 0 - exTopLeft
  • 1 - exTopRight
  • 2 - exBottomLeft
  • 3 - exBottomRight
  • 0x10 - exCenter
  • 0x11 - exCenterLeft
  • 0x12 - exCenterRight
  • 0x13 - exCenterTop
  • 0x14 - exCenterBottom

By default, the tooltip is aligned relative to the top-left corner (0 - exTopLeft).

X as Variant Specifies the horizontal position to display the tooltip as one of the following:
  • missing (VT_EMPTY, VT_ERROR type), indicates that the tooltip is shown on its default position / current cursor position (ignored)
  • -1, indicates the current horizontal position of the cursor (current x-position)
  • a numeric expression that indicates the horizontal screen position to show the tooltip (fixed screen x-position)
  • a string expression that indicates the horizontal displacement relative to default position to show the tooltip (moved)
Y as Variant Specifies the vertical position to display the tooltip as one of the following:
  • missing (VT_EMPTY, VT_ERROR type), indicates that the tooltip is shown on its default position / current cursor position (ignored)
  • -1, indicates the current vertical position of the cursor (current y-position)
  • a numeric expression that indicates the vertical screen position to show the tooltip (fixed screen y-position)
  • a string expression that indicates the vertical displacement relative to default position to show the tooltip (displacement)
Use the ShowToolTip method to display a custom tooltip at specified position or to update the object's tooltip, title or position. You can call the ShowToolTip method during the MouseMove event. Use the ToolTipPopDelay property specifies the period in ms of time the ToolTip remains visible if the mouse pointer is stationary within a control. The ToolTipDelay property specifies the time in ms that passes before the ToolTip appears. Use the ToolTipWidth property to specify the width of the tooltip window. Use the ToolTipFont property to change the tooltip's font. Use the Background(exToolTipAppearance) property indicates the visual appearance of the borders of the tooltips. Use the Background(exToolTipBackColor) property indicates the tooltip's background color. Use the Background(exToolTipForeColor) property indicates the tooltip's foreground color. The ToolTipMargin property specifies the size of the control's tooltip margins.

For instance:

  • ShowToolTip(`<null>`,`<null>`,,`+8`,`+8`), shows the tooltip of the object moved relative to its default position
  • ShowToolTip(`<null>`,`new title`), adds, changes or replaces the title of the object's tooltip
  • ShowToolTip(`new content`), adds, changes or replaces the object's tooltip
  • ShowToolTip(`new content`,`new title`), shows the tooltip and title at current position
  • ShowToolTip(`new content`,`new title`,,`+8`,`+8`), shows the tooltip and title moved relative to the current position
  • ShowToolTip(`new content`,``,,128,128), displays the tooltip at a fixed position
  • ShowToolTip(``,``), hides the tooltip

The ToolTip parameter supports the built-in HTML format like follows:

  • <b> ... </b> displays the text in bold
  • <i> ... </i> displays the text in italics
  • <u> ... </u> underlines the text
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The control supports expandable HTML captions feature which allows you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor rrggbb> ... </fgcolor> or <fgcolor=rrggbb> ... </fgcolor> displays text with a specified foreground color. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <bgcolor rrggbb> ... </bgcolor> or <bgcolor=rrggbb> ... </bgcolor> displays text with a specified background color. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <solidline rrggbb> ... </solidline> or <solidline=rrggbb> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <dotline rrggbb> ... </dotline> or <dotline=rrggbb> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The rr/gg/bb represents the red/green/blue values of the color in hexa values.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra rrggbb;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the rr/gg/bb represents the red/green/blue values of the ending color, 808080 if missing as gray. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the rrggbb, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out rrggbb;width> ... </out> shows the text with outlined characters, where rr/gg/bb represents the red/green/blue values of the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha rrggbb;width;offset> ... </sha> define a text with a shadow, where rr/gg/bb represents the red/green/blue values of the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property Sort

property Graph.Sort as String
Defines the list of series to be sorted, separated by spaces

Type | Description
String | A string expression that defines the list of series to be sorted, separated by spaces. Each series can be extended with a ":D" suffix, indicating a descending sorting order for the series.
The Sort property sorts the values of the chart. The Reverse property defines the direction of the category axis.

For instance:

  • "", shows the data unsorted(as it is)
  • "0", sorts ascending the serie with the index 0 (first serie)
  • "0:D", sorts descending the serie with the index 0 (first serie)
  • "0 1", sorts ascending the serie with the index 0 (first serie), and for equal values sorts by second serie

The following screen shot shows the chart using unsorted data (Sort property is ""):

The following screen shot shows the chart using unsorted data (Sort property is "0"):

The following screen shot shows the chart using unsorted data (Sort property is "0:D"):


property Template

property Graph.Template as String
Specifies the control's template.

Type | Description
String | A string expression that defines the control's template

The control's template uses the X-Script language to initialize the control's content. Use the Template property page of the control to update the control's Template property. Use the Template property to execute code by passing instructions as a string ( template string ). Use the ExecuteTemplate property to get the result of executing a template script.

Most of our UI components provide a Template page that's accessible in design mode. No matter what programming language you are using, you can have a quick view of the component's features using the WYSWYG Template editor.

  • Place the control to your form or dialog.
  • Locate the Properties item, in the control's context menu, in design mode. If your environment doesn't provide a Properties item in the control's context menu, please try to locate in the Properties browser.
  • Click it, and locate the Template page.
  • Click the Help button. In the left side, you will see the component, in the right side, you will see a x-script code that calls methods and properties of the control.

The control's Template page helps user to initialize the control's look and feel in design mode, using the x-script language that's easy and powerful. The Template page displays the control on the left side of the page. On the right side of the Template page, a simple editor is displayed where user writes the initialization code. The control's look and feel is automatically updated as soon as the user types new instructions. The Template script is saved to the container persistence ( when Apply button is pressed ), and it is executed when the control is initialized at runtime. Any component that provides a WYSWYG Template page, provides a Template property. The Template property executes code from a string ( template string ).

The Template script is composed by lines of instructions. Instructions are separated by "\n\r" ( newline ) characters.

An instruction can be one of the following:

  • Dim list of variables Declares the variables. Multiple variables are separated by commas. ( Sample: Dim h, h1, h2 )
  • variable = property( list of arguments ) Assigns the result of the property to a variable. The "variable" is the name of a declared variable. The "property" is the property name of the object in the context. The "list or arguments" may include variables or values separated by commas. ( Sample: h = InsertItem(0,"New Child") )
  • property( list of arguments ) = value Changes the property. The value can be a variable, a string, a number, a boolean value or a RGB value.
  • method( list of arguments ) Invokes the method. The "list or arguments" may include variables or values separated by commas.
  • { Beginning the object's context. The properties or methods called between { and } are related to the last object returned by the property prior to { declaration.
  • } Ending the object's context
  • object. property( list of arguments ).property( list of arguments ).... The .(dot) character splits the object from its property. For instance, the Columns.Add("Column1").HeaderBackColor = RGB(255,0,0), adds a new column and changes the column's header back color.

The Template supports the following general functions:

  • RGB(R,G,B) property retrieves an RGB value, where the R, G, B are byte values that indicates the R G B values for the color being specified. For instance, the following code changes the control's background color to red: BackColor = RGB(255,0,0)
  • CreateObject(progID) property creates and retrieves a single uninitialized object of the class associated with a specified program identifier. For instance, the following code creates an ADOR.Recordset and pass it to the control using the DataSource property:

The following sample loads the Orders table:

Dim rs
ColumnAutoResize = False
rs = CreateObject("ADOR.Recordset")
{
Open("Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExGraph\Sample\SAMPLE.MDB", 3, 3 )
}
DataSource = rs


property TemplateDef

property Graph.TemplateDef as Variant
Defines inside variables for the next Template/ExecuteTemplate call.

Type | Description
Variant | A string expression that indicates the Dim declaration, or any Object expression to be assigned to previously declared variables.
The TemplateDef property has been added to allow programming languages such as dBASE Plus to set control's properties with multiple parameters. It is known that programming languages such as dBASE Plus or XBasic from AlphaFive, does not support setting a property with multiple parameters. In other words, these programming languages does not support something like Property(Parameters) = Value, so our controls provide an alternative using the TemplateDef method. The first call of the TemplateDef should be a declaration such as "Dim a,b" which means the next 2 calls of the TemplateDef defines the variables a and b. The next call should be Template or ExecuteTemplate property which can use the variable a and b being defined previously.

So, calling the TemplateDef property should be as follows:

with (Control)
    TemplateDef = [Dim var_Column]
    TemplateDef = var_Column
    Template = [var_Column.Def(4) = 255]
endwith

This sample allocates a variable var_Column, assigns the value to the variable ( the second call of the TemplateDef ), and the Template call uses the var_Column variable ( as an object ), to call its Def property with the parameter 4.

Let's say we need to define the background color for a specified column, so we need to call the Def(exCellBackColor) property of the column, to define the color for all cells in the column.

The following VB6 sample shows setting the Def property such as:

With Control
    .Columns.Add("Column 1").Def(exCellBackColor) = 255
    .Columns.Add "Column 2"
    .Items.AddItem 0
    .Items.AddItem 1
    .Items.AddItem 2
End With

In dBASE Plus, calling the Def(4) has no effect, instead using the TemplateDef helps you to use properly the Def property as follows:

local Control,var_Column

Control = form.Activex1.nativeObject
// Control.Columns.Add("Column 1").Def(4) = 255
var_Column = Control.Columns.Add("Column 1")
with (Control)
    TemplateDef = [Dim var_Column]
    TemplateDef = var_Column
    Template = [var_Column.Def(4) = 255]
endwith
Control.Columns.Add("Column 2")
Control.Items.AddItem(0)
Control.Items.AddItem(1)
Control.Items.AddItem(2)

The equivalent sample for XBasic in A5, is as follows:

Dim Control as P
Dim var_Column as P

Control = topparent:CONTROL_ACTIVEX1.activex
' Control.Columns.Add("Column 1").Def(4) = 255
var_Column = Control.Columns.Add("Column 1")
Control.TemplateDef = "Dim var_Column"
Control.TemplateDef = var_Column
Control.Template = "var_Column.Def(4) = 255"

Control.Columns.Add("Column 2")
Control.Items.AddItem(0)
Control.Items.AddItem(1)
Control.Items.AddItem(2)

The samples just call the Column.Def(4) = Value, using the TemplateDef. The first call of TemplateDef property is "Dim var_Column", which indicates that the next call of the TemplateDef will defines the value of the variable var_Column, in other words, it defines the object var_Column. The last call of the Template property uses the var_Column member to use the x-script and so to set the Def property so a new color is being assigned to the column.

The TemplateDef, Template and ExecuteTemplate support x-script language ( Template script of the Exontrols ), like explained bellow:

The Template or x-script is composed by lines of instructions. Instructions are separated by "\n\r" ( newline characters ) or ";" character. The ; character may be available only for newer versions of the components.

An x-script instruction/line can be one of the following:

  • Dim list of variables Declares the variables. Multiple variables are separated by commas. ( Sample: Dim h, h1, h2 )
  • variable = property( list of arguments ) Assigns the result of the property to a variable. The "variable" is the name of a declared variable. The "property" is the property name of the object in the context. The "list or arguments" may include variables or values separated by commas. ( Sample: h = InsertItem(0,"New Child") )
  • property( list of arguments ) = value Changes the property. The value can be a variable, a string, a number, a boolean value or a RGB value.
  • method( list of arguments ) Invokes the method. The "list or arguments" may include variables or values separated by commas.
  • { Beginning the object's context. The properties or methods called between { and } are related to the last object returned by the property prior to { declaration.
  • } Ending the object's context
  • object. property( list of arguments ).property( list of arguments ).... The .(dot) character splits the object from its property. For instance, the Columns.Add("Column1").HeaderBackColor = RGB(255,0,0), adds a new column and changes the column's header back color.

The x-script may uses constant expressions as follow:

  • boolean expression with possible values as True or False
  • numeric expression may starts with 0x which indicates a hexa decimal representation, else it should starts with digit, or +/- followed by a digit, and . is the decimal separator. Sample: 13 indicates the integer 13, or 12.45 indicates the double expression 12,45
  • date expression is delimited by # character in the format #mm/dd/yyyy hh:mm:ss#. Sample: #31/12/1971# indicates the December 31, 1971
  • string expression is delimited by " or ` characters. If using the ` character, please make sure that it is different than ' which allows adding comments inline. Sample: "text" indicates the string text.

Also , the template or x-script code may support general functions as follows:

  • Me property indicates the original object.
  • RGB(R,G,B) property retrieves an RGB value, where the R, G, B are byte values that indicates the R G B values for the color being specified. For instance, the following code changes the control's background color to red: BackColor = RGB(255,0,0)
  • LoadPicture(file) property loads a picture from a file or from BASE64 encoded strings, and returns a Picture object required by the picture properties.
  • CreateObject(progID) property creates and retrieves a single uninitialized object of the class associated with a specified program identifier.


method TemplatePut

method Graph.TemplatePut (NewVal as Variant)
Defines inside variables for the next Template/ExecuteTemplate call.

Type | Description
NewVal as Variant | A string expression that indicates the Dim declaration, or any Object expression to be assigned to previously declared variables.
The TemplatePut method / TemplateDef property has been added to allow programming languages such as dBASE Plus to set control's properties with multiple parameters. It is known that programming languages such as dBASE Plus or XBasic from AlphaFive, does not support setting a property with multiple parameters. In other words, these programming languages does not support something like Property(Parameters) = Value, so our controls provide an alternative using the TemplateDef / TemplatePut method. The first call of the TemplateDef should be a declaration such as "Dim a,b" which means the next 2 calls of the TemplateDef defines the variables a and b. The next call should be Template or ExecuteTemplate property which can use the variable a and b being defined previously.

The TemplateDef, TemplatePut, Template and ExecuteTemplate support x-script language ( Template script of the Exontrols ), like explained bellow:

The Template or x-script is composed by lines of instructions. Instructions are separated by "\n\r" ( newline characters ) or ";" character. The ; character may be available only for newer versions of the components.

An x-script instruction/line can be one of the following:

  • Dim list of variables Declares the variables. Multiple variables are separated by commas. ( Sample: Dim h, h1, h2 )
  • variable = property( list of arguments ) Assigns the result of the property to a variable. The "variable" is the name of a declared variable. The "property" is the property name of the object in the context. The "list or arguments" may include variables or values separated by commas. ( Sample: h = InsertItem(0,"New Child") )
  • property( list of arguments ) = value Changes the property. The value can be a variable, a string, a number, a boolean value or a RGB value.
  • method( list of arguments ) Invokes the method. The "list or arguments" may include variables or values separated by commas.
  • { Beginning the object's context. The properties or methods called between { and } are related to the last object returned by the property prior to { declaration.
  • } Ending the object's context
  • object. property( list of arguments ).property( list of arguments ).... The .(dot) character splits the object from its property. For instance, the Columns.Add("Column1").HeaderBackColor = RGB(255,0,0), adds a new column and changes the column's header back color.

The x-script may uses constant expressions as follow:

  • boolean expression with possible values as True or False
  • numeric expression may starts with 0x which indicates a hexa decimal representation, else it should starts with digit, or +/- followed by a digit, and . is the decimal separator. Sample: 13 indicates the integer 13, or 12.45 indicates the double expression 12,45
  • date expression is delimited by # character in the format #mm/dd/yyyy hh:mm:ss#. Sample: #31/12/1971# indicates the December 31, 1971
  • string expression is delimited by " or ` characters. If using the ` character, please make sure that it is different than ' which allows adding comments inline. Sample: "text" indicates the string text.

Also , the template or x-script code may support general functions as follows:

  • Me property indicates the original object.
  • RGB(R,G,B) property retrieves an RGB value, where the R, G, B are byte values that indicates the R G B values for the color being specified. For instance, the following code changes the control's background color to red: BackColor = RGB(255,0,0)
  • LoadPicture(file) property loads a picture from a file or from BASE64 encoded strings, and returns a Picture object required by the picture properties.
  • CreateObject(progID) property creates and retrieves a single uninitialized object of the class associated with a specified program identifier.


property ToolTipDelay

property Graph.ToolTipDelay as Long
Specifies the time in ms that passes before the ToolTip appears.

Type | Description
Long | A long expression that specifies the time in ms that passes before the ToolTip appears.

If the ToolTipDelay or ToolTipPopDelay property is 0, the control displays no tooltips. Use the ToolTipPopDelay property specifies the period in ms of time the ToolTip remains visible if the mouse pointer is stationary within a control. Use the ToolTipWidth property to specify the width of the tooltip window. Use the Background(exToolTipAppearance) property indicates the visual appearance of the borders of the tooltips. Use the Background(exToolTipBackColor) property indicates the tooltip's background color. Use the Background(exToolTipForeColor) property indicates the tooltip's foreground color. Use the ShowToolTip method to display a custom tooltip. Use the ToolTipFont property or <font> HTML element to assign a new font for tooltips. The ToolTipMargin property specifies the size of the control's tooltip margins.


property ToolTipFont

property Graph.ToolTipFont as IFontDisp
Retrieves or sets the tooltip's font.

Type | Description
IFontDisp | A Font object being used to display the tooltip.
Use the ToolTipFont property to assign a font for the control's tooltip. The ToolTipPopDelay property specifies the period in ms of time the ToolTip remains visible if the mouse pointer is stationary within a control. Use the ToolTipWidth property to specify the width of the tooltip window. You can use the <font> HTML element, in the tooltip's description to assign a different font for portions of text.


property ToolTipFormat

property Graph.ToolTipFormat as String
Specifies the expression to customize the tooltip (shown while the cursor hovers value-points of the chart)

Type Description
String A string expression that specifies the expression to define the tooltip (including ex-HTML) to be displayed when the pointer hovers the value-point. The expression supports the following keywords:
  • value, {number} specifies the serie-item's value
  • name, {string} defines the name of the serie as specified by Name property
  • category, {string} specifies the category the current value is in
  • percent, indicates the percent of the item
  • inner, indicates the inner index of the value within the point data. For example, 0 represents the 'open' or 'from' value, 1 represents the 'high' or 'to' value, 2 represents the 'low' value, and 3 represents the 'close' value. This property is defined only for charts that require multi-dimensional arrays, such as candlestick chart types.

Additionally, the expression supports:

  • %V0, %V1, %V2 or %V3, {number} retrieve the designated values by referencing %V0 for the open value (for candlestick charts or "from" in column range charts), %V1 for the high value (for candlestick charts or "to" in column range charts), %V2 for the low value (for candlestick charts), and %V3 for the close value (for candlestick charts, defaulting to "value" if unavailable).

This property/method supports predefined constants and operators/functions as described here.

By default, the ToolTipFormat property is "(len(name) ? name + ': ' : '') + value". The ToolTipFormat property customizes the tooltip (shown while the cursor hovers value-points of the chart). The CursorFormat property Specifies an expression to customize the tooltips to display, when the crosshair cursor hovers the charts of the series.

For instance:

  • "", disables showing the value's tooltip
  • "value format ``", displays the values as numbers using current regional setting
  • ""name + `: ` + (value format `0`)"", shows the serie's name followed by the value formatted according to your control panel settings.
  • "`Open: <b>` + (%v0 format `0`) + `</b><br>High: ` + (%v1 format `0`) + `<br>Low: ` + (%v2 format `0`) + `<br>Close: <b>` + (%v1 format `0`) + `</b>`", displays the open, high, low and close values for candlestick charts

Currently, the Exontrol's built-in HTML format supports the following HTML tags:

  • <b> ... </b> displays the text in bold.
  • <i> ... </i> displays the text in italics.
  • <u> ... </u> underlines the text.
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The ExButton, ExComboBox, ExG2antt, ExGantt, ExGrid, ExHTML, ExLabel, ExList, ExOrgChart, ExplorerTree, ExSchedule, ExSurface, ExSwimlane, ExTree controls support expandable HTML captions feature. The expandable-captions allow you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor color> ... </fgcolor> or <fgcolor=color> ... </fgcolor> displays text with a specified foreground color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <bgcolor color> ... </bgcolor> or <bgcolor=color> ... </bgcolor> displays text with a specified background color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <solidline color> ... </solidline> or <solidline=color> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <dotline color> ... </dotline> or <dotline=color> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra color;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the color, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out color;width> ... </out> shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha color;width;offset> ... </sha> define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property ToolTipMargin

property Graph.ToolTipMargin as String
Defines the size of the control's tooltip margins.

Type Description
String A string expression that defines the tooltip's margins (distance between the tooltip and its borders). The value can be any of the following:
  • "size", both width and height are identical
  • "width,height", specifies different values for width and height
By default, the ToolTipMargin property is "4". The ToolTipMargin property specifies the size of the control's tooltip margins. Use the Background(exToolTipAppearance) property indicates the visual appearance of the borders of the tooltips. Use the Background(exToolTipBackColor) property indicates the tooltip's background color. Use the Background(exToolTipForeColor) property indicates the tooltip's foreground color.


property ToolTipPopDelay

property Graph.ToolTipPopDelay as Long
Specifies the period in ms of time the ToolTip remains visible if the mouse pointer is stationary within a control.

Type | Description
Long | A long expression that specifies the period in ms of time the ToolTip remains visible if the mouse pointer is stationary within a control.

If the ToolTipDelay or ToolTipPopDelay property is 0, the control displays no tooltips. The ToolTipDelay property specifies the time in ms that passes before the ToolTip appears. Use the ToolTipWidth property to specify the width of the tooltip window. Use the ToolTipFont property to assign a font for the control's tooltip. Use the Background(exToolTipAppearance) property indicates the visual appearance of the borders of the tooltips. Use the Background(exToolTipBackColor) property indicates the tooltip's background color. Use the Background(exToolTipForeColor) property indicates the tooltip's foreground color. Use the CellToolTip property to specify the cell's tooltip. Use the ShowToolTip method to display a custom tooltip. The ToolTipMargin property specifies the size of the control's tooltip margins.


property ToolTipWidth

property Graph.ToolTipWidth as Long
Specifies a value that indicates the width of the tooltip window, in pixels.

Type | Description
Long | A long expression that indicates the width of the tooltip window, in pixels.

Use the ToolTipWidth property to change the tooltip window width. The height of the tooltip window is automatically computed based on tooltip's description. The ToolTipPopDelay property specifies the period in ms of time the ToolTip remains visible if the mouse pointer is stationary within a control. The ToolTipDelay property specifies the time in ms that passes before the ToolTip appears. Use the ToolTipFont property to assign a font for the control's tooltip. Use the Background(exToolTipAppearance) property indicates the visual appearance of the borders of the tooltips. Use the Background(exToolTipBackColor) property indicates the tooltip's background color. Use the Background(exToolTipForeColor) property indicates the tooltip's foreground color. Use the ShowToolTip method to display a custom tooltip. The ToolTipMargin property specifies the size of the control's tooltip margins.


property ValueAxes

property Graph.ValueAxes as ValueAxes
Gets the value-axes object.

Type | Description
ValueAxes | A ValueAxes collection that holds the value-axes of the view
The ValueAxes property gets the value-axes collection. The ValueAxis and ValueAxes properties have effect for area-compatible chart-types. The Type property specifies the type of the serie (the way the data is represented).


property ValueAxis

property Graph.ValueAxis as ValueAxis
Creates and gets the first value-axis of the view.

Type | Description
ValueAxis | A ValueAxis object that defines the first value-axis of the view.
The ValueAxis property accesses the default (first) value-axis. The ValueAxes property gets the value-axes object. The ValueAxis and ValueAxes properties have effect for area-compatible chart-types. The Type property specifies the type of the serie (the way the data is represented)


property ValuePoint

property Graph.ValuePoint as String
Specifies the size, color, frame color and size of the value point, frame color, size and length of the value line, color, frame color, size and pad of the value-point's background, each separated by a comma.

Type Description
String A string expression that specifies the:
  1. size of the value point (number, value-point, 8 by default)
  2. color of the value point (color, value-point, white by default)
  3. color of the frame around the value point (color, value-point, null by default)
  4. size of the frame around the value point (number, value-point, 2 by default)
  5. color of the line from the value point to its label (color, value-line, null by default)
  6. size of the line from the value point to its label (number, value-line, 2 by default)
  7. length of the line (number, value-line, 18 by default)
  8. background color of the value-label (color, value-label, transparent by default)
  9. color of the frame around the value-label (color, value-label, null by default)
  10. size of the frame around the value-label (number, value-label, 2 by default)
  11. pad, distance between value-label and its frame (number, value-label, 4 by default)

separated by comma character, where:

  • any color property accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively. Additionally the color property supports:
    • null, which uses the serie's value color instead
    • transparent, specifies that the object is not visible (transparent)
  • number, specifies a positive expression

If a field is not specified, it's default value is used instead. For instance, ",black" the a black framed value-point (the size of the value-point is not changed)

By default, the ValuePoint property is "" equivalent of "8,white,null,2,null,2,18,transparent,null,2,4". The ValuePoint property specifies the size, color, frame color and size of the value point, frame color, size and length of the value line, color, frame color, size and pad of the value-point's background, each separated by a comma. The The ValuePoint property is applied to all series. The ShowValue property shows or hides the serie's value-points, value-lines and values. The ValueFormat property specifies the expression to customize the labels to display on the chart.

For instance:

  • "16", defines bigger value-points

  • ",null", makes the value point to show in the data-color

  • ",,,,,,,,transparent", hides the default-frame around the value-label


property ValueSize

property Graph.ValueSize as Long
Specifies the size to show a column or a bar within the chart

Type | Description
Long | A long expression that specifies the size to show a column or a bar within the chart
By default, the ValueSize property is 16. The ValueSize property specifies the size to show a column or a bar within the chart. The following properties controls the size of columns/bars for area-compatible charts:
  • ValueSize, specifies the size to show a column or a bar within the chart
  • Misc(exMarginValueRatio), specifies the distance (proportionally with the valueSize property) between the first and last value of the same category and its border
  • Misc(exPaddingValueRatio), specifies the distance (proportionally with the valueSize property) between two values of the same category

The Type property specifies the type of the serie (the way the data is represented). The ValueSize property has effect for area-compatible chart type as follows:

  • "area", an area chart or area graph displays graphically quantitative data. It is based on the line chart. The area between axis and line are commonly emphasized with colors, textures and hatchings. Commonly one compares two or more quantities with an area chart. (data requires array of numbers, supports vertical field, scrollable)
  • "column", a column chart or column graph is a chart or graph that presents categorical data with rectangular columns with heights proportional to the values that they represent. A horizontal column chart is called a bar chart. (data requires array of numbers, supports vertical field, scrollable)
  • "waterfall", a waterfall chart is a form of data visualization that helps in understanding the cumulative effect of sequentially introduced positive or negative values. These intermediate values can either be time based or category based. The waterfall chart is also known as a flying bricks chart or Mario chart due to the apparent suspension of columns (bricks) in mid-air. Often in finance, it will be referred to as a bridge. (data requires array of numbers, supports vertical field, scrollable)
  • "line", a line chart or line graph, also known as curve chart is a type of chart which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields. It is similar to a scatter plot except that the measurement points are ordered (typically by their x-axis value) and joined with straight line segments. A line chart is often used to visualize a trend in data over intervals of time - a time series - thus the line is often drawn chronologically. In these cases they are known as run charts. (data requires array of numbers, supports vertical field, scrollable)
  • "rangearea", a range chart displays sets of data points, each of which is defined by multiple values for the same category, and emphasizes the distance between the two values. The category labels are displayed on the category axis. The plain Range chart fills in the area between the top and the bottom value for each data point. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "rangecolumn", a range column chart displays information as a range of data by plotting two Y-values (low and high) per data point. The vertical axis shows the values, and the horizontal axis shows the categories they belong to; in multiple-series range column charts, values are grouped by categories. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "candlestick", a candlestick chart (also called Japanese candlestick chart or K-line) is a style of financial chart used to describe price movements of a security, derivative, or currency. While similar in appearance to a bar chart, each candleStick represents four important pieces of information for that day: open and close in the thick body, and high and low in the "candle wick". Being densely packed with information, it tends to represent trading patterns over short periods of time, often a few days or a few trading sessions. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)
  • "ohlc", an open-high-low-close chart (also OHLC) is a type of chart typically used to illustrate movements in the price of a financial instrument over time. Each vertical line on the chart shows the price range (the highest and lowest prices) over one unit of time, e.g., one day or one hour. Tick marks project from each side of the line indicating the opening price (e.g., for a daily bar chart this would be the starting price for that day) on the left, and the closing price for that time period on the right. The bars may be shown in different hues depending on whether prices rose or fell in that period. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)

while the AutoFit property is not set. The AutoFit property specifies whether the control resizes the elements of the series to fit the control's content.


property Version

property Graph.Version as String
Retrieves the control's version.

Type | Description
String | A string expression that indicates the control's version.

The version property specifies the control's version.


property VisualAppearance

property Graph.VisualAppearance as Appearance
Retrieves the control's appearance.

Type | Description
Appearance | An Appearance object that holds a collection of skins.
Use the Add method to add or replace skins to the control. The skin method, in it's simplest form, uses a single graphic file (*.ebn) assigned to a part of the control. By using a collection of objects laid over the graphic, it is possible to define which sections of the graphic will be used as borders, corners and other possible elements, fixing them to their proper position regardless of the size of the part.


property XAxis

property Graph.XAxis as ValueAxis
Defines the configuration-options for x-axis of xy-compatible chart-types ('scatter', 'scatterArea', 'scatterLine' or 'bubble')

Type | Description
ValueAxis | A ValueAxis property that defines the x-axis of xy-compatible chart-types ('scatter', 'scatterArea', 'scatterLine' or 'bubble')
The XAxis and YAxis properties define the axes for xy-compatible chart-types ('scatter', 'scatterArea', 'scatterLine' or 'bubble')


property YAxis

property Graph.YAxis as ValueAxis
Defines the configuration-options for y-axis of xy-compatible chart-types ('scatter', 'scatterLine' or 'bubble')

Type | Description
ValueAxis | A ValueAxis property that defines the y-axis of xy-compatible chart-types ('scatter', 'scatterArea', 'scatterLine' or 'bubble')
The XAxis and YAxis properties define the axes for xy-compatible chart-types ('scatter', 'scatterArea', 'scatterLine' or 'bubble')


GridLinesOptions object
The GridLinesOptions type defines the size, color and style of the grid-lines. The GridLinesOptions object supports the following properties and methods:

Name | Description
Color | Specifies the line's color
Skip | Specifies the number of grid lines to skip
Step | Defines the step to show the grid lines
Style | Defines the style of the line
Width | Specifies the line's width or size (1 by default)


property Color

property GridLinesOptions.Color as Variant
Specifies the line's color

Type | Description
Variant | A string expression that defines the color of the line. This color property accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively.
By default, the Color property is 0(black, RGB(0,0,0)). The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip


property Skip

property GridLinesOptions.Skip as Long
Specifies the number of grid lines to skip

Type | Description
Long | A long expression that defines the number of grid lines to skip
By default, the Skip property is 0(no effect). The Skip property specifies the number of grid lines to skip. The Step property defines the step to show the grid lines. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default).


property Step

property GridLinesOptions.Step as Long
Defines the step to show the grid lines

Type | Description
Long | A long expression that defines the step to show the grid lines

By default, the Step property is 1(no effect). The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default).


property Style

property GridLinesOptions.Style as Long
Defines the style of the line

Type Description
Long A long expression that defines the style of the line as one of the following values:
  • 0, solid
  • 1, dash
  • 2, dot
  • 3, dash-dot
  • 4, dash-dot-dot
By default, the Style property is 0(solid). The Style property defines the style of the line. The Color property specifies the line's color. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip


property Width

property GridLinesOptions.Width as Long
Specifies the line's width or size (1 by default)

Type | Description
Long | A long expression that defines the size of the line
By default, the Width property is 1(1-pixel wide). The Width property specifies the line's width or size. The Color property specifies the line's color. The Style property defines the style of the line. The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip


Legend object
The Legend object defines the configuration options to display the view's legend (the legend helps you choose which series to show or hide at runtime). The Legend object gets a reference to the control's legend.

The Legend object supports the following properties and method:

Name | Description
Align | Specifies the alignment of the legend's content
Dock | Specifies the edge of the container the legend-window is anchored to
Flow | Determines whether the legend objects are arranged from left to right or top to bottom
FormatText | Specifies the flags the labels use to display on the legend
Grid | Specifies the number of columns or rows that the legend divides its content into
LabelFixedHeight | Indicates the fixed-height to display the labels
LabelFixedWidth | Indicates the fixed-width to display the labels
Locked | Indicates whether the legend is locked(protected) or unlocked
Pad | Defines the legend's padding (space between legend's symbol/label and its borders)
Reverse | Reverses the order of the items within the legend.
SymbolAlign | Specifies the alignment of the symbol of the serie relative to the label of the serie
SymbolHeight | Indicates the height to display the symbol
SymbolWidth | Indicates the fixed-width to display the symbol
Visible | Shows or hides the legend


property Align

property Legend.Align as LegendAlignEnum
Specifies the alignment of the legend's content

Type Description
LegendAlignEnum A LegendAlignEnum expression specifies the alignment of the legend's content. For instance:
  • exStart or 0 {number}, the legend's content is aligned to the start (left or top side of the view)
By default, the Align property is exCenter (the legend's content is centered). The Align property specifies the alignment of the legend's content. The Flow property determines whether the legend objects are arranged from left to right or top to bottom. The Dock property specifies the edge of the container the legend-window is anchored to. The Grid property specifies the number of columns or rows that the legend divides its content into. The Reverse property reverses the order of the items within the legend.


property Dock

property Legend.Dock as PanelDockEnum
Specifies the edge of the container the legend-window is anchored to

Type Description
PanelDockEnum A PanelDockEnum expression that specifies the edge of the container the legend-window is anchored to. For instance:
  • exLeft or 3 {number}, the legend is docked to the left side of the control
By default, the Dock property is exBottom (the legend is anchored to the bottom side of the view). The Dock property specifies the edge of the container the legend-window is anchored to. The Flow property determines whether the legend objects are arranged from left to right or top to bottom. The Align property specifies the alignment of the legend's content. The Grid property specifies the number of columns or rows that the legend divides its content into. The Reverse property reverses the order of the items within the legend.


property Flow

property Legend.Flow as LegendFlowEnum
Determines whether the legend objects are arranged from left to right or top to bottom

Type Description
LegendFlowEnum A LegendFlowEnum type that specifies how the legend items gets arranged. For instance:
  • exLeftToRight or 0 {number}, the legend objects are aligned left to right while the legend panel is anchored to the top or bottom side of the view. Otherwise, the legend objects are vertically arranged.
  • exTopToBottom or 1 {number}, indicates that the next legend object gets arranged to the bottom of the current legend object
By default, the Flow property is exAuto (The legend items are arranged horizontally from left to right when the legend panel is anchored to the top/bottom side of the view. Alternatively, they are arranged vertically from top to bottom when the legend panel is anchored to the left/right side of the view). The Flow property determines whether the legend objects are arranged from left to right or top to bottom. The Dock property specifies the edge of the container the legend-window is anchored to. The Align property specifies the alignment of the legend's content. The Grid property specifies the number of columns or rows that the legend divides its content into. The Reverse property reverses the order of the items within the legend.


property FormatText

property Legend.FormatText as DrawTextFormatEnum
Specifies the flags the labels use to display on the legend

Type Description
DrawTextFormatEnum A DrawTextFormatEnum expression that defines the flags the labels use to display on the legend. For instance:
  • exTextAlignCenter | exTextAlignVCenter | exTextSingleLine or 0x105 {number}, centers the label on a single line
By default, the FormatText property is exTextAlignTop + exTextAlignLeft (the labels are aligned to the left/right corner). The FormatText property specifies the flags the labels use to display on the legend. The Visible property shows or hides the legend. The Locked property ondicates whether the legend is locked(protected) or unlocked. The Pad property defines the legend's padding (space between legend's symbol and label). The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Grid property specifies the number of columns or rows that the legend divides its content into.


property Grid

property Legend.Grid as String
Specifies the number of columns or rows that the legend divides its content into

Type Description
String A string expression the defines a string of "columns x rows" type that defines the number of columns and / or rows to arrange the legend objects. The columns and rows can be omitted. For instance:
  • "x2", defines a maxium 2-rows arrangement
  • "3 x 2", defines a maxium 3-columns or 2-rows arrangement
By default, the Grid property is "" (the number of columns, rows is not defined, so the legend objects are arranged for best fit). The Grid property specifies the number of columns or rows that the legend divides its content into. The Flow property determines whether the legend objects are arranged from left to right or top to bottom. The Dock property specifies the edge of the container the legend-window is anchored to. The Align property specifies the alignment of the legend's content. The Reverse property reverses the order of the items within the legend.


property LabelFixedHeight

property Legend.LabelFixedHeight as Long
Indicates the fixed-height to display the labels

Type Description
Long A long expression that defines the fixed-width to display the labels. For instance:
  • 64, fixes the label on a 64-pixel tall rectangle
By default, the LabelFixedHeight property is 0 (no effect). The LabelFixedHeight property Indicates the height-width to display the labels. The LabelFixedWidth property Indicates the fixed-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Grid property specifies the number of columns or rows that the legend divides its content into. The Visible property shows or hides the legend. The Locked property ondicates whether the legend is locked(protected) or unlocked. The Pad property defines the legend's padding (space between legend's symbol and label). The FormatText property specifies the flags the labels use to display on the legend.


property LabelFixedWidth

property Legend.LabelFixedWidth as Long
Indicates the fixed-width to display the labels

Type Description
Long A long expression that specifies the fixed-width to display the labels. For instance:
  • 64, fixes the label on a 64-pixel wide rectangle
By default, the LabelFixedWidth property is 0 (no effect). The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Grid property specifies the number of columns or rows that the legend divides its content into. The Visible property shows or hides the legend. The Locked property ondicates whether the legend is locked(protected) or unlocked. The Pad property defines the legend's padding (space between legend's symbol and label). The FormatText property specifies the flags the labels use to display on the legend.


property Locked

property Legend.Locked as Boolean
Indicates whether the legend is locked(protected) or unlocked

Type Description
Boolean A boolean expression that specifies whether the legend is locked(protected) or unlocked. For instance:
  • false, unlocks the legend (can show or hide the serie)
  • true, locks the legend (can't show or hide the serie)
By default, the Locked property is False (the legend is not locked, so the user can show/hide the series). The Locked property ondicates whether the legend is locked(protected) or unlocked. The Visible property shows or hides the legend. The Pad property defines the legend's padding (space between legend's symbol and label). The FormatText property specifies the flags the labels use to display on the legend. The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Grid property specifies the number of columns or rows that the legend divides its content into.


property Pad

property Legend.Pad as Variant
Defines the legend's padding (space between legend's symbol and label)

Type | Description
Variant | A string expression in "horizontal,vertical" format that defines the legend's padding (space between legend's symbol and label), or a numeric expression that defines the horizontal and vertical padding.

By default, the Pad property is "4,4" (4-pixels horizontal and vertical padding). The Pad property defines the legend's padding (space between legend's symbol and label). The FormatText property specifies the flags the labels use to display on the legend. The Visible property shows or hides the legend. The Locked property ondicates whether the legend is locked(protected) or unlocked. The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Grid property specifies the number of columns or rows that the legend divides its content into.


property Reverse

property Legend.Reverse as Boolean
Reverses the order of the items within the legend.

Type Description
Boolean A boolean expression that specifies whether the order of the items within the legend are reversed. For instance:
  • false, by default, the items are ordered by their original-position (as they were added, unless the Position property of the Serie object has not been used)
  • true, reverses the order of the items within the legend
By default, the Reverse property is false. The Reverse property reverses the order of the items within the legend. The Flow property determines whether the legend objects are arranged from left to right or top to bottom. The Dock property specifies the edge of the container the legend-window is anchored to. The Align property specifies the alignment of the legend's content. The Grid property specifies the number of columns or rows that the legend divides its content into.


property SymbolAlign

property Legend.SymbolAlign as LegendSymbolAlignmentEnum
Specifies the alignment of the symbol of the serie relative to the label of the serie

Type Description
LegendSymbolAlignmentEnum A LegendSymbolAlignmentEnum expression that defines the alignment of the symbol of the serie relative to the label of the serie. For instance:
  • exSymbolRight or 4 {number}, right-aligns the symbol relative with the label

By default, the SymbolAlign property is exSymbolLeft | exSymbolCenter (the symbol is placed to the left and vertically centered relative to the label). The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Grid property specifies the number of columns or rows that the legend divides its content into. The Visible property shows or hides the legend. The Locked property ondicates whether the legend is locked(protected) or unlocked. The Pad property defines the legend's padding (space between legend's symbol and label). The FormatText property specifies the flags the labels use to display on the legend. The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels.


property SymbolHeight

property Legend.SymbolHeight as Variant
Indicates the height to display the symbol

Type Description
Variant A Variant expression that specifies the height to display the symbol, as one of the following:
  • empty or "" {string}, the height of the control's Font specifies the height to display the symbol
  • number, specifies the height to display the symbol

For instance:

  • empty or "" {string}, the height of the control's Font specifies the height to display the symbol
  • 0, no symbol is shown
  • 4, the symbol's height is fixed to 4-pixels tall
By default, the SymbolHeight property is empty (the SymbolHeight is equivalent with the font's height). The SymbolHeight property indicates the height-width to display the symbol. The SymbolWidth property indicates the fixed-width to display the symbol. The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The Visible property shows or hides the legend. The Locked property ondicates whether the legend is locked(protected) or unlocked. The Pad property defines the legend's padding (space between legend's symbol and label). The FormatText property specifies the flags the labels use to display on the legend. The Grid property specifies the number of columns or rows that the legend divides its content into.


property SymbolWidth

property Legend.SymbolWidth as Variant
Indicates the width to display the symbol

Type Description
Variant A Variant expression that specifies the width to display the symbol, as one of the following:
  • empty or "" {string}, the height of the control's Font specifies the width to display the symbol
  • number, specifies the width to display the symbol

For instance:

  • empty or "" {string}, the height of the control's Font specifies the width to display the symbol
  • 0, no symbol is shown
  • 4, the symbol's width is fixed to 4-pixels wide
By default, the SymbolWidth property is empty (the SymbolWidth is equivalent with the font's height). The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Grid property specifies the number of columns or rows that the legend divides its content into. The Visible property shows or hides the legend. The Locked property ondicates whether the legend is locked(protected) or unlocked. The Pad property defines the legend's padding (space between legend's symbol and label). The FormatText property specifies the flags the labels use to display on the legend. The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie.


property Visible

property Legend.Visible as Boolean
Shows or hides the legend

Type Description
Boolean A boolean expression that specifies whether the legend is visible or hidden. For instance:
  • false, by default, the legend is hidden
  • true, shows the legend
By default, the Visible property is False (the legend is hidden). The Visible property shows or hides the legend. The LegendFormat property defines the expression used to customize the label of the series displayed on the legend panel. The Locked property ondicates whether the legend is locked(protected) or unlocked. The Pad property defines the legend's padding (space between legend's symbol and label). The FormatText property specifies the flags the labels use to display on the legend. The LabelFixedWidth property Indicates the fixed-width to display the labels. The LabelFixedHeight property Indicates the height-width to display the labels. The SymbolAlign property specifies the alignment of the symbol of the serie relative to the label of the serie. The SymbolWidth property indicates the fixed-width to display the symbol. The SymbolHeight property indicates the height-width to display the symbol. The Grid property specifies the number of columns or rows that the legend divides its content into.


LineOptions object
The LineOptions type defines the size, color and style of the axis, grid or tick-lines. The LineOptions object supports the following properties and methods:

Name | Description
Color | Specifies the line's color
Style | Defines the style of the line
Width | Specifies the line's width or size (1 by default)


property Color

property LineOptions.Color as Variant
Specifies the line's color

Type | Description
Variant | A string expression that defines line's color. This color property accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively.
By default, the Color property is 0(black, RGB(0,0,0)). The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default).


property Style

property LineOptions.Style as Long
Defines the style of the line

Type Description
Long A long expression that defines the style of the line as one of the following values:
  • 0, solid
  • 1, dash
  • 2, dot
  • 3, dash-dot
  • 4, dash-dot-dot
By default, the Style property is 0(solid). The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). The Color property specifies the line's color.


property Width

property LineOptions.Width as Long
Specifies the line's width or size (1 by default)

Type | Description
Long | A long expression that defines the size of the line
By default, the Width property is 1(1-pixel wide). The Width property specifies the line's width or size. The Color property specifies the line's color. The Style property defines the style of the line.


Overview object
The Overview object holds configuration options for the control's overview panel. The Overview property gets access to the control's Overview object.

The Overview object supports the following methods and properties:

Name | Description
Dock | Specifies the edge of the container the overview-window is anchored to
Line | Defines the configuration options for displaying the lines of values in the overview
Serie | Specifies a serie or multiple series separated by comma to be represented within the overview-map
Size | Specifies the size of the control's overview.
Visible | Shows or hides the overview


property Dock

property Overview.Dock as PanelDockEnum
Specifies the edge of the container the overview-window is anchored to

Type Description
PanelDockEnum A PanelDockEnum expression that specifies the edge of the container the overview-window is anchored to. For instance:
  • exBottom or 2, the overview is docked to the bottom side of the control
By default, the Dock property is exTop (the control's overview is anchored to the top-side of the view). The Dock property specifies the edge of the container the overview-window is anchored to. The Visible property shows or hides the overview. The Size property specifies the size of the control's overview. The Serie property specifies a serie or multiple series separated by comma to be represented within the overview-map. The Line property defines the configuration options for displaying the lines of values in the overview.


property Line

property Overview.Line as LineOptions
Defines the configuration options for displaying the lines of values in the overview

Type | Description
LineOptions | A LineOptions object that defines the configuration options for displaying the lines of values in the overview
By default, the Color property of the LineOptions object is -1(the color of the serie defines the color of the line within the overview-map). The Line property defines the configuration options for displaying the lines of values in the overview. The Visible property shows or hides the overview. The Size property specifies the size of the control's overview. The Serie property specifies a serie or multiple series separated by comma to be represented within the overview-map. The Dock property specifies the edge of the container the overview-window is anchored to.


property Serie

property Overview.Serie as String
Specifies a serie or multiple series separated by comma to be represented within the overview-map

Type Description
String A string expresion that specifies a serie or multiple series separated by comma to be represented within the overview-map. The format of a particular element of the serie field is "KEY[\[INNER\]][:[COLOR][-fill [FILLCOLOR]]]", where KEY is the name or the index of the serie, INNER is the inner-index of the value to represent (valid for multi-dimensional array only), COLOR specifies a perticular color to show the overview-line for giving serie (if COLOR is missing, the seriesColors option defines the color to show overview-line) and FILLCOLOR specifies a different color to fill the overview-curve. The overview can show lines or surfaces for one or more series. For instance:
  • "0,1", indicates that first two series are represented within the overview.
  • "0:black,0[1]:red,0[2]:blue,0[3]:green", shows four overview-lines for the first, second, third and forth-dimension of the same serie (the first serie with the index 0)
  • "2:-fill,0", the overview shows the first and third series (the third serie is filled)
By default, the Serie property is "0" (the control's overview is shown the first serie). The Serie property specifies a serie or multiple series separated by comma to be represented within the overview-map. The Visible property shows or hides the overview. The Size property specifies the size of the control's overview. The Line property defines the configuration options for displaying the lines of values in the overview. The Dock property specifies the edge of the container the overview-window is anchored to.


property Size

property Overview.Size as Long
Specifies the size of the control's overview.

Type Description
Long A long expression that specifies the size of the control's overview. For instance:
  • 32, sets the overview's size to 32-pixels tall (if anchored to the top or bottom side)
By default, the Size property is 64. The Size property specifies the size of the control's overview. The Visible property shows or hides the overview. The Serie property specifies a serie or multiple series separated by comma to be represented within the overview-map. The Line property defines the configuration options for displaying the lines of values in the overview. The Dock property specifies the edge of the container the overview-window is anchored to.


property Visible

property Overview.Visible as Boolean
Shows or hides the overview

Type Description
Boolean A boolean expression that specifies whether the overview window is visible or hidden. For instance:
  • true, shows the overview (the overview displays the map of the entire series without a scroll bar)
By default, the Visible property is false (the control's overview is hidden). The Visible property specifies whether the overview window is visible or hidden. The Size property specifies the size of the control's overview. The Serie property specifies a serie or multiple series separated by comma to be represented within the overview-map. The Line property defines the configuration options for displaying the lines of values in the overview. The Dock property specifies the edge of the container the overview-window is anchored to.


Serie object
The Series property gives access to the control's series of data. The Item property seturns a specific Serie of the Series collection, giving its identifier.

The Serie object supports the following properties and method:

Name | Description
Axis | Specifies the name of the value axis to use
Color | Defines the color for an individual serie
CursorFormat | Specifies an expression to customize the tooltips to display, when the crosshair cursor hovers the charts of the series
Data | Specifies the values of the serie
Index | Returns the index of the serie (0-based)
Key | Specifies the identifier/key of the serie
LegendFormat | Specifies an expression to customize the serie's label to show on the legend
Misc | Defines the serie's miscellaneous options
Name | Specifies the name of the chart serie which is visible in the legend
Position | Retrieves or sets a value that indicates the position of the serie
ShowValue | Shows or hides the serie's value-points, value-lines and values
Stack | Specifies whether the serie is stacked (same value for multiple series of the same type indicates same stacking-group)
Style | Indicates the way the values of the serie get connected
Type | Specifies the type of the serie (the way the data is represented)
ValueFormat | Specifies the expression to customize the values to display on the chart (showValue property includes the exValue)
Vertical | Specifies whether the serie is showing the data vertically or horizontally
Visible | Shows or hides the serie within the chart-view (it is still visible within the legend)


property Axis

property Serie.Axis as String
Specifies the name of the value axis to use

Type | Description
String | A string expression that specifies the name of the value-axis to use
By default, the Axis property is "", that indicates that the default/first value axis is used. The chart can display multiple value axes. The serie uses the default value axis (unnamed value axis or the first value axis if all named) in case the specified value axis does not exit. The unrefered value axes shows the data as provided by the default value axis. The Start/End fields define where the value-axis begins/ends relative to the full axis. The ColorChart property defines the color to apply on the chart's background right to the value-axis.


property Color

property Serie.Color as Variant
Defines the color for an individual serie.

Type Description
Variant A string expression that defines the color to show the serie. This color property accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively. Additionally the color property supports:
  • null, specifies that the index of the current series determines the color to use from the SeriesColors collection

An integer expression that defines the EBN visual appearance. The last 7 bits in the high significant byte of the color to indicates the identifier of the skin being used. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the background's part. The EBN color is supported only by rectangular-chart Type such as:

  • "column", a column chart or column graph is a chart or graph that presents categorical data with rectangular columns with heights proportional to the values that they represent. A horizontal column chart is called a bar chart. (data requires array of numbers, supports vertical field, scrollable)
  • "waterfall", a waterfall chart is a form of data visualization that helps in understanding the cumulative effect of sequentially introduced positive or negative values. These intermediate values can either be time based or category based. The waterfall chart is also known as a flying bricks chart or Mario chart due to the apparent suspension of columns (bricks) in mid-air. Often in finance, it will be referred to as a bridge. (data requires array of numbers, supports vertical field, scrollable)
  • "rangecolumn", a range column chart displays information as a range of data by plotting two Y-values (low and high) per data point. The vertical axis shows the values, and the horizontal axis shows the categories they belong to; in multiple-series range column charts, values are grouped by categories. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
By default, the Color property is empty (while empty the SeriesColors property specifies the color of the serie). The Color property specifies the color for an individual serie. If the Color is empty or "null" the color of the serie is determined by the SeriesColors collection. The Index property get the index of the serie (0-based). The SeriesColors property assigns colors to individual values or items within a series based on their index. However, its application varies depending on the chart type. For instance, column, rangeColumn, and radarColumn chart types exhibit distinct colors for items or values within a series when the chart shows only one series. Conversely, if the chart displays multiple series, the SeriesColors property does not affect the values or items within each series. In the last case, the SeriesColors property assigns a color to each visible serie, while the Color property is not specified.

For instance:

  • "null", the serie's color is determined by the the SeriesColors collection, based on the index of the current serie
  • "blue", specifies that all values of the serie are shown in blue
  • "rgb(0,128,0)", specifies that all values of the serie are shown in dark green
  • 0x1000000, defines the skin identifier to apply on the tooltip's background (use the Add method to add new skins to the control)


property CursorFormat

property Serie.CursorFormat as String
Specifies an expression to customize the tooltips to display, when the crosshair cursor hovers the charts of the series

Type Description
String A string expression that specifies the format (including ex-HTML) format to display the value's label. The expression supports the following keywords:
  • value, {number} specifies the serie-item's value
  • name, {string} defines the name of the serie as specified by Name property
  • category, {string} specifies the category the current value is in
  • percent, indicates the percent of the item
  • inner, indicates the inner index of the value within the point data. For example, 0 represents the 'open' or 'from' value, 1 represents the 'high' or 'to' value, 2 represents the 'low' value, and 3 represents the 'close' value. This property is defined only for charts that require multi-dimensional arrays, such as candlestick chart types.

Additionally, the expression supports:

  • %V0, %V1, %V2 or %V3, {number} retrieve the designated values by referencing %V0 for the open value (for candlestick charts or "from" in column range charts), %V1 for the high value (for candlestick charts or "to" in column range charts), %V2 for the low value (for candlestick charts), and %V3 for the close value (for candlestick charts, defaulting to "value" if unavailable).

This property/method supports predefined constants and operators/functions as described here.

The CursorFormat property defaults to an empty string ("") indicating that the value is returned by default. The CursorFormat property Specifies an expression to customize the tooltips to display, when the crosshair cursor hovers the charts of the series. The Visible property shows or hides the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes)

For instance:

  • "value format ``", displays the values as numbers using current regional setting
  • "`<fgcolor black>` + value", shows the values in black
  • ""name + `: ` + (value format `0`)"", shows the serie's name followed by the value formatted according to your control panel settings.
  • "`Open: <b>` + (%v0 format `0`) + `</b><br>High: ` + (%v1 format `0`) + `<br>Low: ` + (%v2 format `0`) + `<br>Close: <b>` + (%v1 format `0`) + `</b>`", displays the open, high, low and close values for candlestick charts

Currently, the Exontrol's built-in HTML format supports the following HTML tags:

  • <b> ... </b> displays the text in bold.
  • <i> ... </i> displays the text in italics.
  • <u> ... </u> underlines the text.
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The ExButton, ExComboBox, ExG2antt, ExGantt, ExGrid, ExHTML, ExLabel, ExList, ExOrgChart, ExplorerTree, ExSchedule, ExSurface, ExSwimlane, ExTree controls support expandable HTML captions feature. The expandable-captions allow you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor color> ... </fgcolor> or <fgcolor=color> ... </fgcolor> displays text with a specified foreground color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <bgcolor color> ... </bgcolor> or <bgcolor=color> ... </bgcolor> displays text with a specified background color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <solidline color> ... </solidline> or <solidline=color> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <dotline color> ... </dotline> or <dotline=color> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra color;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the color, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out color;width> ... </out> shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha color;width;offset> ... </sha> define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property Data

property Serie.Data as Variant
Specifies the values of the serie

Type Description
Variant A variant expression that defines the values of the serie as one of the following:
  • a string expression, that defines any of the following:
    • the list of values separated by comma/space, such as "1,2,3" (single-dimensional array) or "10 20,10 15" (bi-dimensional array)
    • the list of column-names or column-indexes separated by comma within the control's data, such as "AAPL (open),AAPL (high),AAPL (low),AAPL (close)" or "1,2,3,4". The Data, Import or DataSource property defines the control's data.
    • the list of categories(values) separated by comma, such as "Facebook(10 20 30),Google(15 15 40),Microsoft(20 20 50)"
  • a numeric expression, that defines any of the following:
    • the single value of the serie, such as 1000
    • the index of the column within the control's data, such as 1
  • a safe-array of values that indicates a single or bi-dimensional array, such as Array(100,200,300)
The Data property defines the values of the serie. The Data property is equivalent with Data parameter of the Add method. The Type property specifies the type of the serie (the way the data is represented).

The control can load data using one of the following methods:

  • Data, equivalend of Import method
  • Import method, loads data from a CSV file or from specified text.
  • DataSource property, assigns an ADO/DAO record set to be loaded.
The DataSample property gives a sample of the data being loaded.


property Index

property Serie.Index as Long
Returns the index of the serie (0-based)

Type | Description
Long | A long expression that specifies the index of the serie.
The Index property is read-only. The Index property is 0-based, so the first added element has the index 0, the second one has the index 1, and so on. You can use the Index property to identify the serie using the Item property or other propertyies. Use the Position property retrieves or sets a value that indicates the position of the serie. Use the Key property defines the identifier of the serie. The Name property specifies the name of the chart serie which is visible in the legend. The Type property specifies the type of the serie (the way the data is represented). The Remove method removes a specific member from the Series collection, giving its identifier. The Clear method clears all series of the control. The Item property seturns a specific Serie of the Series collection, giving its identifier.


property Key

property Serie.Key as Variant
Specifies the identifier/key of the serie

Type | Description
Variant | A string expression that defines the identifier of the serie
The Key property defines the identifier of the serie. The Name property specifies the name of the chart serie which is visible in the legend. The Type property specifies the type of the serie (the way the data is represented). The Remove method removes a specific member from the Series collection, giving its identifier. The Clear method clears all series of the control. The Item property seturns a specific Serie of the Series collection, giving its identifier. Use the Position property retrieves or sets a value that indicates the position of the serie.


property LegendFormat

property Serie.LegendFormat as String
Specifies an expression to customize the serie's label to show on the legend

Type Description
String A string expression that specifies the format (including ex-HTML) format to display the value's label. The expression supports the following keywords:
  • index, {number} defines the index of the category (single data-set of column or pie-type) or the index of the serie
  • label, {string} specifies the label to display (could be the category (pie-charts) or the Name of the serie)
  • name, {string} specifies the Name of the serie
  • visible, {boolean} specifies whether the item is visible or hidden
  • percent, {number} gets the percent of the item (available mostly for pie-charts)

This property/method supports predefined constants and operators/functions as described here.

By default, the LegendFormat property is "", which indicates that the name of the serie is shown. The LegendFormat property defines the expression used to customize the label of the series displayed on the legend panel. The Visible property shows or hides the legend.

For instance:

  • "(visible ? `<b>`: ``) + name", shows the name of the serie in bold only if it visible
  • ""`<b>` + name + ` (` + (index + 1) + ')'"", shows the series name followed by its index, displayed in bold
  • "label + `(` + ((percent) format ``) + `%)`", shows the labels and percent formatted according to the control panel

Currently, the Exontrol's built-in HTML format supports the following HTML tags:

  • <b> ... </b> displays the text in bold.
  • <i> ... </i> displays the text in italics.
  • <u> ... </u> underlines the text.
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The ExButton, ExComboBox, ExG2antt, ExGantt, ExGrid, ExHTML, ExLabel, ExList, ExOrgChart, ExplorerTree, ExSchedule, ExSurface, ExSwimlane, ExTree controls support expandable HTML captions feature. The expandable-captions allow you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor color> ... </fgcolor> or <fgcolor=color> ... </fgcolor> displays text with a specified foreground color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <bgcolor color> ... </bgcolor> or <bgcolor=color> ... </bgcolor> displays text with a specified background color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <solidline color> ... </solidline> or <solidline=color> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <dotline color> ... </dotline> or <dotline=color> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra color;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the color, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out color;width> ... </out> shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha color;width;offset> ... </sha> define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property Misc

property Serie.Misc(Option as SerieMiscEnum) as Variant
Defines the serie's miscellaneous options

Type | Description
Option as SerieMiscEnum | A SerieMiscEnum expression to change
Variant | A value that specifies the newly value for serie's miscellaneous option
The Misc property defines the serie's miscellaneous options. The Type property defines the type of the serie.

For instance:

  • exLineSize, specifies the size of the line (frame).
  • exCandleAllowHollow, The exCandleAllowHollow feature denotes that the "candleStick" or "ohlc" chart type enables the presentation of hollow representations. This indicates instances where the closing price exceeds the opening price, resulting in candlesticks characterized by unfilled bodies.


property Name

property Serie.Name as String
Specifies the name of the chart serie which is visible in the legend

Type | Description
String | Indicates the name of the chart serie which is visible in the legend.
The Name property is equivalent with the Name parameter of the Add method. The Key property of the serie defines the identifier of the serie. The Type property specifies the type of the serie (the way the data is represented). The Remove method removes a specific member from the Series collection, giving its identifier. The Clear method clears all series of the control. The Item property seturns a specific Serie of the Series collection, giving its identifier. Use the Position property retrieves or sets a value that indicates the position of the serie.


property Position

property Serie.Position as Long
Retrieves or sets a value that indicates the position of the serie

Type | Description
Long | A long expression that specifies the position of the serie (0-based)
Use the Position property retrieves or sets a value that indicates the position of the serie. You can use the Index property to identify the serie using the Item property or other propertyies. Use the Key property defines the identifier of the serie. The Name property specifies the name of the chart serie which is visible in the legend. The Type property specifies the type of the serie (the way the data is represented). The Remove method removes a specific member from the Series collection, giving its identifier. The Clear method clears all series of the control. The Item property seturns a specific Serie of the Series collection, giving its identifier.


property ShowValue

property Serie.ShowValue as ShowValueEnum
Shows or hides the serie's value-points, value-lines and values.

Type | Description
ShowValueEnum | A ShowValueEnum expression that specifies whether the value-points, value-lines and values are shown or hidden.
By default, the ShowValue property is exHide. The ShowValue property shows or hides the serie's value-points, value-lines and values. The ValuePoint property specifies the size, color, frame color and size of the value point, frame color, size and length of the value line, color, frame color, size and pad of the value-point's background, each separated by a comma. The ToolTipFormat property specifies the expression to customize the tooltip (shown while the cursor hovers value-points of the chart)

The Misc property sets or gets different options of the control, such as:

  • exValueDistInnerCircular, specifies the distance from the edge of the inner circle where the values are displayed.
  • exValueDistOuterCircular, specifies the distance from the edge of the outer circle where the values are displayed.
  • exValueLineExt, specifies the distance to extend the value-line by
  • exValueLineAddAngle, specifies the additional angle (in degrees) the value-line is rotated by
  • exValueLineUpAngle, specifies the angle (in degrees) the value-line is rotated by, when the values goes up
  • exValueLineDownAngle, specifies the angle (in degrees) the value-line is rotated by, when the values goes down
  • exShowValueIf, specifies the category-unit's minimum size so the data-values are visible.

The value-points are not available for xy-compatible chart types as:

  • "scatter",
  • "scatterLine"
  • "bubble"

The following screen show shows how the value-point is represented:

where:

  • value-point is the point on the serie
  • value-line connects the value-point to value-label
  • value-label displays the value


property Stack

property Serie.Stack as String
Specifies whether the serie is stacked (same value for multiple series of the same type indicates same stacking-group)

Type | Description
String | A string expression that specifies the identifier of the stacked-group.
By default, the Stack property is "", which indicates that the series is not part of any stacking-group. The stacked feature, a fundamental aspect of data visualization, is characterized by bars subdivided into distinct segments, each delineating a cumulative effect. This feature serves as an effective tool for portraying the distribution or production of monetary resources over a temporal continuum. By visually segregating and stacking these segments, the Stacked Bar feature facilitates a comprehensive understanding of how individual values contribute to the overall total, offering valuable insights into proportional relationships within the dataset. The Type property specifies the type of the serie (the way the data is represented).

The following screen shot show the data un-stacked (default):

The following screen shot show the same data stacked :

The Stack property is supported by the following chart-types:

  • "area", an area chart or area graph displays graphically quantitative data. It is based on the line chart. The area between axis and line are commonly emphasized with colors, textures and hatchings. Commonly one compares two or more quantities with an area chart. (data requires array of numbers, supports vertical field, scrollable)
  • "column", a column chart or column graph is a chart or graph that presents categorical data with rectangular columns with heights proportional to the values that they represent. A horizontal column chart is called a bar chart. (data requires array of numbers, supports vertical field, scrollable)
  • "line", a line chart or line graph, also known as curve chart is a type of chart which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields. It is similar to a scatter plot except that the measurement points are ordered (typically by their x-axis value) and joined with straight line segments. A line chart is often used to visualize a trend in data over intervals of time - a time series - thus the line is often drawn chronologically. In these cases they are known as run charts. (data requires array of numbers, supports vertical field, scrollable)
  • "radararea", a radar chart is a graphical method of displaying multivariate data in the form of a two-dimensional chart of three or more quantitative variables represented on axes starting from the same point. The relative position and angle of the axes is typically uninformative, but various heuristics, such as algorithms that plot data as the maximal total area, can be applied to sort the variables (axes) into relative positions that reveal distinct correlations, trade-offs, and a multitude of other comparative measures. (data requires array of numbers, non-scrollable)
  • "radarcolumn", displays data in radial columns starting from one center point. The circle is divided into equal portions depending on the number of columns and each column group occupies one portion (similar with "radarArea" type, data requires array of numbers, non-scrollable)
  • "radarline", similar with radarArea type. (data requires array of numbers, non-scrollable)


property Style

property Serie.Style as SerieStyleEnum
Indicates the way the values of the serie get connected

Type | Description
SerieStyleEnum | A SerieStyleEnum expression that defines the way the values of the serie get connected
By default, the Style property is exNormal. The Style property indicates the way the values of the serie get connected. The Type property defines the type of the serie. The style has effect if serie's type is one of the following:
  • "line"
  • "area"
  • "radarLine"
  • "radarArea"
  • "polarLine"
  • "polarArea"


property Type

property Serie.Type as String
Specifies the type of the serie (the way the data is represented)

Type Description
String The type of the serie supports the following values:

area-compatible

  • "area", an area chart or area graph displays graphically quantitative data. It is based on the line chart. The area between axis and line are commonly emphasized with colors, textures and hatchings. Commonly one compares two or more quantities with an area chart. (data requires array of numbers, supports vertical field, scrollable)
  • "column", a column chart or column graph is a chart or graph that presents categorical data with rectangular columns with heights proportional to the values that they represent. A horizontal column chart is called a bar chart. (data requires array of numbers, supports vertical field, scrollable)
  • "waterfall", a waterfall chart is a form of data visualization that helps in understanding the cumulative effect of sequentially introduced positive or negative values. These intermediate values can either be time based or category based. The waterfall chart is also known as a flying bricks chart or Mario chart due to the apparent suspension of columns (bricks) in mid-air. Often in finance, it will be referred to as a bridge. (data requires array of numbers, supports vertical field, scrollable)
  • "line", a line chart or line graph, also known as curve chart is a type of chart which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields. It is similar to a scatter plot except that the measurement points are ordered (typically by their x-axis value) and joined with straight line segments. A line chart is often used to visualize a trend in data over intervals of time - a time series - thus the line is often drawn chronologically. In these cases they are known as run charts. (data requires array of numbers, supports vertical field, scrollable)
  • "rangearea", a range chart displays sets of data points, each of which is defined by multiple values for the same category, and emphasizes the distance between the two values. The category labels are displayed on the category axis. The plain Range chart fills in the area between the top and the bottom value for each data point. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "rangecolumn", a range column chart displays information as a range of data by plotting two Y-values (low and high) per data point. The vertical axis shows the values, and the horizontal axis shows the categories they belong to; in multiple-series range column charts, values are grouped by categories. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "candlestick", a candlestick chart (also called Japanese candlestick chart or K-line) is a style of financial chart used to describe price movements of a security, derivative, or currency. While similar in appearance to a bar chart, each candleStick represents four important pieces of information for that day: open and close in the thick body, and high and low in the "candle wick". Being densely packed with information, it tends to represent trading patterns over short periods of time, often a few days or a few trading sessions. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)
  • "ohlc", an open-high-low-close chart (also OHLC) is a type of chart typically used to illustrate movements in the price of a financial instrument over time. Each vertical line on the chart shows the price range (the highest and lowest prices) over one unit of time, e.g., one day or one hour. Tick marks project from each side of the line indicating the opening price (e.g., for a daily bar chart this would be the starting price for that day) on the left, and the closing price for that time period on the right. The bars may be shown in different hues depending on whether prices rose or fell in that period. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)

xy-compatible

  • "scatterarea", a scatter area chart is similar with "scatterLine" type, excepts that scatter plots zone is filled. (data requires array of array of two-numbers, such as [[x, y]], supports vertical field, non-scrollable)
  • "scatter", a scatter plot (also called a scatterplot, scatter graph, scatter chart, scattergram, or scatter diagram) is a type of plot or mathematical diagram using Cartesian coordinates to display values for typically two variables for a set of data. (data requires array of array of two-numbers, such as [[x, y]], supports vertical field, non-scrollable)
  • "scatterline", a scatter line chart is similar with "scatter" type, excepts that lines are shown between scatter plots. (data requires array of array of two-numbers, such as [[x, y]], supports vertical field, non-scrollable)
  • "bubble", a bubble chart or bubble plot is a type of chart that displays three dimensions of data (a bubble chart is an extension of the scatter plot used to look at relationships between three numeric variables.). Each entity with its triplet (v1, v2, v3) of associated data is plotted as a disk that expresses two of the vi values through the disk's xy location and the third through its size. Bubble charts can facilitate the understanding of social, economical, medical, and other scientific relationships. (data requires array of array of three-numbers, such as [[x, y, size]], supports vertical field, non-scrollable)

radar-compatible

  • "radararea", a radar chart is a graphical method of displaying multivariate data in the form of a two-dimensional chart of three or more quantitative variables represented on axes starting from the same point. The relative position and angle of the axes is typically uninformative, but various heuristics, such as algorithms that plot data as the maximal total area, can be applied to sort the variables (axes) into relative positions that reveal distinct correlations, trade-offs, and a multitude of other comparative measures. (data requires array of numbers, non-scrollable)
  • "radarcolumn", displays data in radial columns starting from one center point. The circle is divided into equal portions depending on the number of columns and each column group occupies one portion (similar with "radarArea" type, data requires array of numbers, non-scrollable)
  • "radarline", similar with radarArea type. (data requires array of numbers, non-scrollable)

polar-compatible

  • "polararea", represents data points connected with straight line segments that enclose a filled area together with the chart pole (data requires array of array of two-numbers, such as [[angle, value]], non-scrollable)
  • "polarline", represents data points connected with straight line segments (data requires array of array of two-numbers, such as [[angle, value]], non-scrollable)
  • "polarscatter", shows the serie as non-connected data points (data requires array of array of two-numbers, such as [[angle, value]], non-scrollable)

pie-compatible

  • "pie", a pie chart (or a circle chart) is a circular statistical graphic which is divided into slices to illustrate numerical proportion. In a pie chart, the arc length of each slice (and consequently its central angle and area) is proportional to the quantity it represents. While it is named for its resemblance to a pie which has been sliced, there are variations on the way it can be presented. (data requires array of numbers, non-scrollable)
By default, the Type property is "column". The Type property specifies the type of the serie (the way the data is represented). The Type property enables the use of partial names; for instance, entering 'col' will be interpreted as 'column'.. The scroll-bars are supported for area-compatible types. The Data property specifies the values of the serie. The Vertical property specifies whether the serie is showing the data vertically or horizontally. The ScrollBars property returns or sets a value that determines whether the control has horizontal and/or vertical scroll bars.


property ValueFormat

property Serie.ValueFormat as String
Specifies the expression to customize the values to display on the chart (showValue property includes the exValue)

Type Description
String A string expression that specifies the format (including ex-HTML) format to display the value's label. The expression supports the following keywords:
  • value, {number} specifies the serie-item's value
  • name, {string} defines the name of the serie as specified by Name property
  • category, {string} specifies the category the current value is in
  • percent, indicates the percent of the item
  • inner, indicates the inner index of the value within the point data. For example, 0 represents the 'open' or 'from' value, 1 represents the 'high' or 'to' value, 2 represents the 'low' value, and 3 represents the 'close' value. This property is defined only for charts that require multi-dimensional arrays, such as candlestick chart types.

Additionally, the expression supports:

  • %V0, %V1, %V2 or %V3, {number} retrieve the designated values by referencing %V0 for the open value (for candlestick charts or "from" in column range charts), %V1 for the high value (for candlestick charts or "to" in column range charts), %V2 for the low value (for candlestick charts), and %V3 for the close value (for candlestick charts, defaulting to "value" if unavailable).

This property/method supports predefined constants and operators/functions as described here.

The ValueFormat property defaults to an empty string ("") indicating that the value is returned by default. The ValueFormat property specifies the expression to customize the labels to display on the chart. The ShowValue property shows or hides the serie's value-points, value-lines and values. The ValuePoint property specifies the size, color, frame color and size of the value point, frame color, size and length of the value line, color, frame color, size and pad of the value-point's background, each separated by a comma.

For instance:

  • "value format ``", displays the values as numbers using current regional setting
  • "`<fgcolor black>` + value", shows the values in black
  • "category + `<br>` + value", allows the value-points to display the category as well

Currently, the Exontrol's built-in HTML format supports the following HTML tags:

  • <b> ... </b> displays the text in bold.
  • <i> ... </i> displays the text in italics.
  • <u> ... </u> underlines the text.
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The ExButton, ExComboBox, ExG2antt, ExGantt, ExGrid, ExHTML, ExLabel, ExList, ExOrgChart, ExplorerTree, ExSchedule, ExSurface, ExSwimlane, ExTree controls support expandable HTML captions feature. The expandable-captions allow you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor color> ... </fgcolor> or <fgcolor=color> ... </fgcolor> displays text with a specified foreground color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <bgcolor color> ... </bgcolor> or <bgcolor=color> ... </bgcolor> displays text with a specified background color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <solidline color> ... </solidline> or <solidline=color> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <dotline color> ... </dotline> or <dotline=color> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra color;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the color, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out color;width> ... </out> shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha color;width;offset> ... </sha> define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property Vertical

property Serie.Vertical as Boolean
Specifies whether the serie is showing the data vertically or horizontally

Type | Description
Boolean | A boolean expression that determines whether the serie is showing the data vertically or horizontally
By default, the Vertical property is false, so the chart is displayed horizontally. The Vertical property specifies whether the serie is showing the data vertically or horizontally. When the view is set to display multiple series of data, an important feature to note is that if the Vertical property of any individual series is set to True, it will dictate the orientation of the entire chart. In other words, if just one series within the view is designated to be displayed vertically, the entire chart will adopt a vertical layout. The Type property specifies the type of the serie (the way the data is represented).

The following screen shot shows the chart displayed horizontally (columns):

The following screen shot shows the chart displayed vertically (bars):

The Vertical property has effect for area and xy-compatible chart-types as listed:

area-compatible

  • "area", an area chart or area graph displays graphically quantitative data. It is based on the line chart. The area between axis and line are commonly emphasized with colors, textures and hatchings. Commonly one compares two or more quantities with an area chart. (data requires array of numbers, supports vertical field, scrollable)
  • "column", a column chart or column graph is a chart or graph that presents categorical data with rectangular columns with heights proportional to the values that they represent. A horizontal column chart is called a bar chart. (data requires array of numbers, supports vertical field, scrollable)
  • "waterfall", a waterfall chart is a form of data visualization that helps in understanding the cumulative effect of sequentially introduced positive or negative values. These intermediate values can either be time based or category based. The waterfall chart is also known as a flying bricks chart or Mario chart due to the apparent suspension of columns (bricks) in mid-air. Often in finance, it will be referred to as a bridge. (data requires array of numbers, supports vertical field, scrollable)
  • "line", a line chart or line graph, also known as curve chart is a type of chart which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields. It is similar to a scatter plot except that the measurement points are ordered (typically by their x-axis value) and joined with straight line segments. A line chart is often used to visualize a trend in data over intervals of time - a time series - thus the line is often drawn chronologically. In these cases they are known as run charts. (data requires array of numbers, supports vertical field, scrollable)
  • "rangearea", a range chart displays sets of data points, each of which is defined by multiple values for the same category, and emphasizes the distance between the two values. The category labels are displayed on the category axis. The plain Range chart fills in the area between the top and the bottom value for each data point. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "rangecolumn", a range column chart displays information as a range of data by plotting two Y-values (low and high) per data point. The vertical axis shows the values, and the horizontal axis shows the categories they belong to; in multiple-series range column charts, values are grouped by categories. (data requires array of array of two-numbers, such as [[from, to]], supports vertical field, scrollable)
  • "candlestick", a candlestick chart (also called Japanese candlestick chart or K-line) is a style of financial chart used to describe price movements of a security, derivative, or currency. While similar in appearance to a bar chart, each candleStick represents four important pieces of information for that day: open and close in the thick body, and high and low in the "candle wick". Being densely packed with information, it tends to represent trading patterns over short periods of time, often a few days or a few trading sessions. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)
  • "ohlc", an open-high-low-close chart (also OHLC) is a type of chart typically used to illustrate movements in the price of a financial instrument over time. Each vertical line on the chart shows the price range (the highest and lowest prices) over one unit of time, e.g., one day or one hour. Tick marks project from each side of the line indicating the opening price (e.g., for a daily bar chart this would be the starting price for that day) on the left, and the closing price for that time period on the right. The bars may be shown in different hues depending on whether prices rose or fell in that period. (data requires array of array of four-numbers, such as [[open, high, low and close]], supports vertical field, scrollable)

xy-compatible

  • "scatterarea", a scatter area chart is similar with "scatterLine" type, excepts that scatter plots zone is filled. (data requires array of array of two-numbers, such as [[x, y]], supports vertical field, non-scrollable)
  • "scatter", a scatter plot (also called a scatterplot, scatter graph, scatter chart, scattergram, or scatter diagram) is a type of plot or mathematical diagram using Cartesian coordinates to display values for typically two variables for a set of data. (data requires array of array of two-numbers, such as [[x, y]], supports vertical field, non-scrollable)
  • "scatterline", a scatter line chart is similar with "scatter" type, excepts that lines are shown between scatter plots. (data requires array of array of two-numbers, such as [[x, y]], supports vertical field, non-scrollable)
  • "bubble", a bubble chart or bubble plot is a type of chart that displays three dimensions of data (a bubble chart is an extension of the scatter plot used to look at relationships between three numeric variables.). Each entity with its triplet (v1, v2, v3) of associated data is plotted as a disk that expresses two of the vi values through the disk's xy location and the third through its size. Bubble charts can facilitate the understanding of social, economical, medical, and other scientific relationships. (data requires array of array of three-numbers, such as [[x, y, size]], supports vertical field, non-scrollable)


property Visible

property Serie.Visible as Boolean
Shows or hides the serie within the chart-view (it is still visible within the legend)

Type | Description
Boolean | A boolean expression that specifies whether the serie's representation of the chart is visible or hidden

The Visible property shows or hides the representation of the serie within the chart. The Remove method removes a specific member from the Series collection, giving its identifier. The Clear method clears all series of the control.


Series object
The Item property seturns a specific Serie of the Series collection, giving its identifier. The Series property returns the Series collection. The control allows you to display multiples series within the same view, as shown in the following screen shot:

The Series object supports the following methods and properties:

Name | Description
Add | Adds a Serie object to the collection and returns a reference to the newly created object.
Clear | Removes all objects in the collection.
Count | Returns the number of objects in the collection.
Item | Returns a specific Serie of the Series collection, giving its identifier.
Remove | Removes a specific member from the Series collection, giving its identifier.


method Add

method Series.Add ([Data as Variant], [Name as Variant])
Adds a Serie object to the collection and returns a reference to the newly created object.

Type | Description
Data as Variant A variant expression that defines the values of the serie as one of the following:
  • a string expression, that defines any of the following:
    • the list of values separated by comma/space, such as "1,2,3" (single-dimensional array) or "10 20,10 15" (bi-dimensional array)
    • the list of column-names or column-indexes separated by comma within the control's data, such as "AAPL (open),AAPL (high),AAPL (low),AAPL (close)" or "1,2,3,4". The Data, Import or DataSource property defines the control's data.
    • the list of categories(values) separated by comma, such as "Facebook(10 20 30),Google(15 15 40),Microsoft(20 20 50)"
  • a numeric expression, that defines any of the following:
    • the single value of the serie, such as 1000
    • the index of the column within the control's data, such as 1
  • a safe-array of values that indicates a single or bi-dimensional array, such as Array(100,200,300)

The Data parameter is equivalent with Data property.

Name as Variant | indicates the name of the chart serie which is visible in the legend. The Name parameter is equivalent with Name property.
Return | Description
Serie | A Serie object being created
The Add method adds a Serie object to the collection and returns a reference to the newly created object. The Type property specifies the type of the serie (the way the data is represented). The Key property of the serie defines the identifier of the serie. The Remove method removes a specific member from the Series collection, giving its identifier. The Clear method clears all series of the control. The Item property returns a specific Serie of the Series collection, giving its identifier.

The control can load data using one of the following methods:

  • Data, equivalend of Import method
  • Import method, loads data from a CSV file or from specified text.
  • DataSource property, assigns an ADO/DAO record set to be loaded.
The DataSample property gives a sample of the data being loaded.


method Clear

method Series.Clear ()
Removes all objects in the collection.

Type Description
The Clear method clears all series of the control. The Remove method removes a specific member from the Series collection, giving its identifier. The Add method adds a Serie object to the collection and returns a reference to the newly created object. The Item property seturns a specific Serie of the Series collection, giving its identifier.


property Count

property Series.Count as Long
Returns the number of objects in the collection.

Type | Description
Long | A long expression that specifies the number of the serie within the control.
The Count property gets the number of the series within the control. The Count property returns 0 in the control contains no serie.


property Item

property Series.Item (ID as Variant) as Serie
Returns a specific Serie of the Series collection, giving its identifier.

Type | Description
ID as Variant A Variant expression that can be any of the following:
  • A long expression that specifies the index of the serie (Index property)
  • A string expression that defines the key of the serie (Key property)
Serie | A Serie object being requested
The Item property returns a specific Serie of the Series collection, giving its identifier. The Add method adds a Serie object to the collection and returns a reference to the newly created object. The Remove method removes a specific member from the Series collection, giving its identifier. The Clear method clears all series of the control.


method Remove

method Series.Remove (ID as Variant)
Removes a specific member from the Series collection, giving its identifier.

Type | Description
ID as Variant | A long expression that specifies the index of the serie to remove or the key of the serie to remove.
The Remove method removes a specific member from the Series collection, giving its identifier. The Visible property shows or hides the representation of the serie within the chart. The Key property of the serie defines the identifier of the serie. The Clear method clears all series of the control. The Add method adds a Serie object to the collection and returns a reference to the newly created object. The Item property returns a specific Serie of the Series collection, giving its identifier.


TickOptions object
The TickOptions type defines the size, color and style of the tick-lines. The TickOptions object supports the following properties and methods:

Name | Description
Color | Specifies the line's color
Skip | Specifies the number of ticks to skip
Step | Defines the step to show the ticks
Style | Defines the style of the line
Width | Specifies the line's width or size (1 by default)


property Color

property TickOptions.Color as Variant
Specifies the line's color

Type | Description
Variant | A string expression that defines the color of the line. This color property accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively. >
By default, the Color property is 0(black, RGB(0,0,0)). The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the ticks. The Skip property specifies the number of ticks to skip


property Skip

property TickOptions.Skip as Long
Specifies the number of ticks to skip

Type | Description
Long | A long expression that defines the number of ticks to skip
By default, the Skip property is 0(no effect). The Skip property specifies the number of ticks to skip. The Step property defines the step to show the ticks. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default).


property Step

property TickOptions.Step as Long
Defines the step to show the ticks

Type | Description
Long | A long expression that defines the step to show the ticks

By default, the Step property is 1(no effect). The Step property defines the step to show the ticks. The Skip property specifies the number of ticks to skip. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default).


property Style

property TickOptions.Style as Long
Defines the style of the line

Type Description
Long A long expression that defines the style of the line as one of the following values:
  • 0, solid
  • 1, dash
  • 2, dot
  • 3, dash-dot
  • 4, dash-dot-dot
By default, the Style property is 0(solid). The Style property defines the style of the line. The Color property specifies the line's color. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the ticks. The Skip property specifies the number of ticks to skip


property Width

property TickOptions.Width as Long
Specifies the line's width or size (1 by default)

Type | Description
Long | A long expression that defines the size of the line
By default, the Width property is 1(1-pixel wide). The Width property specifies the line's width or size. The Color property specifies the line's color. The Style property defines the style of the line. The Step property defines the step to show the ticks. The Skip property specifies the number of ticks to skip


ValueAxes object
The ValueAxes property gets the value-axes object. The ValueAxis property accesses the default (first) value-axis. This control empowers users to employ multiple value axes, offering the flexibility to assign each series to any axis as needed. Additionally, each value axis can be configured to occupy a specific portion of the full axis, granting users the freedom to customize the display of series within the visualization.

The ValueAxes collection supports the following properties and methods:

Name | Description
Add | Adds a ValueAxis object to the collection and returns a reference to the newly created object.
Clear | Removes all objects in the collection.
Count | Returns the number of objects in the collection.
Item | Returns a specific ValueAxis of the ValueAxes collection, giving its identifier.
Remove | Removes a specific member from the ValueAxes collection, giving its identifier.


method Add

method ValueAxes.Add ([Name as Variant])
Adds a ValueAxis object to the collection and returns a reference to the newly created object.

Type | Description
Name as Variant | A string expression that defines the name of the value-axis to add. The Axis property specifies the name of the value axis to use. The Start/End fields define where the value-axis begins/ends relative to the full axis.
Return | Description
ValueAxis | A ValueAxis object that defines the newly created value-axis.
The Add method adds a ValueAxis object to the collection and returns a reference to the newly created object. The ValueAxes property gets the value-axes object. The ValueAxis property accesses the default (first) value-axis. The Clear method removes all value-axes. The Remove method removes a specific member from the ValueAxes collection, giving its identifier.


method Clear

method ValueAxes.Clear ()
Removes all objects in the collection.

Type Description
The Clear method removes all value-axes. The Remove method removes a specific member from the ValueAxes collection, giving its identifier. The Add method adds a ValueAxis object to the collection and returns a reference to the newly created object. The ValueAxes property gets the value-axes object. The ValueAxis property accesses the default (first) value-axis.


property Count

property ValueAxes.Count as Long
Returns the number of objects in the collection.

Type | Description
Long | A long expression that defines the number of objects in the collection.
The Count property counts the number of value-axes within the view. The Add method adds a ValueAxis object to the collection and returns a reference to the newly created object. The ValueAxes property gets the value-axes object. The ValueAxis property accesses the default (first) value-axis. The Clear method removes all value-axes. The Remove method removes a specific member from the ValueAxes collection, giving its identifier.


property Item

property ValueAxes.Item (ID as Variant) as ValueAxis
Returns a specific ValueAxis of the ValueAxes collection, giving its identifier.

Type | Description
ID as Variant | A long expression that specifies the index of the value-axis to access, or a string expression that defines the name of the value-axis to access.
ValueAxis | A ValueAxis property from the giving index or name
The Item property returns a specific ValueAxis of the ValueAxes collection, giving its identifier. The Clear method removes all value-axes. The Remove method removes a specific member from the ValueAxes collection, giving its identifier. The Add method adds a ValueAxis object to the collection and returns a reference to the newly created object. The ValueAxes property gets the value-axes object. The ValueAxis property accesses the default (first) value-axis.


method Remove

method ValueAxes.Remove (ID as Variant)
Removes a specific member from the ValueAxes collection, giving its identifier.

Type | Description
ID as Variant | A long expression that specifies the index or the name of the value-axis to remove
The Remove method removes a specific member from the ValueAxes collection, giving its identifier. The Visible property shows or hides the value-axis (including the labels). The Clear method removes all value-axes. The Add method adds a ValueAxis object to the collection and returns a reference to the newly created object. The ValueAxes property gets the value-axes object. The ValueAxis property accesses the default (first) value-axis.


ValueAxis object
The ValueAxis property returns the first value-axis. It is equivalent with ValueAxes(0) property. The ValueAxis property has effect for area-compatible chart types. The Type property specifies the way the serie is represented. The ValueAxis object supports the following properties and methods:

Name | Description
Align | Aligns the value-axis to bottom/right or top/left side of the view
Angle | Specifies the rotation angle (in degrees) for the title and labels of the axis, in 'labels,title' format
AsPercent | Indicates whether the value-axis converts the serie's values to [0,1] range, as percentages (the values area always numbers between 0 and 1).
AxisLine | Defines the configuration options to show the line of the value-axis
Color | Specifies the value-axis's background color
ColorChart | Defines the color to apply on the chart's background right to the value-axis
CursorFormat | Specifies an expression to customize the tooltips to show on value-axis, when the crosshair intersects the value-axis
End | Defines where the value-axis ends relative to the full axis
Format | Specifies an expression to customize the labels to show on value axis
Index | Returns the index of the value-axis (0-based)
MajorGridLines | Defines the configuration options to show the major grid lines of the value-axis
MajorTicks | Defines the configuration options to show the major ticks of the value-axis
MajorUnit | Specifies the interval between major divisions
Max | Specifies the maximum value of the axis
Min | Specifies the minimum value of the axis
Name | Defines the name of the value axis
OffsetLabel | Defines the offset to move labels horizontally or vertically in relation to their original positions
Position | Retrieves or sets a value that indicates the position of the value-axis
Reverse | Defines the direction of the value axis
Start | Defines where the value-axis begins relative to the full axis.
Tfi | Specifies the font attributes to apply on the title and labels of the value-axis
Title | Specifies the title of the value-axis. The title supports ex-HTML format
Visible | Shows or hides the value-axis (including the labels)


property Align

property ValueAxis.Align as AlignEnum
Aligns the value-axis to bottom/right or top/left side of the view

Type | Description
AlignEnum | An AlignEnum expression that specifies the alignment of the value-axis relative to the view
By default, the Align property is exAlignDefault, which indicates that the value-axis is aligned to left/top side of the view. If the chart is horizontally oriented (values go vertically, categories go horizontally) the value-axis can be aligned to left or right side of the view. If the chart is vertically oriented (values go horizontally, categories go vertically) the value-axis can be aligned to top or bottom side of the view. The Reverse property defines the direction of the value axis.

For instance:

  • -1(exAlignDefault) {number}, aligns the value-axis to bottom/right side of the view (default)
  • 0 {number}, aligns the value-axis to top/left side of the view


property Angle

property ValueAxis.Angle as String
Specifies the rotation angle (in degrees) for the title and labels of the axis, in 'title,label' format

Type | Description
String | A string expression that defines the rotation angle for title and labels of the category-axis, in 'title,label' format
By default, the Angle property is "". The Angle property specifies the rotation angle (in degrees) for the title and labels of the axis, in 'title,label' format. Currently, only orthogonal angles are allowed.

For instance:

  • "0,0", forces title and labels to show not-rotated
  • "90,0", forces the title to shown as rotated and labels not-rotated


property AsPercent

property ValueAxis.AsPercent as Boolean
Indicates whether the value-axis converts the serie's values to [0,1] range, as percentages (the values area always numbers between 0 and 1).

Type | Description
Boolean | A boolean expression that specifies whether the the value-axis converts the serie's values to [0,1] range, as percentages (the values area always numbers between 0 and 1)
By default, the AsPercent property is False. The AsPercent property specifies whether the value-axis converts the serie's values to [0,1] range, as percentages (the values area always numbers between 0 and 1). When the AsPercent property is set to true, the highest value is displayed as 100%, and the remaining values are shown proportionally relative to this maximum value. By default, the value-axis is displayed from 0 to 1, and so you can use the Format property to customize the labels to be shown the value-axis.

The following screen shot shows the chart using AsPercent on True:

The following screen shot shows the chart using the same data and AsPercent on False (by default):


property AxisLine

property ValueAxis.AxisLine as LineOptions
Defines the configuration options to show the line of the value-axis

Type | Description
LineOptions | A LineOptions object that defines the configuration options to show the line of the value-axis
The AxisLine property defines the configuration options to show the line of the value-axis. You can define the color, size or style of the category-axis. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). Use the Visible property to hide the entire category-axis.

For instance:

  • AxisLine.Width = 0, hides the value-axis (does hide only the axis-line not the labels, title and so on).
  • AxisLine.Width = 2, shows a ticker line for value-axis


property Color

property ValueAxis.Color as Variant
Specifies the value-axis's background color

Type | Description
Variant | A string expression that defines the background color of the value-axis The color accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively.
By default, the Color property is "", which indicates a transparent background color. You can use the Color property to specify a different background color for value-axis. You can use the <fgcolor> ex-HTML tag of Tfi or labels to specify a foreground color. The ColorChart property defines the color to apply on the chart's background right to the value-axis.

For instance:

  • "blue", shows the value-axis's backround in blue
  • "rgb(0,128,0)", shows the value-axis's backround in dark green
  • "#FF0000", shows the value-axis's backround in red


property ColorChart

property ValueAxis.ColorChart as Variant
Defines the color to apply on the chart's background right to the value-axis

Type | Description
Variant | A string expression that defines the background color of the value-axis The color accepts values in various formats: CSS named colors, RGB format (e.g., rgb(red, green, blue)), or hexadecimal format (#RRGGBB). In RGB format, the red, green, and blue values range from 0 to 255, while in hexadecimal format, RR, GG, and BB represent the hexadecimal values of the red, green, and blue channels, respectively.

By default, the ColorChart property is empty, which indicates that no color is applied on the chart. The ColorChart property defines the color to apply on the chart's background right to the value-axis. The Axis property specifies the name of the value axis to use. The Start/End fields define where the value-axis begins/ends relative to the full axis.


property CursorFormat

property ValueAxis.CursorFormat as String
Specifies an expression to customize the tooltips to show on value-axis, when the crosshair intersects the value-axis

Type Description
String A string expression that defines the expression (including ex-HTML) to customize the labels to show on value axis, when the crosshair intersects the value-axis

The expression supports the following keywords:

  • value, {number} defines the value

This property/method supports predefined constants and operators/functions as described here.

By default, the CursorFormat property is "", which indicates that no format is applied to values. The CursorFormat property Specifies an expression to customize the tooltips to show on value-axis, when the crosshair intersects the value-axis. The Visible property shows or hides the cursor (crosshair over the hover/touch area, tooltips for some or all nearby series data items, as well as tooltips on axes).

For instance:

  • "`<fgcolor ` + (value < 10000 ? `red` : `blue`) + `>` + value", shows the values less than 10,000 in red otherwise in blue
  • "value ? (value / 1000000) + ` mil` : ``", displays the value in millions

Currently, the Exontrol's built-in HTML format supports the following HTML tags:

  • <b> ... </b> displays the text in bold.
  • <i> ... </i> displays the text in italics.
  • <u> ... </u> underlines the text.
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The ExButton, ExComboBox, ExG2antt, ExGantt, ExGrid, ExHTML, ExLabel, ExList, ExOrgChart, ExplorerTree, ExSchedule, ExSurface, ExSwimlane, ExTree controls support expandable HTML captions feature. The expandable-captions allow you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor color> ... </fgcolor> or <fgcolor=color> ... </fgcolor> displays text with a specified foreground color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <bgcolor color> ... </bgcolor> or <bgcolor=color> ... </bgcolor> displays text with a specified background color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <solidline color> ... </solidline> or <solidline=color> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <dotline color> ... </dotline> or <dotline=color> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra color;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the color, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out color;width> ... </out> shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha color;width;offset> ... </sha> define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property End

property ValueAxis.End as Variant
Defines where the value-axis ends relative to the full axis

Type | Description
Variant | A numeric expression between 0 and 1 that defines where the value-axis begins relative to the full axis.
By default, the End property is emtpy, which indicates that the property has no effect. The Start/End fields define where the value-axis begins/ends relative to the full axis. The ColorChart property defines the color to apply on the chart's background right to the value-axis. The Axis property specifies the name of the value axis to use.

For instance:

  • 0.5, specifies that the value-axis ends to the middle of the full axis


property Format

property ValueAxis.Format as String
Specifies an expression to customize the labels to show on value axis

Type Description
String A string expression that defines the expression (including ex-HTML) to customize the labels to show on value axis.

The expression supports the following keywords:

  • value, {number} defines the value

This property/method supports predefined constants and operators/functions as described here.

By default, the Format property is "", which indicates that no format is applied to values. The Format property defines the labels of the value-axis. The Title property specifies the title of the value-axis. The Tfi property specifies the font attributes to apply on the title and labels of the value-axis.

For instance:

  • "`<fgcolor ` + (value < 10000 ? `red` : `blue`) + `>` + value", shows the values less than 10,000 in red otherwise in blue
  • "value ? (value / 1000000) + ` mil` : ``", displays the value in millions

Currently, the Exontrol's built-in HTML format supports the following HTML tags:

  • <b> ... </b> displays the text in bold.
  • <i> ... </i> displays the text in italics.
  • <u> ... </u> underlines the text.
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The ExButton, ExComboBox, ExG2antt, ExGantt, ExGrid, ExHTML, ExLabel, ExList, ExOrgChart, ExplorerTree, ExSchedule, ExSurface, ExSwimlane, ExTree controls support expandable HTML captions feature. The expandable-captions allow you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor color> ... </fgcolor> or <fgcolor=color> ... </fgcolor> displays text with a specified foreground color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <bgcolor color> ... </bgcolor> or <bgcolor=color> ... </bgcolor> displays text with a specified background color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <solidline color> ... </solidline> or <solidline=color> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <dotline color> ... </dotline> or <dotline=color> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra color;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the color, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out color;width> ... </out> shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha color;width;offset> ... </sha> define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property Index

property ValueAxis.Index as Long
Returns the index of the value-axis (0-based)

Type | Description
Long | A long expression that indicates the index of the value-axis (0-based)
The Index property is read-only. The Position property retrieves or sets a value that indicates the position of the value-axis. The Add method adds a ValueAxis object to the collection and returns a reference to the newly created object. The Remove method removes a specific member from the ValueAxes collection, giving its identifier. The Clear method Removes all objects in the collection. The Item property accesses a value-axis giving its index or key.


property MajorGridLines

property ValueAxis.MajorGridLines as GridLinesOptions
Defines the configuration options to show the major grid lines of the value-axis

Type | Description
GridLinesOptions | A GridLinesOptions object that helps to define the configuration options to show the major grid lines of the value-axis
By default, light-gray grid lines are shown, because the Color property is "lightgray" The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the grid lines. The Skip property specifies the number of grid lines to skip. The MajorTicks property defines the configuration options to show the major ticks of the value-axis.


property MajorTicks

property ValueAxis.MajorTicks as TickOptions
Defines the configuration options to show the major ticks of the value-axis

Type | Description
TickOptions | A TickOptions object that defines the configuration options to show the major ticks of the value-axis
The MajorTicks property defines the configuration options to show the major ticks of the value-axis. The MajorGridLines property defines the configuration options to show the major grid lines of the value-axis. The Color property specifies the line's color. The Style property defines the style of the line. The Width property specifies the line's width or size (1 by default). The Step property defines the step to show the ticks. The Skip property specifies the number of ticks to skip.


property MajorUnit

property ValueAxis.MajorUnit as Variant
Specifies the interval between major divisions

Type Description
Variant It indicates one of the following
  • empty, indicates that the control calculates the interval between major divisions
  • numeric value, specifies a fixed major unit
By default, the MajorUnit property is empty, which indicates that the control calculates the interval between major divisions. The MajorUnit property defines the interval between major divisions. The Misc( exBaseMajorUnits) property defines the base major-units alternatives (separated by comma) the control uses to calculate the major-unit for the axes. The Misc( exRangeMajorUnits) property defines the inferior and superior limits of the number of major-unit intervals an axis can display. The Min and Max properties specifies the minimum and maximum values of the axis.


property Max

property ValueAxis.Max as Variant
Specifies the maximum value of the axis

Type Description
Variant It indicates one of the following
  • empty, indicates that the control calculates the maximum value based on the data present in the chart
  • numeric value, specifies a fixed maximum value (all data is scaled according to the specified minimum and maximum values)
By default, the Max property is empty, which indicates that the control calculates the maximum value based on the data present in the chart. The Min and Max properties specifies the minimum and maximum values of the axis. The MajorUnit property defines the interval between major divisions. The Misc( exBaseMajorUnits) property defines the base major-units alternatives (separated by comma) the control uses to calculate the major-unit for the axes. The Misc( exRangeMajorUnits) property defines the inferior and superior limits of the number of major-unit intervals an axis can display.


property Min

property ValueAxis.Min as Variant
Specifies the minimum value of the axis

Type Description
Variant It indicates one of the following
  • empty, indicates that the control calculates the minimum value based on the data present in the chart
  • numeric value, specifies a fixed minimum value (all data is scaled according to the specified minimum and maximum values)
By default, the Min property is empty, which indicates that the control calculates the minimum value based on the data present in the chart. The Min and Max properties specifies the minimum and maximum values of the axis. The MajorUnit property defines the interval between major divisions. The Misc(exBaseMajorUnits) property defines the base major-units alternatives (separated by comma) the control uses to calculate the major-unit for the axes. The Misc(exRangeMajorUnits) property defines the inferior and superior limits of the number of major-unit intervals an axis can display.


property Name

property ValueAxis.Name as String
Defines the name of the value axis

Type | Description
String | A string expression that specifies the unique name of value-axis
The Name property defines the name of the value axis. Each value-axis has a different name. The Index property gets the index of the value-axis (0-based) The Axis property specifies the name of the value axis to use. The Start/End fields define where the value-axis begins/ends relative to the full axis.


property OffsetLabel

property ValueAxis.OffsetLabel as String
Defines the offset to move labels horizontally or vertically in relation to their original positions

Type | Description
String | A string expression that defines the horizontal and vertical offset to shift the labels of the value.
By default, the OffsetLabel property is "", which indicates that the labels are shown on their original position. The Format property specifies an expression to customize the labels to show on value axis. The Tfi property specifies the font attributes to apply on the title and labels of the value-axis. The Title property specifies the title of the value-axis.

For instance:

  • "24,0", shifts horizontally (to the right) the labels by 24 pixels


property Position

property ValueAxis.Position as Long
Retrieves or sets a value that indicates the position of the value-axis

Type | Description
Long | A long expression that indicates the position of the value-axis
The Position property retrieves or sets a value that indicates the position of the value-axis. The Index property returns the index of the value-axis (0-based). The Add method adds a ValueAxis object to the collection and returns a reference to the newly created object. The Remove method removes a specific member from the ValueAxes collection, giving its identifier. The Clear method Removes all objects in the collection. The Item property accesses a value-axis giving its index or key.


property Reverse

property ValueAxis.Reverse as Boolean
Defines the direction of the value axis

Type | Description
Boolean | A boolean expression that specifies the direction the value-axis is displayed from
By default, the Reverse property is False. The Reverse property defines the direction of the value axis. The Align property aligns the value-axis to bottom/right or top/left side of the view.

The following screen shot shows the chart using Reverse property on False (by default):

The following screen shot shows the chart using Reverse property on True:


property Start

property ValueAxis.Start as Variant
Defines where the value-axis begins relative to the full axis.

Type | Description
Variant | A numeric expression between 0 and 1 that defines where the value-axis begins relative to the full axis.
By default, the Start property is emtpy, which indicates that the property has no effect. The Start/End fields define where the value-axis begins/ends relative to the full axis. The ColorChart property defines the color to apply on the chart's background right to the value-axis. The Axis property specifies the name of the value axis to use.

For instance:

  • 0.5, specifies that the value-axis starts from the middle of the full axis


property Tfi

property ValueAxis.Tfi as String
Specifies the font attributes to apply on the title and labels of the value-axis

Type | Description
String | A string expression that defines the font attributes to apply on the title and labels of the value-axis
By default, the Tfi property is "", which indicates no effect. The Title property specifies the title of the value-axis. The Format property defines the labels of the value-axis.

The Tfi property defines the following font-attributes, separated by white-spaces characters, as explained:

  • bold, indicates that the labels and title are shown in bold
  • italic, indicates that the labels and title are shown in italics
  • underline, underlines the labels and title
  • strikeout, strikeouts the labels and title
  • <fgcolor color>, defines a different foreground color for labels and title
  • <bgcolor color>, defines a different background color for labels and title
  • <out color;width>, shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing.
  • <sha color;width;offset>, define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing.
  • <gra color;mode;blend>, defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray
  • any number, indicates the size of the font to use
  • any other string, defines the name of the font to use

where the color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The width indicates the size of shadow or gradient.

You can use the Color property to specify a different background color for value-axis.

For instance:

  • "bold", shows the labels and title in bold
  • "<fgcolor red>", shows the labels and title in red
  • "underline Tahoma 12", shows the labels and title underlined with a Tahoma 12px font


property Title

property ValueAxis.Title as String
Specifies the title of the value-axis. The title supports ex-HTML format

Type | Description
String | A string expression that defines the ex-HTML title of the value-axis
By default, the Title property is "". The Title property specifies the title of the value-axis. The Format property defines the labels of the value-axis. The Tfi property specifies the font attributes to apply on the title and labels of the value-axis. The title supports ex-HTML format. Call the Refresh method to refresh to update the control's content.

Currently, the Exontrol's built-in HTML format supports the following HTML tags:

  • <b> ... </b> displays the text in bold.
  • <i> ... </i> displays the text in italics.
  • <u> ... </u> underlines the text.
  • <s> ... </s> Strike-through text
  • <a id;options> ... </a> displays an anchor element that can be clicked. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link.The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The control fires the AnchorClick(AnchorID, Options) event when the user clicks the anchor element. The FormatAnchor property customizes the visual effect for anchor elements.

    The ExButton, ExComboBox, ExG2antt, ExGantt, ExGrid, ExHTML, ExLabel, ExList, ExOrgChart, ExplorerTree, ExSchedule, ExSurface, ExSwimlane, ExTree controls support expandable HTML captions feature. The expandable-captions allow you to expand(show)/collapse(hide) different information using <a ;exp=> or <a ;e64=> anchor tags. The exp/e64 field of the anchor stores the HTML line/lines to show once the user clicks/collapses/expands the caption.

    • exp, stores the plain text to be shown once the user clicks the anchor, such as <a ;exp=show lines>
    • e64, encodes in BASE64 the HTML text to be shown once the user clicks the anchor, such as <a ;e64=gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA>+</a> that displays show lines- in gray when the user clicks the + anchor. The gA8ABmABnABjABvABshIAOQAEAAHAAGESikWio+ABzABohp3iELABpABuABljYAgRhAEaFsqAAvAEsjUCmUEg0IhUMhUPjQAAEBA string encodes the <fgcolor 808080>show lines<a>-</a></fgcolor> The Decode64Text/Encode64Text methods of the eXPrint can be used to decode/encode e64 fields.

    Any ex-HTML caption can be transformed to an expandable-caption, by inserting the anchor ex-HTML tag. For instance, <solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3 shows the Header in underlined and bold on the first line and Line1, Line2, Line3 on the rest. The show lines is shown instead of Line1, Line2, Line3 once the user clicks the + sign.

  • <font face;size> ... </font> displays portions of text with a different font and/or different size. For instance, the <font Tahoma;12>bit</font> draws the bit text using the Tahoma font, on size 12 pt. If the name of the font is missing, and instead size is present, the current font is used with a different size. For instance, <font ;12>bit</font> displays the bit text using the current font, but with a different size.
  • <fgcolor color> ... </fgcolor> or <fgcolor=color> ... </fgcolor> displays text with a specified foreground color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <bgcolor color> ... </bgcolor> or <bgcolor=color> ... </bgcolor> displays text with a specified background color. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <solidline color> ... </solidline> or <solidline=color> ... </solidline> draws a solid-line on the bottom side of the current text-line, of specified RGB color. The <solidline> ... </solidline> draws a black solid-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <dotline color> ... </dotline> or <dotline=color> ... </dotline> draws a dot-line on the bottom side of the current text-line, of specified RGB color. The <dotline> ... </dotline> draws a black dot-line on the bottom side of the current text-line. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255.
  • <upline> ... </upline> draws the line on the top side of the current text-line (requires <solidline> or <dotline>).
  • <r> right aligns the text
  • <c> centers the text
  • <br> forces a line-break
  • <img>number[:width]</img> inserts an icon inside the text. The number indicates the index of the icon being inserted. Use the Images method to assign a list of icons to your chart. The last 7 bits in the high significant byte of the number expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part. The width is optional and indicates the width of the icon being inserted. Using the width option you can overwrite multiple icons getting a nice effect. By default, if the width field is missing, the width is 18 pixels.
  • <img>key[:width]</img> inserts a custom size picture into the text being previously loaded using the HTMLPicture property. The Key parameter indicates the key of the picture being displayed. The Width parameter indicates a custom size, if you require to stretch the picture, else the original size of the picture is used.
  • & glyph characters as &amp; ( & ), &lt; ( < ), &gt; ( > ), &qout; ( " ) and &#number; ( the character with specified code ), For instance, the &#8364; displays the EUR character. The & ampersand is only recognized as markup when it is followed by a known letter or a #character and a digit. For instance if you want to display <b>bold</b> in HTML caption you can use &lt;b&gt;bold&lt;/b&gt;
  • <off offset> ... </off> defines the vertical offset to display the text/element. The offset parameter defines the offset to display the element. This tag is inheritable, so the offset is keep while the associated </off> tag is found. You can use the <off offset> HTML tag in combination with the <font face;size> to define a smaller or a larger font to be displayed. For instance: Text with <font ;7><off 6>subscript displays the text such as: Text with subscript The Text with <font ;7><off -6>superscript displays the text such as: Text with subscript
  • <gra color;mode;blend> ... </gra> defines a gradient text. The text color or <fgcolor> defines the starting gradient color, while the color field defines the ending color, 808080 if missing as gray. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The mode is a value between 0 and 4, 1 if missing, and blend could be 0 or 1, 0 if missing. The <font> HTML tag can be used to define the height of the font. Any of the color, mode or blend field may not be specified. The <gra> with no fields, shows a vertical gradient color from the current text color to gray (808080). For instance the <font ;18><gra FFFFFF;1;1>gradient-center</gra></font> generates the following picture:
  • <out color;width> ... </out> shows the text with outlined characters, where color field defines the outline color, 808080 if missing as gray, width indicates the size of the outline, 1 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><out 000000><fgcolor=FFFFFF>outlined</fgcolor></out></font> generates the following picture:
  • <sha color;width;offset> ... </sha> define a text with a shadow, where color defines the shadow color, 808080 if missing as gray, width indicates the size of shadow, 4 if missing, and offset indicates the offset from the origin to display the text's shadow, 2 if missing. The color field accepts values in various formats: RRGGBB format, which represents the red(RR), green(GG), and blue(BB) values in hexadecimal format; named colors defined in CSS; or RGB format specified as rgb(RED,GREEN,BLUE), where RED, GREEN, and BLUE range from 0 to 255. The text color or <fgcolor> defines the color to show the inside text. The <font> HTML tag can be used to define the height of the font. For instance the <font ;31><sha>shadow</sha></font> generates the following picture:

    or <font ;31><sha 404040;5;0><fgcolor=FFFFFF>outline anti-aliasing</fgcolor></sha></font> gets:


property Visible

property ValueAxis.Visible as Boolean
Shows or hides the value-axis (including the labels)

Type | Description
Boolean | A boolean expression that specifies whether the value-axis is visible or hidden
By default, the Visible property is True, which indicates that the value-axis is visible. The Visible property shows or hides the value-axis (including the labels). The Remove method removes a specific member from the ValueAxes collection, giving its identifier. The Clear method removes all value-axes. The Add method adds a ValueAxis object to the collection and returns a reference to the newly created object. The ValueAxes property gets the value-axes object. The ValueAxis property accesses the default (first) value-axis.


ExGraph events
The Graph control supports the following events:

Name | Description
AnchorClick | Occurs when an anchor element is clicked.
Click | Occurs when the user presses and then releases the left mouse button over the control.
DblClick | Occurs when the user dblclk the left mouse button over an object.
Event | Notifies the application once the control fires an event.
KeyDown | Occurs when the user presses a key while an object has the focus.
KeyPress | Occurs when the user presses and releases an ANSI key.
KeyUp | Occurs when the user releases a key while an object has the focus.
MouseDown | Occurs when the user presses a mouse button.
MouseMove | Occurs when the user moves the mouse.
MouseUp | Occurs when the user releases a mouse button.
RClick | Occurs once the user right clicks the control.
ScrollButtonClick | Occurs when the user clicks a button in the scrollbar.


event AnchorClick

event AnchorClick (AnchorID as String, Options as String)
Occurs when an anchor element is clicked.

Type | Description
AnchorID as String | A string expression that indicates the identifier of the anchor.
Options as String | A string expression that specifies options of the anchor element.
The control fires the AnchorClick event to notify that the user clicks an anchor element. An anchor is a piece of text or some other object (for example an image) which marks the beginning and/or the end of a hypertext link. The <a> element is used to mark that piece of text (or inline image), and to give its hypertextual relationship to other documents. The AnchorClick event is fired only if prior clicking the control it shows the hand cursor. For instance, if the cell is disabled, the hand cursor is not shown when hovers the anchor element, and so the AnchorClick event is not fired. Use the FormatAnchor property to specify the visual effect for anchor elements. For instance, if the user clicks the anchor <a1>anchor</a>, the control fires the AnchorClick event, where the AnchorID parameter is 1, and the Options parameter is empty. Also, if the user clicks the anchor <a 1;yourextradata>anchor</a>, the AnchorID parameter of the AnchorClick event is 1, and the Options parameter is "yourextradata". Use the AnchorFromPoint property to retrieve the identifier of the anchor element from the cursor.

Syntax for AnchorClick event, /NET version, on:

private void AnchorClick(object sender,string AnchorID,string Options)
{
}

Private Sub AnchorClick(ByVal sender As System.Object,ByVal AnchorID As String,ByVal Options As String) Handles AnchorClick
End Sub

Syntax for AnchorClick event, /COM version, on:

private void AnchorClick(object sender, AxEXGRAPHLib._IGraphEvents_AnchorClickEvent e)
{
}

void OnAnchorClick(LPCTSTR AnchorID,LPCTSTR Options)
{
}

void __fastcall AnchorClick(TObject *Sender,BSTR AnchorID,BSTR Options)
{
}

procedure AnchorClick(ASender: TObject; AnchorID : WideString;Options : WideString);
begin
end;

procedure AnchorClick(sender: System.Object; e: AxEXGRAPHLib._IGraphEvents_AnchorClickEvent);
begin
end;

begin event AnchorClick(string AnchorID,string Options)
end event AnchorClick

Private Sub AnchorClick(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_AnchorClickEvent) Handles AnchorClick
End Sub

Private Sub AnchorClick(ByVal AnchorID As String,ByVal Options As String)
End Sub

Private Sub AnchorClick(ByVal AnchorID As String,ByVal Options As String)
End Sub

LPARAMETERS AnchorID,Options

PROCEDURE OnAnchorClick(oGraph,AnchorID,Options)
RETURN

Syntax for AnchorClick event, /COM version (others), on:

<SCRIPT EVENT="AnchorClick(AnchorID,Options)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function AnchorClick(AnchorID,Options)
End Function
</SCRIPT>

Procedure OnComAnchorClick String llAnchorID String llOptions
    Forward Send OnComAnchorClick llAnchorID llOptions
End_Procedure

METHOD OCX_AnchorClick(AnchorID,Options) CLASS MainDialog
RETURN NIL

void onEvent_AnchorClick(str _AnchorID,str _Options)
{
}

function AnchorClick as v (AnchorID as C,Options as C)
end function

function nativeObject_AnchorClick(AnchorID,Options)
return


event Click ()
Occurs when the user presses and then releases the left mouse button over the Graph control.

Type Description

The Click event is fired when the user releases the left mouse button over the control. Use a MouseDown or MouseUp event procedure to specify actions that will occur when a mouse button is pressed or released. Unlike the Click and DblClick events, MouseDown and MouseUp events lets you distinguish between the left, right, and middle mouse buttons. You can also write code for mouse-keyboard combinations that use the SHIFT, CTRL, and ALT keyboard modifiers. The AnchorClick event notifies your application that the user clicks an <a> anchor element.

Syntax for Click event, /NET version, on:

private void Click(object sender)
{
}

Private Sub Click(ByVal sender As System.Object) Handles Click
End Sub

Syntax for Click event, /COM version, on:

private void ClickEvent(object sender, EventArgs e)
{
}

void OnClick()
{
}

void __fastcall Click(TObject *Sender)
{
}

procedure Click(ASender: TObject; );
begin
end;

procedure ClickEvent(sender: System.Object; e: System.EventArgs);
begin
end;

begin event Click()
end event Click

Private Sub ClickEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClickEvent
End Sub

Private Sub Click()
End Sub

Private Sub Click()
End Sub

LPARAMETERS nop

PROCEDURE OnClick(oGraph)
RETURN

Syntax for Click event, /COM version (others), on:

<SCRIPT EVENT="Click()" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function Click()
End Function
</SCRIPT>

Procedure OnComClick
    Forward Send OnComClick
End_Procedure

METHOD OCX_Click() CLASS MainDialog
RETURN NIL

void onEvent_Click()
{
}

function Click as v ()
end function

function nativeObject_Click()
return


event DblClick

event DblClick (Shift as Integer, X as OLE_XPOS_PIXELS, Y as OLE_YPOS_PIXELS)
Occurs when the user double-clicks the left mouse button over an object.

Type | Description
Shift as Integer | An integer that corresponds to the state of the SHIFT, CTRL, and ALT keys.
X as OLE_XPOS_PIXELS | A single that specifies the current X location of the mouse pointer. The x values is always expressed in container coordinates
Y as OLE_YPOS_PIXELS | A single that specifies the current Y location of the mouse pointer. The y values is always expressed in container coordinates

The DblClick event is fired when user double clicks the control.

Syntax for DblClick event, /NET version, on:

private void DblClick(object sender,short Shift,int X,int Y)
{
}

Private Sub DblClick(ByVal sender As System.Object,ByVal Shift As Short,ByVal X As Integer,ByVal Y As Integer) Handles DblClick
End Sub

Syntax for DblClick event, /COM version, on:

private void DblClick(object sender, AxEXGRAPHLib._IGraphEvents_DblClickEvent e)
{
}

void OnDblClick(short Shift,long X,long Y)
{
}

void __fastcall DblClick(TObject *Sender,short Shift,int X,int Y)
{
}

procedure DblClick(ASender: TObject; Shift : Smallint;X : Integer;Y : Integer);
begin
end;

procedure DblClick(sender: System.Object; e: AxEXGRAPHLib._IGraphEvents_DblClickEvent);
begin
end;

begin event DblClick(integer Shift,long X,long Y)
end event DblClick

Private Sub DblClick(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_DblClickEvent) Handles DblClick
End Sub

Private Sub DblClick(Shift As Integer,X As Single,Y As Single)
End Sub

Private Sub DblClick(ByVal Shift As Integer,ByVal X As Long,ByVal Y As Long)
End Sub

LPARAMETERS Shift,X,Y

PROCEDURE OnDblClick(oGraph,Shift,X,Y)
RETURN

Syntax for DblClick event, /COM version (others), on:

<SCRIPT EVENT="DblClick(Shift,X,Y)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function DblClick(Shift,X,Y)
End Function
</SCRIPT>

Procedure OnComDblClick Short llShift OLE_XPOS_PIXELS llX OLE_YPOS_PIXELS llY
    Forward Send OnComDblClick llShift llX llY
End_Procedure

METHOD OCX_DblClick(Shift,X,Y) CLASS MainDialog
RETURN NIL

void onEvent_DblClick(int _Shift,int _X,int _Y)
{
}

function DblClick as v (Shift as N,X as OLE::Exontrol.Graph.1::OLE_XPOS_PIXELS,Y as OLE::Exontrol.Graph.1::OLE_YPOS_PIXELS)
end function

function nativeObject_DblClick(Shift,X,Y)
return

The following VB sample displays a message when the user double clicks an item:

Private Sub Graph1_DblClick(Shift As Integer, X As Single, Y As Single)
    With Graph1
        ' Converts the container coordinates to client coordinates
        X = X / Screen.TwipsPerPixelX
        Y = Y / Screen.TwipsPerPixelY
        Dim h As HITEM
        Dim c As Long, hit As Long
        ' Gets the item from (X,Y)
        h = .ItemFromPoint(X, Y, c, hit)
        If Not (h = 0) Or Not (c = 0) Then
            MsgBox "The '" & .Items.CellValue(h, c) & "' item has been double clicked."
        End If
    End With
End Sub

The following VB sample use DblClick event to start editing control, if the AutoEdit property is False.

Private Sub Graph1_DblClick(Shift As Integer, X As Single, Y As Single)
    ' Starts the editing operation if the user dbl click in the control
    With Graph1
        If (Not .AutoEdit) Then
            ' Did user dbl click on an item?
            Dim c As Long, hit as Long
            If Not (.ItemFromPoint(X / Screen.TwipsPerPixelX, Y / Screen.TwipsPerPixelY, c, hit) = 0) Then
                .Edit
            End If
        End If
    End With
End Sub

The following C++ sample displays the value of the cell being double clicked ( including the inner cells ):

#include "Items.h"
void OnDblClickGraph1(short Shift, long X, long Y)
{
    long c = NULL, hit = NULL;
    long h = m_graph.GetItemFromPoint( X, Y, &c, &hit );
    if ( ( h != 0 ) || ( c != 0 ) )
    {
        COleVariant vtItem( h ), vtColumn( c );
        CString strCaption = V2S( &m_graph.GetItems().GetCellValue( vtItem, vtColumn ) );
        MessageBox( strCaption );
    }
}

where the V2S function converts a VARIANT value to a string, and may look like follows:

static CString V2S( VARIANT* pv, LPCTSTR szDefault = _T("") )
{
    if ( pv )
    {
        if ( pv->vt == VT_ERROR )
            return szDefault;

        COleVariant vt;
        vt.ChangeType( VT_BSTR, pv );
        return V_BSTR( &vt );
    }
    return szDefault;
}

The following VB.NET sample displays the value of the cell being double clicked ( including the inner cells ):

Private Sub AxGraph1_DblClick(ByVal sender As Object, ByVal e As AxEXGRAPHLib._IGraphEvents_DblClickEvent) Handles AxGraph1.DblClick
    Dim h As Integer, c As Integer, hit As EXGRAPHLib.HitTestInfoEnum
    With AxGraph1
        h = .get_ItemFromPoint(e.x, e.y, c, hit)
        If Not (h = 0) Or Not (c = 0) Then
            MessageBox.Show(.Items.CellCaption(h, c))
        End If
    End With
End Sub

The following C# sample displays the value of the cell being double clicked ( including the inner cells ):

private void axGraph1_DblClick(object sender, AxEXGRAPHLib._IGraphEvents_DblClickEvent e)
{
    EXGRAPHLib.HitTestInfoEnum hit;
    int c = 0, h = axGraph1.get_ItemFromPoint(e.x, e.y, out c, out hit);
    if ((h != 0) || (c != 0))
        MessageBox.Show(axGraph1.Items.get_CellCaption(h, c).ToString());
}

The following VFP sample displays the value of the cell being double clicked:

*** ActiveX Control Event ***
LPARAMETERS shift, x, y

local c, hit
c = 0
hit = 0

with thisform.Graph1
    .Items.DefaultItem = .ItemFromPoint( x, y, @c, @hit )
    if ( .Items.DefaultItem != 0 )
        wait window nowait .Items.CellCaption( 0, c )
    endif
endwith


event Event

event Event (EventID as Long)
Notifies the application once the control fires an event.

Type | Description
EventID as Long | A Long expression that specifies the identifier of the event. Each internal event of the control has an unique identifier. Use the EventParam(-2) to display entire information about fired event ( such as name, identifier, and properties ). The EventParam(-1) retrieves the number of parameters of fired event
The Event notification occurs ANY time the control fires an event. This is useful for X++, which does not support event with parameters passed by reference. Also, this could be useful for C++ Builder or Delphi, which does not handle properly the events with parameters of VARIANT type.

In X++ the "Error executing code: FormActiveXControl (data source), method ... called with invalid parameters" occurs when handling events that have parameters passed by reference. Passed by reference, means that in the event handler, you can change the value for that parameter, and so the control will takes the new value, and use it. The X++ is NOT able to handle properly events with parameters by reference, so we have the solution.

The solution is using and handling the Event notification and EventParam method., instead handling the event that gives the "invalid parameters" error executing code.

If you are not familiar with what a type library means just handle the Event of the control as follows:

// Notifies the application once the control fires an event.
void onEvent_Event(int _EventID)
{
    print exgraph1.EventParam(-2).toString();
}

This code allows you to display the information for each event of the control being fired as in the list bellow:

"MouseMove/-606( 1 , 0 , 145 , 36 )" VT_BSTR
"BeforeDrawPart/54( 2 , -1962866148 , =0 , =0 , =0 , =0 , =false )" VT_BSTR
"AfterDrawPart/55( 2 , -1962866148 , 0 , 0 , 0 , 0 )" VT_BSTR
"MouseMove/-606( 1 , 0 , 145 , 35 )" VT_BSTR

Each line indicates an event, and the following information is provided: the name of the event, its identifier, and the list of parameters being passed to the event. The parameters that starts with = character, indicates a parameter by reference, in other words one that can changed during the event handler.

In conclusion, anytime the X++ fires the "invalid parameters." while handling an event, you can use and handle the Event notification and EventParam methods of the control

Syntax for Event event, /NET version, on:

private void Event(object sender,int EventID)
{
}

Private Sub Event(ByVal sender As System.Object,ByVal EventID As Integer) Handles Event
End Sub

Syntax for Event event, /COM version, on:

private void Event(object sender, AxEXGRAPHLib._IGraphEvents_EventEvent e)
{
}

void OnEvent(long EventID)
{
}

void __fastcall Event(TObject *Sender,long EventID)
{
}

procedure Event(ASender: TObject; EventID : Integer);
begin
end;

procedure Event(sender: System.Object; e: AxEXGRAPHLib._IGraphEvents_EventEvent);
begin
end;

begin event Event(long EventID)
end event Event

Private Sub Event(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_EventEvent) Handles Event
End Sub

Private Sub Event(ByVal EventID As Long)
End Sub

Private Sub Event(ByVal EventID As Long)
End Sub

LPARAMETERS EventID

PROCEDURE OnEvent(oGraph,EventID)
RETURN

Syntax for Event event, /COM version (others), on:

<SCRIPT EVENT="Event(EventID)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function Event(EventID)
End Function
</SCRIPT>

Procedure OnComEvent Integer llEventID
    Forward Send OnComEvent llEventID
End_Procedure

METHOD OCX_Event(EventID) CLASS MainDialog
RETURN NIL

void onEvent_Event(int _EventID)
{
}

function Event as v (EventID as N)
end function

function nativeObject_Event(EventID)
return


event KeyDown

event KeyDown (ByRef KeyCode as Integer, Shift as Integer)
Occurs when the user presses a key while an object has the focus.

Type | Description
KeyCode as Integer | (By Reference) An integer that represent the key code
Shift as Integer | An integer that corresponds to the state of the SHIFT, CTRL, and ALT keys at the time of the event. The shift argument is a bit field with the least-significant bits corresponding to the SHIFT key (bit 0), the CTRL key (bit 1), and the ALT key (bit 2). These bits correspond to the values 1, 2, and 4, respectively. Some, all, or none of the bits can be set, indicating that some, all, or none of the keys are pressed. For example, if both CTRL and ALT are pressed, the value of shift is 6.

Use KeyDown and KeyUp event procedures if you need to respond to both the pressing and releasing of a key. You test for a condition by first assigning each result to a temporary integer variable and then comparing shift to a bit mask. Use the And operator with the shift argument to test whether the condition is greater than 0, indicating that the modifier was pressed, as in this example:

ShiftDown = (Shift And 1) > 0
CtrlDown = (Shift And 2) > 0
AltDown = (Shift And 4) > 0
In a procedure, you can test for any combination of conditions, as in this example:
If AltDown And CtrlDown Then

Syntax for KeyDown event, /NET version, on:

private void KeyDown(object sender,ref short KeyCode,short Shift)
{
}

Private Sub KeyDown(ByVal sender As System.Object,ByRef KeyCode As Short,ByVal Shift As Short) Handles KeyDown
End Sub

Syntax for KeyDown event, /COM version, on:

private void KeyDownEvent(object sender, AxEXGRAPHLib._IGraphEvents_KeyDownEvent e)
{
}

void OnKeyDown(short FAR* KeyCode,short Shift)
{
}

void __fastcall KeyDown(TObject *Sender,short * KeyCode,short Shift)
{
}

procedure KeyDown(ASender: TObject; var KeyCode : Smallint;Shift : Smallint);
begin
end;

procedure KeyDownEvent(sender: System.Object; e: AxEXGRAPHLib._IGraphEvents_KeyDownEvent);
begin
end;

begin event KeyDown(integer KeyCode,integer Shift)
end event KeyDown

Private Sub KeyDownEvent(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_KeyDownEvent) Handles KeyDownEvent
End Sub

Private Sub KeyDown(KeyCode As Integer,Shift As Integer)
End Sub

Private Sub KeyDown(KeyCode As Integer,ByVal Shift As Integer)
End Sub

LPARAMETERS KeyCode,Shift

PROCEDURE OnKeyDown(oGraph,KeyCode,Shift)
RETURN

Syntax for KeyDown event, /COM version (others), on:

<SCRIPT EVENT="KeyDown(KeyCode,Shift)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function KeyDown(KeyCode,Shift)
End Function
</SCRIPT>

Procedure OnComKeyDown Short llKeyCode Short llShift
    Forward Send OnComKeyDown llKeyCode llShift
End_Procedure

METHOD OCX_KeyDown(KeyCode,Shift) CLASS MainDialog
RETURN NIL

void onEvent_KeyDown(COMVariant /*short*/ _KeyCode,int _Shift)
{
}

function KeyDown as v (KeyCode as N,Shift as N)
end function

function nativeObject_KeyDown(KeyCode,Shift)
return

The following VB sample starts editing the cell is the user presses the F4 key, and AutoEdit property is False.

Private Sub Graph1_KeyDown(KeyCode As Integer, Shift As Integer)
    ' Edits the focused cell once that user presses the F4 key
    If (KeyCode = vbKeyF4) Then
        Graph1.Edit
    End If
End Sub

The following VB sample advances to the next field, when the user presses the ENTER key ( the sample is useful when the current editor is a simple edit control ) :

Private Sub Graph1_KeyDown(KeyCode As Integer, Shift As Integer)
    If (KeyCode = vbKeyReturn) Then
        KeyCode = vbKeyDown
    End If
End Sub

The following C++ sample starts editing the focused cell when user presses the ENTER key, ( AutoEdit property is False):

void OnKeyDownGraph1(short FAR* KeyCode, short Shift)
{
    if ( *KeyCode == VK_RETURN )
    {
        COleVariant vtMissing; V_VT( &vtMissing) = VT_ERROR;
        if ( m_graph.GetEditing() == 0 )
            m_graph.Edit( vtMissing );
    }
}

The following VB.NET sample starts editing the focused cell when user presses the ENTER key, ( AutoEdit property is False):

Private Sub AxGraph1_KeyDownEvent(ByVal sender As Object, ByVal e As AxEXGRAPHLib._IGraphEvents_KeyDownEvent) Handles AxGraph1.KeyDownEvent
    If (Convert.ToUInt32(e.keyCode) = Convert.ToUInt32(Keys.Enter)) Then
        AxGraph1.Edit(Nothing)
    End If
End Sub

The following C# sample starts editing the focused cell when user presses the ENTER key, ( AutoEdit property is False):

private void axGraph1_KeyDownEvent(object sender, AxEXGRAPHLib._IGraphEvents_KeyDownEvent e)
{
    if (Convert.ToUInt32(e.keyCode) == Convert.ToUInt32(Keys.Enter))
        axGraph1.Edit(null);
}

The following VFP sample starts editing the focused cell when user presses the ENTER key, ( AutoEdit property is False):

*** ActiveX Control Event ***
LPARAMETERS keycode, shift

if ( keycode = 13 )
    thisform.Graph1.Object.Edit("")
endif


event KeyPress

event KeyPress (ByRef KeyAscii as Integer)
Occurs when the user presses and releases an ANSI key.

Type | Description
KeyAscii as Integer | (By Reference) An integer that returns a standard numeric ANSI keycode

The KeyPress event lets you immediately test keystrokes for validity or for formatting characters as they are typed. Changing the value of the keyascii argument changes the character displayed. Use KeyDown and KeyUp event procedures to handle any keystroke not recognized by KeyPress, such as function keys, editing keys, navigation keys, and any combinations of these with keyboard modifiers. Unlike the KeyDown and KeyUp events, KeyPress does not indicate the physical state of the keyboard; instead, it passes a character. KeyPress interprets the uppercase and lowercase of each character as separate key codes and, therefore, as two separate characters.

Syntax for KeyPress event, /NET version, on:

private void KeyPress(object sender,ref short KeyAscii)
{
}

Private Sub KeyPress(ByVal sender As System.Object,ByRef KeyAscii As Short) Handles KeyPress
End Sub

Syntax for KeyPress event, /COM version, on:

private void KeyPressEvent(object sender, AxEXGRAPHLib._IGraphEvents_KeyPressEvent e)
{
}

void OnKeyPress(short FAR* KeyAscii)
{
}

void __fastcall KeyPress(TObject *Sender,short * KeyAscii)
{
}

procedure KeyPress(ASender: TObject; var KeyAscii : Smallint);
begin
end;

procedure KeyPressEvent(sender: System.Object; e: AxEXGRAPHLib._IGraphEvents_KeyPressEvent);
begin
end;

begin event KeyPress(integer KeyAscii)
end event KeyPress

Private Sub KeyPressEvent(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_KeyPressEvent) Handles KeyPressEvent
End Sub

Private Sub KeyPress(KeyAscii As Integer)
End Sub

Private Sub KeyPress(KeyAscii As Integer)
End Sub

LPARAMETERS KeyAscii

PROCEDURE OnKeyPress(oGraph,KeyAscii)
RETURN

Syntax for KeyPress event, /COM version (others), on:

<SCRIPT EVENT="KeyPress(KeyAscii)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function KeyPress(KeyAscii)
End Function
</SCRIPT>

Procedure OnComKeyPress Short llKeyAscii
    Forward Send OnComKeyPress llKeyAscii
End_Procedure

METHOD OCX_KeyPress(KeyAscii) CLASS MainDialog
RETURN NIL

void onEvent_KeyPress(COMVariant /*short*/ _KeyAscii)
{
}

function KeyPress as v (KeyAscii as N)
end function

function nativeObject_KeyPress(KeyAscii)
return


event KeyUp

event KeyUp (ByRef KeyCode as Integer, Shift as Integer)
Occurs when the user releases a key while an object has the focus.

Type | Description
KeyCode as Integer | (By Reference) An integer that represent the key code.
Shift as Integer | An integer that corresponds to the state of the SHIFT, CTRL, and ALT keys at the time of the event. The shift argument is a bit field with the least-significant bits corresponding to the SHIFT key (bit 0), the CTRL key (bit 1), and the ALT key (bit 2). These bits correspond to the values 1, 2, and 4, respectively. Some, all, or none of the bits can be set, indicating that some, all, or none of the keys are pressed. For example, if both CTRL and ALT are pressed, the value of shift is 6.

Use the KeyUp event procedure to respond to the releasing of a key.

Syntax for KeyUp event, /NET version, on:

private void KeyUp(object sender,ref short KeyCode,short Shift)
{
}

Private Sub KeyUp(ByVal sender As System.Object,ByRef KeyCode As Short,ByVal Shift As Short) Handles KeyUp
End Sub

Syntax for KeyUp event, /COM version, on:

private void KeyUpEvent(object sender, AxEXGRAPHLib._IGraphEvents_KeyUpEvent e)
{
}

void OnKeyUp(short FAR* KeyCode,short Shift)
{
}

void __fastcall KeyUp(TObject *Sender,short * KeyCode,short Shift)
{
}

procedure KeyUp(ASender: TObject; var KeyCode : Smallint;Shift : Smallint);
begin
end;

procedure KeyUpEvent(sender: System.Object; e: AxEXGRAPHLib._IGraphEvents_KeyUpEvent);
begin
end;

begin event KeyUp(integer KeyCode,integer Shift)
end event KeyUp

Private Sub KeyUpEvent(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_KeyUpEvent) Handles KeyUpEvent
End Sub

Private Sub KeyUp(KeyCode As Integer,Shift As Integer)
End Sub

Private Sub KeyUp(KeyCode As Integer,ByVal Shift As Integer)
End Sub

LPARAMETERS KeyCode,Shift

PROCEDURE OnKeyUp(oGraph,KeyCode,Shift)
RETURN

Syntax for KeyUp event, /COM version (others), on:

<SCRIPT EVENT="KeyUp(KeyCode,Shift)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function KeyUp(KeyCode,Shift)
End Function
</SCRIPT>

Procedure OnComKeyUp Short llKeyCode Short llShift
    Forward Send OnComKeyUp llKeyCode llShift
End_Procedure

METHOD OCX_KeyUp(KeyCode,Shift) CLASS MainDialog
RETURN NIL

void onEvent_KeyUp(COMVariant /*short*/ _KeyCode,int _Shift)
{
}

function KeyUp as v (KeyCode as N,Shift as N)
end function

function nativeObject_KeyUp(KeyCode,Shift)
return


event MouseDown

event MouseDown (Button as Integer, Shift as Integer, X as OLE_XPOS_PIXELS, Y as OLE_YPOS_PIXELS)
Occurs when the user presses a mouse button.

Type | Description
Button as Integer | An integer that identifies the button that was pressed to cause the event
Shift as Integer | An integer that corresponds to the state of the SHIFT, CTRL, and ALT keys when the button specified in the button argument is pressed or released.
X as OLE_XPOS_PIXELS | A single that specifies the current X location of the mouse pointer. The X value is always expressed in container coordinates.
Y as OLE_YPOS_PIXELS | A single that specifies the current Y location of the mouse pointer. The Y value is always expressed in container coordinates.

Use a MouseDown or MouseUp event procedure to specify actions that will occur when a mouse button is pressed or released. Unlike the Click and DblClick events, MouseDown and MouseUp events lets you distinguish between the left, right, and middle mouse buttons. You can also write code for mouse-keyboard combinations that use the SHIFT, CTRL, and ALT keyboard modifiers. Use the AnchorFromPoint property to retrieve the identifier of the anchor element from the point. The AnchorClick event notifies your application that the user clicks an <a> anchor element.

Syntax for MouseDown event, /NET version, on:

private void MouseDownEvent(object sender,short Button,short Shift,int X,int Y)
{
}

Private Sub MouseDownEvent(ByVal sender As System.Object,ByVal Button As Short,ByVal Shift As Short,ByVal X As Integer,ByVal Y As Integer) Handles MouseDownEvent
End Sub

Syntax for MouseDown event, /COM version, on:

private void MouseDownEvent(object sender, AxEXGRAPHLib._IGraphEvents_MouseDownEvent e)
{
}

void OnMouseDown(short Button,short Shift,long X,long Y)
{
}

void __fastcall MouseDown(TObject *Sender,short Button,short Shift,int X,int Y)
{
}

procedure MouseDown(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
end;

procedure MouseDownEvent(sender: System.Object; e: AxEXGRAPHLib._IGraphEvents_MouseDownEvent);
begin
end;

begin event MouseDown(integer Button,integer Shift,long X,long Y)
end event MouseDown

Private Sub MouseDownEvent(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_MouseDownEvent) Handles MouseDownEvent
End Sub

Private Sub MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)
End Sub

Private Sub MouseDown(ByVal Button As Integer,ByVal Shift As Integer,ByVal X As Long,ByVal Y As Long)
End Sub

LPARAMETERS Button,Shift,X,Y

PROCEDURE OnMouseDown(oGraph,Button,Shift,X,Y)
RETURN

Syntax for MouseDown event, /COM version (others), on:

<SCRIPT EVENT="MouseDown(Button,Shift,X,Y)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function MouseDown(Button,Shift,X,Y)
End Function
</SCRIPT>

Procedure OnComMouseDown Short llButton Short llShift OLE_XPOS_PIXELS llX OLE_YPOS_PIXELS llY
    Forward Send OnComMouseDown llButton llShift llX llY
End_Procedure

METHOD OCX_MouseDown(Button,Shift,X,Y) CLASS MainDialog
RETURN NIL

void onEvent_MouseDown(int _Button,int _Shift,int _X,int _Y)
{
}

function MouseDown as v (Button as N,Shift as N,X as OLE::Exontrol.Graph.1::OLE_XPOS_PIXELS,Y as OLE::Exontrol.Graph.1::OLE_YPOS_PIXELS)
end function

function nativeObject_MouseDown(Button,Shift,X,Y)
return

The following VB sample prints the cell's caption that's been clicked:

Private Sub Graph1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ' Converts the container coordinates to client coordinates
    X = X / Screen.TwipsPerPixelX
    Y = Y / Screen.TwipsPerPixelY
    Dim h As HITEM
    Dim c As Long
    Dim hit As EXGRAPHLibCtl.HitTestInfoEnum
    ' Gets the item from (X,Y)
    h = Graph1.ItemFromPoint(X, Y, c, hit)
    If Not (h = 0) Then
        Debug.Print Graph1.Items.CellValue(h, c) & " HT = " & hit
    End If
End Sub

If you need to add a context menu based on the item you can use the MouseUp event, like in the following VB sample ( the sample uses the Exontrol's ExPopupMenu Component ):

Private Sub Graph1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If (Button = 2) Then
        ' Converts the container coordinates to client coordinates
        X = X / Screen.TwipsPerPixelX
        Y = Y / Screen.TwipsPerPixelY
        Dim h As HITEM
        Dim c As Long, hit as Long
        ' Gets the item from (X,Y)
        h = Graph1.ItemFromPoint(X, Y, c, hit)
        If Not (h = 0) Then
            Dim i As Long
            PopupMenu1.Items.Add Graph1.Items.CellValue(h, c)
            i = PopupMenu1.ShowAtCursor
        End If
    End If
End Sub

The following C++ sample displays the caption of the cell being clicked:

#include "Items.h"

static CString V2S( VARIANT* pv, LPCTSTR szDefault = _T("") )
{
    if ( pv )
    {
        if ( pv->vt == VT_ERROR )
            return szDefault;

        COleVariant vt;
        vt.ChangeType( VT_BSTR, pv );
        return V_BSTR( &vt );
    }
    return szDefault;
}

void OnMouseDownGraph1(short Button, short Shift, long X, long Y)
{
    long c = 0, hit = 0, hItem = m_graph.GetItemFromPoint( X, Y, &c, &hit );
    if ( ( hItem != 0 ) || ( c != 0 ) )
    {
        CItems items = m_graph.GetItems();
        COleVariant vtItem( hItem ), vtColumn( c );
        CString strCaption = V2S( &items.GetCellValue( vtItem, vtColumn ) ), strOutput;
        strOutput.Format( "Cell: '%s', Hit = %08X\n", strCaption, hit );
        OutputDebugString( strOutput );
    }
}

The following VB.NET sample displays the caption from the cell being clicked:

Private Sub AxGraph1_MouseDownEvent(ByVal sender As Object, ByVal e As AxEXGRAPHLib._IGraphEvents_MouseDownEvent) Handles AxGraph1.MouseDownEvent
    With AxGraph1
        Dim i As Integer, c As Integer, hit As EXGRAPHLib.HitTestInfoEnum
        i = .get_ItemFromPoint(e.x, e.y, c, hit)
        If (Not (i = 0) Or Not (c = 0)) Then
            Debug.WriteLine("Cell: " & .Items.CellValue(i, c) & " Hit: " & hit.ToString())
        End If
    End With
End Sub

The following C# sample displays the caption from the cell being clicked:

private void axGraph1_MouseDownEvent(object sender, AxEXGRAPHLib._IGraphEvents_MouseDownEvent e)
{
    int c = 0;
    EXGRAPHLib.HitTestInfoEnum hit;
    int i = axGraph1.get_ItemFromPoint( e.x, e.y, out c,out hit );
    if ( ( i != 0 ) || ( c != 0 ) )
    {
        string s = axGraph1.Items.get_CellValue( i,c ).ToString();
        s = "Cell: " + s + ", Hit: " + hit.ToString();
        System.Diagnostics.Debug.WriteLine( s );
    }
}

The following VFP sample displays the caption from the cell being clicked:

*** ActiveX Control Event ***
LPARAMETERS button, shift, x, y

local c, hit
c = 0
hit = 0
with thisform.Graph1
    .Items.DefaultItem = .ItemFromPoint( x, y, @c, @hit )
    if ( .Items.DefaultItem <> 0 ) or ( c <> 0 )
        wait window nowait .Items.CellValue( 0, c ) + " " + Str( hit )
    endif
endwith


event MouseMove

event MouseMove (Button as Integer, Shift as Integer, X as OLE_XPOS_PIXELS, Y as OLE_YPOS_PIXELS)
Occurs when the user moves the mouse.

Type | Description
Button as Integer | An integer that corresponds to the state of the mouse buttons in which a bit is set if the button is down.
Shift as Integer | An integer that corresponds to the state of the SHIFT, CTRL, and ALT keys.
X as OLE_XPOS_PIXELS | A single that specifies the current X location of the mouse pointer. The x values is always expressed in container coordinates
Y as OLE_YPOS_PIXELS | A single that specifies the current Y location of the mouse pointer. The y values is always expressed in container coordinates

The MouseMove event is generated continually as the mouse pointer moves across objects. Unless another object has captured the mouse, an object recognizes a MouseMove event whenever the mouse position is within its borders.Use the AnchorFromPoint property to retrieve the identifier of the anchor element from the point.

Syntax for MouseMove event, /NET version, on:

private void MouseMoveEvent(object sender,short Button,short Shift,int X,int Y)
{
}

Private Sub MouseMoveEvent(ByVal sender As System.Object,ByVal Button As Short,ByVal Shift As Short,ByVal X As Integer,ByVal Y As Integer) Handles MouseMoveEvent
End Sub

Syntax for MouseMove event, /COM version, on:

private void MouseMoveEvent(object sender, AxEXGRAPHLib._IGraphEvents_MouseMoveEvent e)
{
}

void OnMouseMove(short Button,short Shift,long X,long Y)
{
}

void __fastcall MouseMove(TObject *Sender,short Button,short Shift,int X,int Y)
{
}

procedure MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
end;

procedure MouseMoveEvent(sender: System.Object; e: AxEXGRAPHLib._IGraphEvents_MouseMoveEvent);
begin
end;

begin event MouseMove(integer Button,integer Shift,long X,long Y)
end event MouseMove

Private Sub MouseMoveEvent(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_MouseMoveEvent) Handles MouseMoveEvent
End Sub

Private Sub MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)
End Sub

Private Sub MouseMove(ByVal Button As Integer,ByVal Shift As Integer,ByVal X As Long,ByVal Y As Long)
End Sub

LPARAMETERS Button,Shift,X,Y

PROCEDURE OnMouseMove(oGraph,Button,Shift,X,Y)
RETURN

Syntax for MouseMove event, /COM version (others), on:

<SCRIPT EVENT="MouseMove(Button,Shift,X,Y)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function MouseMove(Button,Shift,X,Y)
End Function
</SCRIPT>

Procedure OnComMouseMove Short llButton Short llShift OLE_XPOS_PIXELS llX OLE_YPOS_PIXELS llY
    Forward Send OnComMouseMove llButton llShift llX llY
End_Procedure

METHOD OCX_MouseMove(Button,Shift,X,Y) CLASS MainDialog
RETURN NIL

void onEvent_MouseMove(int _Button,int _Shift,int _X,int _Y)
{
}

function MouseMove as v (Button as N,Shift as N,X as OLE::Exontrol.Graph.1::OLE_XPOS_PIXELS,Y as OLE::Exontrol.Graph.1::OLE_YPOS_PIXELS)
end function

function nativeObject_MouseMove(Button,Shift,X,Y)
return

The following VB sample prints the cell's caption from the cursor ( if the control contains no inner cells. Use the SplitCell property to insert inner cells ) :

Private Sub Graph1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    On Error Resume Next
    ' Converts the container coordinates to client coordinates
    X = X / Screen.TwipsPerPixelX
    Y = Y / Screen.TwipsPerPixelY
    Dim h As HITEM
    Dim c As Long
    Dim hit As EXGRAPHLibCtl.HitTestInfoEnum
    ' Gets the item from (X,Y)
    h = Graph1.ItemFromPoint(X, Y, c, hit)
    If Not (h = 0) Then
        Debug.Print Graph1.Items.CellValue(h, c) & " HT = " & hit
    End If
End Sub

The following VB sample displays the cell's caption from the cursor ( if the control contains inner cells ):

Private Sub Graph1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    On Error Resume Next
    ' Converts the container coordinates to client coordinates
    X = X / Screen.TwipsPerPixelX
    Y = Y / Screen.TwipsPerPixelY
    Dim h As HITEM
    Dim c As Long
    Dim hit As EXGRAPHLibCtl.HitTestInfoEnum
    ' Gets the item from (X,Y)
    h = Graph1.ItemFromPoint(X, Y, c, hit)
    If Not (h = 0) Or Not (c = 0) Then
        Debug.Print Graph1.Items.CellValue(h, c) & " HT = " & hit
    End If
End Sub

The following C++ sample displays the cell's from the point:

#include "Items.h"

static CString V2S( VARIANT* pv, LPCTSTR szDefault = _T("") )
{
    if ( pv )
    {
        if ( pv->vt == VT_ERROR )
            return szDefault;

        COleVariant vt;
        vt.ChangeType( VT_BSTR, pv );
        return V_BSTR( &vt );
    }
    return szDefault;
}

void OnMouseMoveGraph1(short Button, short Shift, long X, long Y)
{
    long c = 0, hit = 0, hItem = m_graph.GetItemFromPoint( X, Y, &c, &hit );
    if ( ( hItem != 0 ) || ( c != 0 ) )
    {
        CItems items = m_graph.GetItems();
        COleVariant vtItem( hItem ), vtColumn( c );
        CString strCaption = V2S( &items.GetCellValue( vtItem, vtColumn ) ), strOutput;
        strOutput.Format( "Cell: '%s', Hit = %08X\n", strCaption, hit );
        OutputDebugString( strOutput );
    }
}

The following VB.NET sample displays the cell's from the point:

Private Sub AxGraph1_MouseMoveEvent(ByVal sender As Object, ByVal e As AxEXGRAPHLib._IGraphEvents_MouseMoveEvent) Handles AxGraph1.MouseMoveEvent
    With AxGraph1
        Dim i As Integer, c As Integer, hit As EXGRAPHLib.HitTestInfoEnum
        i = .get_ItemFromPoint(e.x, e.y, c, hit)
        If (Not (i = 0) Or Not (c = 0)) Then
            Debug.WriteLine("Cell: " & .Items.CellValue(i, c) & " Hit: " & hit.ToString())
        End If
    End With
End Sub

The following C# sample displays the cell's from the point:

private void axGraph1_MouseMoveEvent(object sender, AxEXGRAPHLib._IGraphEvents_MouseMoveEvent e)
{
    int c = 0;
    EXGRAPHLib.HitTestInfoEnum hit;
    int i = axGraph1.get_ItemFromPoint( e.x, e.y, out c,out hit );
    if ( ( i != 0 ) || ( c != 0 ) )
    {
        object cap = axGraph1.Items.get_CellValue(i, c);
        string s = cap != null ? cap.ToString() : "";
        s = "Cell: " + s + ", Hit: " + hit.ToString();
        System.Diagnostics.Debug.WriteLine(s);
    }
}

The following VFP sample displays the cell's from the point:

*** ActiveX Control Event ***
LPARAMETERS button, shift, x, y

local c, hit
c = 0
hit = 0
with thisform.Graph1
    .Items.DefaultItem = .ItemFromPoint( x, y, @c, @hit )
    if ( .Items.DefaultItem <> 0 ) or ( c <> 0 )
        wait window nowait .Items.CellValue( 0, c ) + " " + Str( hit )
    endif
endwith


event MouseUp

event MouseUp (Button as Integer, Shift as Integer, X as OLE_XPOS_PIXELS, Y as OLE_YPOS_PIXELS)
Occurs when the user releases a mouse button.

Type | Description
Button as Integer | An integer that identifies the button that was pressed to cause the event.
Shift as Integer | An integer that corresponds to the state of the SHIFT, CTRL, and ALT keys when the button specified in the button argument is pressed or released.
X as OLE_XPOS_PIXELS | A single that specifies the current X location of the mouse pointer. The x values is always expressed in container coordinates.
Y as OLE_YPOS_PIXELS | A single that specifies the current Y location of the mouse pointer. The y values is always expressed in container coordinates.

Use a MouseDown or MouseUp event procedure to specify actions that will occur when a mouse button is pressed or released. Unlike the Click and DblClick events, MouseDown and MouseUp events lets you distinguish between the left, right, and middle mouse buttons. You can also write code for mouse-keyboard combinations that use the SHIFT, CTRL, and ALT keyboard modifiers.Use the AnchorFromPoint property to retrieve the identifier of the anchor element from the point. The AnchorClick event notifies your application that the user clicks an <a> anchor element.

Syntax for MouseUp event, /NET version, on:

private void MouseUpEvent(object sender,short Button,short Shift,int X,int Y)
{
}

Private Sub MouseUpEvent(ByVal sender As System.Object,ByVal Button As Short,ByVal Shift As Short,ByVal X As Integer,ByVal Y As Integer) Handles MouseUpEvent
End Sub

Syntax for MouseUp event, /COM version, on:

private void MouseUpEvent(object sender, AxEXGRAPHLib._IGraphEvents_MouseUpEvent e)
{
}

void OnMouseUp(short Button,short Shift,long X,long Y)
{
}

void __fastcall MouseUp(TObject *Sender,short Button,short Shift,int X,int Y)
{
}

procedure MouseUp(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
end;

procedure MouseUpEvent(sender: System.Object; e: AxEXGRAPHLib._IGraphEvents_MouseUpEvent);
begin
end;

begin event MouseUp(integer Button,integer Shift,long X,long Y)
end event MouseUp

Private Sub MouseUpEvent(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_MouseUpEvent) Handles MouseUpEvent
End Sub

Private Sub MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single)
End Sub

Private Sub MouseUp(ByVal Button As Integer,ByVal Shift As Integer,ByVal X As Long,ByVal Y As Long)
End Sub

LPARAMETERS Button,Shift,X,Y

PROCEDURE OnMouseUp(oGraph,Button,Shift,X,Y)
RETURN

Syntax for MouseUp event, /COM version (others), on:

<SCRIPT EVENT="MouseUp(Button,Shift,X,Y)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function MouseUp(Button,Shift,X,Y)
End Function
</SCRIPT>

Procedure OnComMouseUp Short llButton Short llShift OLE_XPOS_PIXELS llX OLE_YPOS_PIXELS llY
    Forward Send OnComMouseUp llButton llShift llX llY
End_Procedure

METHOD OCX_MouseUp(Button,Shift,X,Y) CLASS MainDialog
RETURN NIL

void onEvent_MouseUp(int _Button,int _Shift,int _X,int _Y)
{
}

function MouseUp as v (Button as N,Shift as N,X as OLE::Exontrol.Graph.1::OLE_XPOS_PIXELS,Y as OLE::Exontrol.Graph.1::OLE_YPOS_PIXELS)
end function

function nativeObject_MouseUp(Button,Shift,X,Y)
return

The following VB sample prints the cell's caption where the mouse has been released:

Private Sub Graph1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ' Converts the container coordinates to client coordinates
    X = X / Screen.TwipsPerPixelX
    Y = Y / Screen.TwipsPerPixelY
    Dim h As HITEM
    Dim c As Long, hit as Long
    ' Gets the item from (X,Y)
    h = Graph1.ItemFromPoint(X, Y, c, hit)
    If Not (h = 0) Then
        Debug.Print Graph1.Items.CellValue(h, c)
    End If
End Sub

If you need to add a context menu based on the item you can use the MouseUp event, like in the following VB sample ( the sample uses the Exontrol's ExPopupMenu Component ):

Private Sub Graph1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If (Button = 2) Then
        ' Converts the container coordinates to client coordinates
        X = X / Screen.TwipsPerPixelX
        Y = Y / Screen.TwipsPerPixelY
        Dim h As HITEM
        Dim c As Long, hit as Long
        ' Gets the item from (X,Y)
        h = Graph1.ItemFromPoint(X, Y, c, hit)
        If Not (h = 0) Then
            Dim i As Long
            PopupMenu1.Items.Add Graph1.Items.CellValue(h, c)
            i = PopupMenu1.ShowAtCursor
        End If
    End If
End Sub

The following VC sample displays the caption of the cell where the mouse is released:

#include "Items.h"

static CString V2S( VARIANT* pv, LPCTSTR szDefault = _T("") )
{
    if ( pv )
    {
        if ( pv->vt == VT_ERROR )
            return szDefault;

        COleVariant vt;
        vt.ChangeType( VT_BSTR, pv );
        return V_BSTR( &vt );
    }
    return szDefault;
}

void OnMouseUpGraph1(short Button, short Shift, long X, long Y)
{
    long c = 0, hit = 0, hItem = m_graph.GetItemFromPoint( X, Y, &c, &hit );
    if ( ( hItem != 0 ) || ( c != 0 ) )
    {
        CItems items = m_graph.GetItems();
        COleVariant vtItem( hItem ), vtColumn( c );
        CString strCaption = V2S( &items.GetCellValue( vtItem, vtColumn ) ), strOutput;
        strOutput.Format( "Cell: '%s', Hit = %08X\n", strCaption, hit );
        OutputDebugString( strOutput );
    }
}

The following VB.NET sample displays the caption of the cell where the mouse is released:

Private Sub AxGraph1_MouseUpEvent(ByVal sender As Object, ByVal e As AxEXGRAPHLib._IGraphEvents_MouseUpEvent) Handles AxGraph1.MouseUpEvent
    With AxGraph1
        Dim i As Integer, c As Integer, hit As EXGRAPHLib.HitTestInfoEnum
        i = .get_ItemFromPoint(e.x, e.y, c, hit)
        If (Not (i = 0) Or Not (c = 0)) Then
            Debug.WriteLine("Cell: " & .Items.CellValue(i, c) & " Hit: " & hit.ToString())
        End If
    End With
End Sub

The following C# sample displays the caption of the cell where the mouse is released:

private void axGraph1_MouseUpEvent(object sender, AxEXGRAPHLib._IGraphEvents_MouseUpEvent e)
{
    int c = 0;
    EXGRAPHLib.HitTestInfoEnum hit;
    int i = axGraph1.get_ItemFromPoint( e.x, e.y, out c,out hit );
    if ( ( i != 0 ) || ( c != 0 ) )
    {
        string s = axGraph1.Items.get_CellValue( i,c ).ToString();
        s = "Cell: " + s + ", Hit: " + hit.ToString();
        System.Diagnostics.Debug.WriteLine( s );
    }
}

The following VFP sample displays the caption of the cell where the mouse is released:

*** ActiveX Control Event ***
LPARAMETERS button, shift, x, y

local c, hit
c = 0
hit = 0
with thisform.Graph1
    .Items.DefaultItem = .ItemFromPoint( x, y, @c, @hit )
    if ( .Items.DefaultItem <> 0 ) or ( c <> 0 )
        wait window nowait .Items.CellValue( 0, c ) + " " + Str( hit )
    endif
endwith


event RClick ()
Fired when right mouse button is clicked

Type Description
Use the RClick event to add your context menu. The RClick event notifies your application when the user right clicks the control. Use the Click event to notify your application that the user clicks the control ( using the left mouse button ). Use the MouseDown or MouseUp event if you require the cursor position during the RClick event.

Syntax for RClick event, /NET version, on:

private void RClick(object sender)
{
}

Private Sub RClick(ByVal sender As System.Object) Handles RClick
End Sub

Syntax for RClick event, /COM version, on:

private void RClick(object sender, EventArgs e)
{
}

void OnRClick()
{
}

void __fastcall RClick(TObject *Sender)
{
}

procedure RClick(ASender: TObject; );
begin
end;

procedure RClick(sender: System.Object; e: System.EventArgs);
begin
end;

begin event RClick()
end event RClick

Private Sub RClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RClick
End Sub

Private Sub RClick()
End Sub

Private Sub RClick()
End Sub

LPARAMETERS nop

PROCEDURE OnRClick(oGraph)
RETURN

Syntax for RClick event, /COM version (others), on:

<SCRIPT EVENT="RClick()" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function RClick()
End Function
</SCRIPT>

Procedure OnComRClick
    Forward Send OnComRClick
End_Procedure

METHOD OCX_RClick() CLASS MainDialog
RETURN NIL

void onEvent_RClick()
{
}

function RClick as v ()
end function

function nativeObject_RClick()
return

The following VB sample use Exontrol's ExPopupMenu Component to display a context menu when user has clicked the right mouse button in the control's client area:

Private Sub Graph1_RClick()
    Dim i As Long
    i = PopupMenu1.ShowAtCursor
End Sub

If you need to add a context menu based on the item you can use the MouseUp event, like in the following VB sample:

Private Sub Graph1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If (Button = 2) Then
        ' Converts the container coordinates to client coordinates
        X = X / Screen.TwipsPerPixelX
        Y = Y / Screen.TwipsPerPixelY
        Dim h As HITEM
        Dim c As Long, hit as Long
        ' Gets the item from (X,Y)
        h = Graph1.ItemFromPoint(X, Y, c, hit)
        If Not (h = 0) Then
            Dim i As Long
            PopupMenu1.Items.Add Graph1.Items.CellCaption(h, c)
            i = PopupMenu1.ShowAtCursor
        End If
    End If
End Sub

The following VC sample displays the caption of the cell where the mouse is released:

#include "Items.h"

static CString V2S( VARIANT* pv, LPCTSTR szDefault = _T("") )
{
    if ( pv )
    {
        if ( pv->vt == VT_ERROR )
            return szDefault;

        COleVariant vt;
        vt.ChangeType( VT_BSTR, pv );
        return V_BSTR( &vt );
    }
    return szDefault;
}

void OnMouseUpGraph1(short Button, short Shift, long X, long Y)
{
    long c = 0, hit = 0, hItem = m_graph.GetItemFromPoint( X, Y, &c, &hit );
    if ( ( hItem != 0 ) || ( c != 0 ) )
    {
        CItems items = m_graph.GetItems();
        COleVariant vtItem( hItem ), vtColumn( c );
        CString strCaption = V2S( &items.GetCellValue( vtItem, vtColumn ) ), strOutput;
        strOutput.Format( "Cell: '%s', Hit = %08X\n", strCaption, hit );
        OutputDebugString( strOutput );
    }
}

The following VB.NET sample displays the caption of the cell where the mouse is released:

Private Sub AxGraph1_MouseUpEvent(ByVal sender As Object, ByVal e As AxEXGRAPHLib._IGraphEvents_MouseUpEvent) Handles AxGraph1.MouseUpEvent
    With AxGraph1
        Dim i As Integer, c As Integer, hit As EXGRAPHLib.HitTestInfoEnum
        i = .get_ItemFromPoint(e.x, e.y, c, hit)
        If (Not (i = 0) Or Not (c = 0)) Then
            Debug.WriteLine("Cell: " & .Items.CellCaption(i, c) & " Hit: " & hit.ToString())
        End If
    End With
End Sub

The following C# sample displays the caption of the cell where the mouse is released:

private void axGraph1_MouseUpEvent(object sender, AxEXGRAPHLib._IGraphEvents_MouseUpEvent e)
{
    int c = 0;
    EXGRAPHLib.HitTestInfoEnum hit;
    int i = axGraph1.get_ItemFromPoint( e.x, e.y, out c,out hit );
    if ( ( i != 0 ) || ( c != 0 ) )
    {
        string s = axGraph1.Items.get_CellCaption( i,c ).ToString();
        s = "Cell: " + s + ", Hit: " + hit.ToString();
        System.Diagnostics.Debug.WriteLine( s );
    }
}

The following VFP sample displays the caption of the cell where the mouse is released:

*** ActiveX Control Event ***
LPARAMETERS button, shift, x, y

local c, hit
c = 0
hit = 0
with thisform.Graph1
    .Items.DefaultItem = .ItemFromPoint( x, y, @c, @hit )
    if ( .Items.DefaultItem <> 0 ) or ( c <> 0 )
        wait window nowait .Items.CellCaption( 0, c ) + " " + Str( hit )
    endif
endwith


event ScrollButtonClick

event ScrollButtonClick (ScrollBar as ScrollBarEnum, ScrollPart as ScrollPartEnum)
Occurs when the user clicks a button in the scrollbar.

Type | Description
ScrollBar as ScrollBarEnum | A ScrollBarEnum expression that specifies the scroll bar being clicked.
ScrollPart as ScrollPartEnum | A ScrollPartEnum expression that indicates the part of the scroll being clicked.
Use the ScrollButtonClick event to notify your application that the user clicks a button in the control's scrollbar. The ScrollButtonClick event is fired when the user clicks and releases the mouse over an enabled part of the scroll bar. Use the ScrollBars property to specify the visible scrollbars in the control. Use the ScrollPartVisible property to add or remove buttons/parts in the control's scrollbar. Use the ScrollPartEnable property to specify enable or disable parts in the control's scrollbar. Use the ScrolPartCaption property to specify the caption of the scroll's part. Use the OffsetChanged event to notify your application that the scroll position is changed. Use the OversizeChanged event to notify your application whether the range for a specified scroll bar is changed. Use the ScrollPos property to specify the position for the control's scroll bar. Use the Background property to change the visual appearance for any part in the control's scroll bar.

Syntax for ScrollButtonClick event, /NET version, on:

private void ScrollButtonClick(object sender,exontrol.EXGRAPHLib.ScrollBarEnum ScrollBar,exontrol.EXGRAPHLib.ScrollPartEnum ScrollPart)
{
}

Private Sub ScrollButtonClick(ByVal sender As System.Object,ByVal ScrollBar As exontrol.EXGRAPHLib.ScrollBarEnum,ByVal ScrollPart As exontrol.EXGRAPHLib.ScrollPartEnum) Handles ScrollButtonClick
End Sub

Syntax for ScrollButtonClick event, /COM version, on:

private void ScrollButtonClick(object sender, AxEXGRAPHLib._IGraphEvents_ScrollButtonClickEvent e)
{
}

void OnScrollButtonClick(long ScrollBar,long ScrollPart)
{
}

void __fastcall ScrollButtonClick(TObject *Sender,Exgraphlib_tlb::ScrollBarEnum ScrollBar,Exgraphlib_tlb::ScrollPartEnum ScrollPart)
{
}

procedure ScrollButtonClick(ASender: TObject; ScrollBar : ScrollBarEnum;ScrollPart : ScrollPartEnum);
begin
end;

procedure ScrollButtonClick(sender: System.Object; e: AxEXGRAPHLib._IGraphEvents_ScrollButtonClickEvent);
begin
end;

begin event ScrollButtonClick(long ScrollBar,long ScrollPart)
end event ScrollButtonClick

Private Sub ScrollButtonClick(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_ScrollButtonClickEvent) Handles ScrollButtonClick
End Sub

Private Sub ScrollButtonClick(ByVal ScrollBar As EXGRAPHLibCtl.ScrollBarEnum,ByVal ScrollPart As EXGRAPHLibCtl.ScrollPartEnum)
End Sub

Private Sub ScrollButtonClick(ByVal ScrollBar As Long,ByVal ScrollPart As Long)
End Sub

LPARAMETERS ScrollBar,ScrollPart

PROCEDURE OnScrollButtonClick(oGraph,ScrollBar,ScrollPart)
RETURN

Syntax for ScrollButtonClick event, /COM version (others), on:

<SCRIPT EVENT="ScrollButtonClick(ScrollBar,ScrollPart)" LANGUAGE="JScript">
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function ScrollButtonClick(ScrollBar,ScrollPart)
End Function
</SCRIPT>

Procedure OnComScrollButtonClick OLEScrollBarEnum llScrollBar OLEScrollPartEnum llScrollPart
    Forward Send OnComScrollButtonClick llScrollBar llScrollPart
End_Procedure

METHOD OCX_ScrollButtonClick(ScrollBar,ScrollPart) CLASS MainDialog
RETURN NIL

void onEvent_ScrollButtonClick(int _ScrollBar,int _ScrollPart)
{
}

function ScrollButtonClick as v (ScrollBar as OLE::Exontrol.Graph.1::ScrollBarEnum,ScrollPart as OLE::Exontrol.Graph.1::ScrollPartEnum)
end function

function nativeObject_ScrollButtonClick(ScrollBar,ScrollPart)
return

The following VB sample displays the identifier of the scroll's button being clicked:

With Graph1
    .BeginUpdate
        .ScrollBars = exDisableBoth
        .ScrollPartVisible(exVScroll, exLeftB1Part Or exRightB1Part) = True
        .ScrollPartCaption(exVScroll, exLeftB1Part) = "<img></img>1"
        .ScrollPartCaption(exVScroll, exRightB1Part) = "<img></img>2"
    .EndUpdate
End With
Private Sub Graph1_ScrollButtonClick(ByVal ScrollPart As EXGRAPHLibCtl.ScrollPartEnum)
    MsgBox (ScrollPart)
End Sub

The following VB.NET sample displays the identifier of the scroll's button being clicked:

With AxGraph1
    .BeginUpdate()
    .ScrollBars = EXGRAPHLib.ScrollBarsEnum.exDisableBoth
    .set_ScrollPartVisible(EXGRAPHLib.ScrollBarEnum.exVScroll, EXGRAPHLib.ScrollPartEnum.exLeftB1Part Or EXGRAPHLib.ScrollPartEnum.exRightB1Part, True)
    .set_ScrollPartCaption(EXGRAPHLib.ScrollBarEnum.exVScroll, EXGRAPHLib.ScrollPartEnum.exLeftB1Part, "<img></img>1")
    .set_ScrollPartCaption(EXGRAPHLib.ScrollBarEnum.exVScroll, EXGRAPHLib.ScrollPartEnum.exRightB1Part, "<img></img>2")
    .EndUpdate()
End With
Private Sub AxGraph1_ScrollButtonClick(ByVal sender As System.Object, ByVal e As AxEXGRAPHLib._IGraphEvents_ScrollButtonClickEvent) Handles AxGraph1.ScrollButtonClick
        MessageBox.Show( e.scrollPart.ToString())
End Sub

The following C# sample displays the identifier of the scroll's button being clicked:

axGraph1.BeginUpdate();
axGraph1.ScrollBars = EXGRAPHLib.ScrollBarsEnum.exDisableBoth;
axGraph1.set_ScrollPartVisible(EXGRAPHLib.ScrollBarEnum.exVScroll, EXGRAPHLib.ScrollPartEnum.exLeftB1Part | EXGRAPHLib.ScrollPartEnum.exRightB1Part, true);
axGraph1.set_ScrollPartCaption(EXGRAPHLib.ScrollBarEnum.exVScroll, EXGRAPHLib.ScrollPartEnum.exLeftB1Part , "<img></img>1");
axGraph1.set_ScrollPartCaption(EXGRAPHLib.ScrollBarEnum.exVScroll, EXGRAPHLib.ScrollPartEnum.exRightB1Part, "<img></img>2");
axGraph1.EndUpdate();
private void axGraph1_ScrollButtonClick(object sender, AxEXGRAPHLib._IGraphEvents_ScrollButtonClickEvent e)
{
    MessageBox.Show(e.scrollPart.ToString());
}

The following C++ sample displays the identifier of the scroll's button being clicked:

m_graph.BeginUpdate();
m_graph.SetScrollBars( 15 /*exDisableBoth*/ );
m_graph.SetScrollPartVisible( 0 /*exVScroll*/, 32768  /*exLeftB1Part*/ | 32 /*exRightB1Part*/, TRUE );
m_graph.SetScrollPartCaption( 0 /*exVScroll*/, 32768  /*exLeftB1Part*/ , _T("<img></img>1") );
m_graph.SetScrollPartCaption( 0 /*exVScroll*/, 32 /*exRightB1Part*/ , _T("<img></img>2") );
m_graph.EndUpdate();
void OnScrollButtonClickGraph1(long ScrollPart)
{
    CString strFormat;
    strFormat.Format( _T("%i"), ScrollPart );
    MessageBox( strFormat );
}

The following VFP sample displays the identifier of the scroll's button being clicked:

With thisform.Graph1
    .BeginUpdate
        .ScrollBars = 15
        .ScrollPartVisible(0, bitor(32768,32)) = .t.
        .ScrollPartCaption(0,32768) = "<img></img>1"
        .ScrollPartCaption(0, 32) = "<img></img>2"
    .EndUpdate
EndWith
*** ActiveX Control Event ***
LPARAMETERS scrollpart

wait window nowait ltrim(str(scrollpart))


Cursor object
The Cursor object is for internal use only.

Name Description


Expressions

An expression is a string which defines a formula or criteria, that's evaluated at runtime. The expression may be a combination of variables, constants, strings, dates and operators/functions. For instance 1000 format `` gets 1,000.00 for US format, while 1.000,00 is displayed for German format.

The Exontrol's eXPression component is a syntax-editor that helps you to define, view, edit and evaluate expressions. Using the eXPression component you can easily view or check if the expression you have used is syntactically correct, and you can evaluate what is the result you get giving different values to be tested. The Exontrol's eXPression component can be used as an user-editor, to configure your applications.

Usage examples:

  • 100 + 200, adds two numbers and returns 300
  • "100" + 200, concatenates the strings, and returns "100200"
  • currency(1000) displays the value in currency format based on the current regional setting, such as "$1,000.00" for US format.
  • 1000 format `` gets 1,000.00 for English format, while 1.000,00 is displayed for German format
  • 1000 format `2|.|3|,` always gets 1,000.00 no matter of settings in the control panel.
  • date(value) format `MMM d, yyyy` , returns the date such as Sep 2, 2023, for English format
  • upper("string") converts the giving string in uppercase letters, such as "STRING"
  • date(dateS('3/1/' + year(9:=#1/1/2018#)) + ((1:=(((255 - 11 * (year(=:9) mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((year(=:9) + int(year(=:9) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7)) returns the date the Easter Sunday will fall, for year 2018. In this case the expression returns #4/1/2018#. If #1/1/2018# is replaced with #1/1/2019#, the expression returns #4/21/2019#.

Listed bellow are all predefined constants, operators and functions the general-expression supports:

The constants can be represented as:

  • numbers in decimal format ( where dot character specifies the decimal separator ). For instance: -1, 100, 20.45, .99 and so on
  • numbers in hexa-decimal format ( preceded by 0x or 0X sequence ), uses sixteen distinct symbols, most often the symbols 0-9 to represent values zero to nine, and A, B, C, D, E, F (or alternatively a, b, c, d, e, f) to represent values ten to fifteen. Hexadecimal numerals are widely used by computer system designers and programmers. As each hexadecimal digit represents four binary digits (bits), it allows a more human-friendly representation of binary-coded values. For instance, 0xFF, 0x00FF00, and so so.
  • date-time in format #mm/dd/yyyy hh:mm:ss#, For instance, #1/31/2001 10:00# means the January 31th, 2001, 10:00 AM
  • string, if it starts / ends with any of the ' or ` or " characters. If you require the starting character inside the string, it should be escaped ( preceded by a \ character ). For instance, `Mihai`, "Filimon", 'has', "\"a quote\"", and so on

The predefined constants are:

  • bias ( BIAS constant), defines the difference, in minutes, between Coordinated Universal Time (UTC) and local time. For example, Middle European Time (MET, GMT+01:00) has a time zone bias of "-60" because it is one hour ahead of UTC. Pacific Standard Time (PST, GMT-08:00) has a time zone bias of "+480" because it is eight hours behind UTC. For instance, date(value - bias/24/60) converts the UTC time to local time, or date(date('now') + bias/24/60) converts the current local time to UTC time. For instance, "date(value - bias/24/60)" converts the value date-time from UTC to local time, while "date(value + bias/24/60)" converts the local-time to UTC time.
  • dpi ( DPI constant ), specifies the current DPI setting. and it indicates the minimum value between dpix and dpiy constants. For instance, if current DPI setting is 100%, the dpi constant returns 1, if 150% it returns 1.5, and so on. For instance, the expression value * dpi returns the value if the DPI setting is 100%, or value * 1.5 in case, the DPI setting is 150%
  • dpix ( DPIX constant ), specifies the current DPI setting on x-scale. For instance, if current DPI setting is 100%, the dpix constant returns 1, if 150% it returns 1.5, and so on. For instance, the expression value * dpix returns the value if the DPI setting is 100%, or value * 1.5 in case, the DPI setting is 150%
  • dpiy ( DPIY constant ), specifies the current DPI setting on x-scale. For instance, if current DPI setting is 100%, the dpiy constant returns 1, if 150% it returns 1.5, and so on. For instance, the expression value * dpiy returns the value if the DPI setting is 100%, or value * 1.5 in case, the DPI setting is 150%

The supported binary arithmetic operators are:

  • * ( multiplicity operator ), priority 5
  • / ( divide operator ), priority 5
  • mod ( reminder operator ), priority 5
  • + ( addition operator ), priority 4 ( concatenates two strings, if one of the operands is of string type )
  • - ( subtraction operator ), priority 4

The supported unary boolean operators are:

  • not ( not operator ), priority 3 ( high priority )

The supported binary boolean operators are:

  • or ( or operator ), priority 2
  • and ( or operator ), priority 1

The supported binary boolean operators, all these with the same priority 0, are :

  • < ( less operator )
  • <= ( less or equal operator )
  • = ( equal operator )
  • != ( not equal operator )
  • >= ( greater or equal operator )
  • > ( greater operator )

The supported binary range operators, all these with the same priority 5, are :

  • a MIN b ( min operator ), indicates the minimum value, so a MIN b returns the value of a, if it is less than b, else it returns b. For instance, the expression value MIN 10 returns always a value greater than 10.
  • a MAX b ( max operator ), indicates the maximum value, so a MAX b returns the value of a, if it is greater than b, else it returns b. For instance, the expression value MAX 100 returns always a value less than 100.

The supported binary operators, all these with the same priority 0, are :

  • := (Store operator), stores the result of expression to variable. The syntax for := operator is

    variable := expression

    where variable is a integer between 0 and 9. You can use the =: operator to restore any stored variable ( please make the difference between := and =: ). For instance, (0:=dbl(value)) = 0 ? "zero" : =:0, stores the value converted to double, and prints zero if it is 0, else the converted number. Please pay attention that the := and =: are two distinct operators, the first for storing the result into a variable, while the second for restoring the variable

  • =: (Restore operator), restores the giving variable ( previously saved using the store operator ). The syntax for =: operator is

    =: variable

    where variable is a integer between 0 and 9. You can use the := operator to store the value of any expression ( please make the difference between := and =: ). For instance, (0:=dbl(value)) = 0 ? "zero" : =:0, stores the value converted to double, and prints zero if it is 0, else the converted number. Please pay attention that the := and =: are two distinct operators, the first for storing the result into a variable, while the second for restoring the variable

The supported ternary operators, all these with the same priority 0, are :

  • ? ( Immediate If operator ), returns and executes one of two expressions, depending on the evaluation of an expression. The syntax for ? operator is

expression ? true_part : false_part

, while it executes and returns the true_part if the expression is true, else it executes and returns the false_part. For instance, the %0 = 1 ? 'One' : (%0 = 2 ? 'Two' : 'not found') returns 'One' if the value is 1, 'Two' if the value is 2, and 'not found' for any other value. A n-ary equivalent operation is the case() statement, which is available in newer versions of the component.

The supported n-ary operators are (with priority 5):

  • array (at operator), returns the element from an array giving its index ( 0 base ). The array operator returns empty if the element is found, else the associated element in the collection if it is found. The syntax for array operator is

expression array (c1,c2,c3,...cn)

, where the c1, c2, ... are constant elements. The constant elements could be numeric, date or string expressions. For instance the month(value)-1 array ('J','F','M','A','M','Jun','J','A','S','O','N','D') is equivalent with month(value)-1 case (default:''; 0:'J';1:'F';2:'M';3:'A';4:'M';5:'Jun';6:'J';7:'A';8:'S';9:'O';10:'N';11:'D').

  • in (include operator), specifies whether an element is found in a set of constant elements. The in operator returns -1 ( True ) if the element is found, else 0 (false) is retrieved. The syntax for in operator is

expression in (c1,c2,c3,...cn)

, where the c1, c2, ... are constant elements. The constant elements could be numeric, date or string expressions. For instance the value in (11,22,33,44,13) is equivalent with (expression = 11) or (expression = 22) or (expression = 33) or (expression = 44) or (expression = 13). The in operator is not a time consuming as the equivalent or version is, so when you have large number of constant elements it is recommended using the in operator. Shortly, if the collection of elements has 1000 elements the in operator could take up to 8 operations in order to find if an element fits the set, else if the or statement is used, it could take up to 1000 operations to check, so by far, the in operator could save time on finding elements within a collection.

  • switch (switch operator), returns the value being found in the collection, or a predefined value if the element is not found (default). The syntax for switch operator is

expression switch (default,c1,c2,c3,...,cn)

, where the c1, c2, ... are constant elements, and the default is a constant element being returned when the element is not found in the collection. The constant elements could be numeric, date or string expressions. The equivalent syntax is "%0 = c 1 ? c 1 : ( %0 = c 2 ? c 2 : ( ... ? . : default) )". The switch operator is very similar with the in operator excepts that the first element in the switch is always returned by the statement if the element is not found, while the returned value is the value itself instead -1. For instance, the %0 switch ('not found',1,4,7,9,11) gets 1, 4, 7, 9 or 11, or 'not found' for any other value. As the in operator the switch operator uses binary searches for fitting the element, so it is quicker that iif (immediate if operator) alterative.

  • case() (case operator) returns and executes one of n expressions, depending on the evaluation of the expression ( IIF - immediate IF operator is a binary case() operator ). The syntax for case() operator is:

expression case ([default : default_expression ; ] c1 : expression1 ; c2 : expression2 ; c3 : expression3 ;....)

If the default part is missing, the case() operator returns the value of the expression if it is not found in the collection of cases ( c1, c2, ...). For instance, if the value of expression is not any of c1, c2, .... the default_expression is executed and returned. If the value of the expression is c1, then the case() operator executes and returns the expression1. The default, c1, c2, c3, ... must be constant elements as numbers, dates or strings. For instance, the date(shortdate(value)) case (default:0 ; #1/1/2002#:1 ; #2/1/2002#:1; #4/1/2002#:1; #5/1/2002#:1) indicates that only #1/1/2002#, #2/1/2002#, #4/1/2002# and #5/1/2002# dates returns 1, since the others returns 0. For instance the following sample specifies the hour being non-working for specified dates: date(shortdate(value)) case(default:0;#4/1/2009# : hour(value) >= 6 and hour(value) <= 12 ; #4/5/2009# : hour(value) >= 7 and hour(value) <= 10 or hour(value) in(15,16,18,22); #5/1/2009# : hour(value) <= 8) statement indicates the working hours for dates as follows:

  • #4/1/2009#, from hours 06:00 AM to 12:00 PM
  • #4/5/2009#, from hours 07:00 AM to 10:00 AM and hours 03:00PM, 04:00PM, 06:00PM and 10:00PM
  • #5/1/2009#, from hours 12:00 AM to 08:00 AM

The in, switch and case() use binary search to look for elements so they are faster then using iif and or expressions. Obviously, the priority of the operations inside the expression is determined by ( ) parenthesis and the priority for each operator.

The supported conversion unary operators are:

  • type (unary operator) retrieves the type of the object. The type operator may return any of the following: 0 - empty ( not initialized ), 1 - null, 2 - short, 3 - long, 4 - float, 5 - double, 6 - currency, 7 - date, 8 - string, 9 - object, 10 - error, 11 - boolean, 12 - variant, 13 - any, 14 - decimal, 16 - char, 17 - byte, 18 - unsigned short, 19 - unsigned long, 20 - long on 64 bits, 21 - unsigned long on 64 bites. For instance type(%1) = 8 specifies the cells ( on the column with the index 1 ) that contains string values.
  • str (unary operator) converts the expression to a string. The str operator converts the expression to a string. For instance, the str(-12.54) returns the string "-12.54".
  • dbl (unary operator) converts the expression to a number. The dbl operator converts the expression to a number. For instance, the dbl("12.54") returns 12.54
  • date (unary operator) converts the expression to a date, based on your regional settings. For instance, the date(``) gets the current date ( no time included ), the date(`now`) gets the current date-time, while the date("01/01/2001") returns #1/1/2001#
  • dateS (unary operator) converts the string expression to a date using the format MM/DD/YYYY HH:MM:SS. For instance, the dateS("01/01/2001 14:00:00") returns #1/1/2001 14:00:00#
  • hex (unary operator) converts the giving string from hexa-representation to a numeric value, or converts the giving numeric value to hexa-representation as string. For instance, hex(`FF`) returns 255, while the hex(255) or hex(0xFF) returns the `FF` string. The hex(hex(`FFFFFFFF`)) always returns `FFFFFFFF` string, as the second hex call converts the giving string to a number, and the first hex call converts the returned number to string representation (hexa-representation).

The bitwise operators for numbers are:

  • a bitand b (binary operator) computes the AND operation on bits of a and b, and returns the unsigned value. For instance, 0x01001000 bitand 0x10111000 returns 0x00001000.
  • a bitor b (binary operator) computes the OR operation on bits of a and b, and returns the unsigned value. For instance, 0x01001000 bitor 0x10111000 returns 0x11111000.
  • a bitxor b (binary operator) computes the XOR ( exclusive-OR ) operation on bits of a and b, and returns the unsigned value. For instance, 0x01110010 bitxor 0x10101010 returns 0x11011000.
  • a bitshift (b) (binary operator) shifts every bit of a value to the left if b is negative, or to the right if b is positive, for b times, and returns the unsigned value. For instance, 128 bitshift 1 returns 64 ( dividing by 2 ) or 128 bitshift (-1) returns 256 ( multiplying by 2 )
  • bitnot ( unary operator ) flips every bit of x, and returns the unsigned value. For instance, bitnot(0x00FF0000) returns 0xFF00FFFF.

The operators for numbers are:

  • int (unary operator) retrieves the integer part of the number. For instance, the int(12.54) returns 12
  • round (unary operator) rounds the number ie 1.2 gets 1, since 1.8 gets 2. For instance, the round(12.54) returns 13
  • floor (unary operator) returns the largest number with no fraction part that is not greater than the value of its argument. For instance, the floor(12.54) returns 12
  • abs (unary operator) retrieves the absolute part of the number ie -1 gets 1, 2 gets 2. For instance, the abs(-12.54) returns 12.54
  • sin (unary operator) returns the sine of an angle of x radians. For instance, the sin(3.14) returns 0.001593.
  • cos (unary operator) returns the cosine of an angle of x radians. For instance, the cos(3.14) returns -0.999999.
  • asin (unary operator) returns the principal value of the arc sine of x, expressed in radians. For instance, the 2*asin(1) returns the value of PI.
  • acos (unary operator) returns the principal value of the arc cosine of x, expressed in radians. For instance, the 2*acos(0) returns the value of PI
  • sqrt (unary operator) returns the square root of x. For instance, the sqrt(81) returns 9.
  • currency (unary operator) formats the giving number as a currency string, as indicated by the control panel. For instance, currency(value) displays the value using the current format for the currency ie, 1000 gets displayed as $1,000.00, for US format.
  • value format 'flags' (binary operator) formats a numeric value with specified flags. The format method formats numeric or date expressions (depends on the type of the value, explained at operators for dates). If flags is empty, the number is displayed as shown in the field "Number" in the "Regional and Language Options" from the Control Panel. For instance the "1000 format ''" displays 1,000.00 for English format, while 1.000,00 is displayed for German format. "1000 format '2|.|3|,'" will always displays 1,000.00 no matter of the settings in your control panel. If formatting the number fails for some invalid parameter, the value is displayed with no formatting.

    The ' flags' for format operator is a list of values separated by | character such as 'NumDigits|DecimalSep|Grouping|ThousandSep|NegativeOrder|LeadingZero' with the following meanings:

    • NumDigits - specifies the number of fractional digits, If the flag is missing, the field "No. of digits after decimal" from "Regional and Language Options" is using.
    • DecimalSep - specifies the decimal separator. If the flag is missing, the field "Decimal symbol" from "Regional and Language Options" is using.
    • Grouping - indicates the number of digits in each group of numbers to the left of the decimal separator. Values in the range 0 through 9 and 32 are valid. The most significant grouping digit indicates the number of digits in the least significant group immediately to the left of the decimal separator. Each subsequent grouping digit indicates the next significant group of digits to the left of the previous group. If the last value supplied is not 0, the remaining groups repeat the last group. Typical examples of settings for this member are: 0 to group digits as in 123456789.00; 3 to group digits as in 123,456,789.00; and 32 to group digits as in 12,34,56,789.00. If the flag is missing, the field "Digit grouping" from "Regional and Language Options" indicates the grouping flag.
    • ThousandSep - specifies the thousand separator. If the flag is missing, the field "Digit grouping symbol" from "Regional and Language Options" is using.
    • NegativeOrder - indicates the negative number mode. If the flag is missing, the field "Negative number format" from "Regional and Language Options" is using. The valid values are 0, 1, 2, 3 and 4 with the following meanings:
      • 0 - Left parenthesis, number, right parenthesis; for example, (1.1)
      • 1 - Negative sign, number; for example, -1.1
      • 2 - Negative sign, space, number; for example, - 1.1
      • 3 - Number, negative sign; for example, 1.1-
      • 4 - Number, space, negative sign; for example, 1.1 -
    • LeadingZero - indicates if leading zeros should be used in decimal fields. If the flag is missing, the field "Display leading zeros" from "Regional and Language Options" is using. The valid values are 0, 1

The operators for strings are:

  • len (unary operator) retrieves the number of characters in the string. For instance, the len("Mihai") returns 5.
  • lower (unary operator) returns a string expression in lowercase letters. For instance, the lower("MIHAI") returns "mihai"
  • upper (unary operator) returns a string expression in uppercase letters. For instance, the upper("mihai") returns "MIHAI"
  • proper (unary operator) returns from a character expression a string capitalized as appropriate for proper names. For instance, the proper("mihai") returns "Mihai"
  • ltrim (unary operator) removes spaces on the left side of a string. For instance, the ltrim(" mihai") returns "mihai"
  • rtrim (unary operator) removes spaces on the right side of a string. For instance, the rtrim("mihai ") returns "mihai"
  • trim (unary operator) removes spaces on both sides of a string. For instance, the trim(" mihai ") returns "mihai"
  • reverse (unary operator) reverses the order of the characters in the string a. For instance, the reverse("Mihai") returns "iahiM"
  • a startwith b (binary operator) specifies whether a string starts with specified string ( 0 if not found, -1 if found ). For instance "Mihai" startwith "Mi" returns -1
  • a endwith b (binary operator) specifies whether a string ends with specified string ( 0 if not found, -1 if found ). For instance "Mihai" endwith "ai" returns -1
  • a contains b (binary operator) specifies whether a string contains another specified string ( 0 if not found, -1 if found ). For instance "Mihai" contains "ha" returns -1
  • a left b (binary operator) retrieves the left part of the string. For instance "Mihai" left 2 returns "Mi".
  • a right b (binary operator) retrieves the right part of the string. For instance "Mihai" right 2 returns "ai"
  • a lfind b (binary operator) The a lfind b (binary operator) searches the first occurrence of the string b within string a, and returns -1 if not found, or the position of the result ( zero-index ). For instance "ABCABC" lfind "C" returns 2
  • a rfind b (binary operator) The a rfind b (binary operator) searches the last occurrence of the string b within string a, and returns -1 if not found, or the position of the result ( zero-index ). For instance "ABCABC" rfind "C" returns 5.
  • a mid b (binary operator) retrieves the middle part of the string a starting from b ( 1 means first position, and so on ). For instance "Mihai" mid 2 returns "ihai"
  • a count b (binary operator) retrieves the number of occurrences of the b in a. For instance "Mihai" count "i" returns 2.
  • a replace b with c (double binary operator) replaces in a the b with c, and gets the result. For instance, the "Mihai" replace "i" with "" returns "Mha" string, as it replaces all "i" with nothing.
  • a split b (binary operator) splits the a using the separator b, and returns an array. For instance, the weekday(value) array 'Sun Mon Thu Wed Thu Fri Sat' split ' ' gets the weekday as string. This operator can be used with the array.
  • a like b (binary operator) compares the string a against the pattern b. The pattern b may contain wild-characters such as *, ?, # or [] and can have multiple patterns separated by space character. In order to have the space, or any other wild-character inside the pattern, it has to be escaped, or in other words it should be preceded by a \ character. For instance value like `F*e` matches all strings that start with F and ends on e, or value like `a* b*` indicates any strings that start with a or b character.
  • a lpad b (binary operator) pads the value of a to the left with b padding pattern. For instance, 12 lpad "0000" generates the string "0012".
  • a rpad b (binary operator) pads the value of a to the right with b padding pattern. For instance, 12 lpad "____" generates the string "12__".
  • a concat b (binary operator) concatenates the a (as string) for b times. For instance, "x" concat 5, generates the string "xxxxx".

The operators for dates are:

  • time (unary operator) retrieves the time of the date in string format, as specified in the control's panel. For instance, the time(#1/1/2001 13:00#) returns "1:00:00 PM"
  • timeF (unary operator) retrieves the time of the date in string format, as "HH:MM:SS". For instance, the timeF(#1/1/2001 13:00#) returns "13:00:00"
  • shortdate (unary operator) formats a date as a date string using the short date format, as specified in the control's panel. For instance, the shortdate(#1/1/2001 13:00#) returns "1/1/2001"
  • shortdateF (unary operator) formats a date as a date string using the "MM/DD/YYYY" format. For instance, the shortdateF(#1/1/2001 13:00#) returns "01/01/2001"
  • dateF (unary operator) converts the date expression to a string expression in "MM/DD/YYYY HH:MM:SS" format. For instance, the dateF(#01/01/2001 14:00:00#) returns #01/01/2001 14:00:00#
  • longdate (unary operator) formats a date as a date string using the long date format, as specified in the control's panel. For instance, the longdate(#1/1/2001 13:00#) returns "Monday, January 01, 2001"
  • year (unary operator) retrieves the year of the date (100,...,9999). For instance, the year(#12/31/1971 13:14:15#) returns 1971
  • month (unary operator) retrieves the month of the date ( 1, 2,...,12 ). For instance, the month(#12/31/1971 13:14:15#) returns 12.
  • day (unary operator) retrieves the day of the date ( 1, 2,...,31 ). For instance, the day(#12/31/1971 13:14:15#) returns 31
  • yearday (unary operator) retrieves the number of the day in the year, or the days since January 1st ( 0, 1,...,365 ). For instance, the yearday(#12/31/1971 13:14:15#) returns 365
  • weekday (unary operator) retrieves the number of days since Sunday ( 0 - Sunday, 1 - Monday,..., 6 - Saturday ). For instance, the weekday(#12/31/1971 13:14:15#) returns 5.
  • hour (unary operator) retrieves the hour of the date ( 0, 1, ..., 23 ). For instance, the hour(#12/31/1971 13:14:15#) returns 13
  • min (unary operator) retrieves the minute of the date ( 0, 1, ..., 59 ). For instance, the min(#12/31/1971 13:14:15#) returns 14
  • sec (unary operator) retrieves the second of the date ( 0, 1, ..., 59 ). For instance, the sec(#12/31/1971 13:14:15#) returns 15
  • value format 'flags' (binary operator) formats a date expression with specified flags. The format method formats numeric (depends on the type of the value, explained at operators for numbers) or date expressions. If not supported, the value is formatted as a number (the date format is supported by newer version only). The flags specifies the format picture string that is used to form the date. Possible values for the format picture string are defined below. For instance, the date(value) format `MMM d, yyyy` returns "Sep 2, 2023"

    The following table defines the format types used to represent days:

    • d, day of the month as digits without leading zeros for single-digit days (8)
    • dd, day of the month as digits with leading zeros for single-digit days (08)
    • ddd, abbreviated day of the week as specified by the current locale ("Mon" in English)
    • dddd, day of the week as specified by the current locale ("Monday" in English)

    The following table defines the format types used to represent months:

    • M, month as digits without leading zeros for single-digit months (4)
    • MM, month as digits with leading zeros for single-digit months (04)
    • MMM, abbreviated month as specified by the current locale ("Nov" in English)
    • MMMM, month as specified by the current locale ("November" for English)

    The following table defines the format types used to represent years:

    • y, year represented only by the last digit (3)
    • yy, year represented only by the last two digits. A leading zero is added for single-digit years (03)
    • yyy, year represented by a full four or five digits, depending on the calendar used. Thai Buddhist and Korean calendars have five-digit years. The "yyyy" pattern shows five digits for these two calendars, and four digits for all other supported calendars. Calendars that have single-digit or two-digit years, such as for the Japanese Emperor era, are represented differently. A single-digit year is represented with a leading zero, for example, "03". A two-digit year is represented with two digits, for example, "13". No additional leading zeros are displayed.
    • yyyy, behaves identically to "yyyy"

    The following table defines the format types used to represent era:

    • g, period/era string formatted as specified by the CAL_SERASTRING value (ignored if there is no associated era or period string)
    • gg, period/era string formatted as specified by the CAL_SERASTRING value (ignored if there is no associated era or period string)

    The following table defines the format types used to represent hours:

    • h, hours with no leading zero for single-digit hours; 12-hour clock
    • hh, hours with leading zero for single-digit hours; 12-hour clock
    • H, hours with no leading zero for single-digit hours; 24-hour clock
    • HH, hours with leading zero for single-digit hours; 24-hour clock

    The following table defines the format types used to represent minutes:

    • m, minutes with no leading zero for single-digit minutes
    • mm, minutes with leading zero for single-digit minutes

    The following table defines the format types used to represent seconds:

    • s, seconds with no leading zero for single-digit seconds
    • ss, seconds with leading zero for single-digit seconds

    The following table defines the format types used to represent time markers:

    • t, one character time marker string, such as A or P
    • tt, multi-character time marker string, such as AM or PM

The expression supports also immediate if ( similar with iif in visual basic, or ? : in C++ ) ie cond ? value_true : value_false, which means that once that cond is true the value_true is used, else the value_false is used. Also, it supports variables, up to 10 from 0 to 9. For instance, 0:="Abc" means that in the variable 0 is "Abc", and =:0 means retrieves the value of the variable 0. For instance, the len(%0) ? ( 0:=(%1+%2) ? currency(=:0) else `` ) : `` gets the sum between second and third column in currency format if it is not zero, and only if the first column is not empty. As you can see you can use the variables to avoid computing several times the same thing ( in this case the sum %1 and %2 .


TemplatePage object
The control's template page uses the X-Script language to initialize the control at design time. Use the control's Template property page to initialize the control columns and items at design time.

Name Description


Expressions

area

"area", an area chart or area graph displays graphically quantitative data. It is based on the line chart. The area between axis and line are commonly emphasized with colors, textures and hatchings.

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of numbers.


Expressions

bubble
""bubble", a bubble chart or bubble plot is a type of chart that displays three dimensions of data (a bubble chart is an extension of the scatter plot used to look at relationships between three numeric variables.). Each entity with its triplet (v1, v2, v3) of associated data is plotted as a disk that expresses two of the vi values through the disk's xy location and the third through its size. Bubble charts can facilitate the understanding of social, economical, medical, and other scientific relationships.

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of array of three-numbers, such as [[x, y, size]]


Expressions

candlestick
"candlestick", a candlestick chart (also called Japanese candlestick chart or K-line) is a style of financial chart used to describe price movements of a security, derivative, or currency. While similar in appearance to a bar chart, each candleStick represents four important pieces of information for that day: open and close in the thick body, and high and low in the "candle wick". Being densely packed with information, it tends to represent trading patterns over short periods of time, often a few days or a few trading sessions

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of array of four-numbers, such as [[open, high, low and close]],


Expressions

column

"column", a column chart or column graph is a chart or graph that presents categorical data with rectangular columns with heights proportional to the values that they represent. A horizontal column chart is called a bar chart.

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of numbers.


Expressions

line

"line", a line chart or line graph, also known as curve chart is a type of chart which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields. It is similar to a scatter plot except that the measurement points are ordered (typically by their x-axis value) and joined with straight line segments. A line chart is often used to visualize a trend in data over intervals of time - a time series - thus the line is often drawn chronologically. In these cases they are known as run charts.

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of numbers.


Expressions

ohlc
"ohlc", an open-high-low-close chart (also OHLC) is a type of chart typically used to illustrate movements in the price of a financial instrument over time. Each vertical line on the chart shows the price range (the highest and lowest prices) over one unit of time, e.g., one day or one hour. Tick marks project from each side of the line indicating the opening price (e.g., for a daily bar chart this would be the starting price for that day) on the left, and the closing price for that time period on the right. The bars may be shown in different hues depending on whether prices rose or fell in that period

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of array of four-numbers, such as [[open, high, low and close]],


Expressions

pie

"pie", a pie chart (or a circle chart) is a circular statistical graphic which is divided into slices to illustrate numerical proportion. In a pie chart, the arc length of each slice (and consequently its central angle and area) is proportional to the quantity it represents. While it is named for its resemblance to a pie which has been sliced, there are variations on the way it can be presented.

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of numbers.


Expressions

polararea

"polararea", represents data points connected with straight line segments that enclose a filled area together with the chart pole

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of array of two-numbers, such as [[angle, value]]


Expressions

polarline

"polarline", represents data points connected with straight line segments

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of array of two-numbers, such as [[angle, value]]


Expressions

polarscatter

"polarscatter", shows the serie as non-connected data points)

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of array of two-numbers, such as [[angle, value]]


Expressions

radararea

"radararea", a radar chart is a graphical method of displaying multivariate data in the form of a two-dimensional chart of three or more quantitative variables represented on axes starting from the same point. The relative position and angle of the axes is typically uninformative, but various heuristics, such as algorithms that plot data as the maximal total area, can be applied to sort the variables (axes) into relative positions that reveal distinct correlations, trade-offs, and a multitude of other comparative measures.

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of numbers.


Expressions

radarcolumn

"radarcolumn", displays data in radial columns starting from one center point. The circle is divided into equal portions depending on the number of columns and each column group occupies one portion

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of numbers.


Expressions

radarline

"radarline", similar with radarArea type.

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of numbers.


Expressions

rangearea
"rangearea", a range chart displays sets of data points, each of which is defined by multiple values for the same category, and emphasizes the distance between the two values. The category labels are displayed on the category axis. The plain Range chart fills in the area between the top and the bottom value for each data point.

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of array of two-numbers, such as [[from, to]]


Expressions

rangecolumn
"rangecolumn", a range column chart displays information as a range of data by plotting two Y-values (low and high) per data point. The vertical axis shows the values, and the horizontal axis shows the categories they belong to; in multiple-series range column charts, values are grouped by categories

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of array of two-numbers, such as [[from, to]]


Expressions

scatter
"scatter", a scatter plot (also called a scatterplot, scatter graph, scatter chart, scattergram, or scatter diagram) is a type of plot or mathematical diagram using Cartesian coordinates to display values for typically two variables for a set of data

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of array of two-numbers, such as [[x, y]].


Expressions

scatterarea
"scatterarea", a scatter area chart is similar with "scatterLine" type, excepts that scatter plots zone is filled.

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of array of two-numbers, such as [[x, y]].


Expressions

scatterline
"scatterline", a scatter line chart is similar with "scatter" type, excepts that lines are shown between scatter plots

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of array of two-numbers, such as [[x, y]].


Expressions

waterfall

""waterfall", a waterfall chart is a form of data visualization that helps in understanding the cumulative effect of sequentially introduced positive or negative values. These intermediate values can either be time based or category based. The waterfall chart is also known as a flying bricks chart or Mario chart due to the apparent suspension of columns (bricks) in mid-air. Often in finance, it will be referred to as a bridge.

The Type property specifies the way the serie's data is represented. The Data property specifies the values of the serie. Data requires array of numbers.