You can use this class as a subclass for your own visual components.
Base class for TECScale and TECRulerScale. No abstract classes, no published properties.
Format of values. For ValueFormat = esvfDate or esvfTime only.
Number of digits. Depends on ValueFormat.
case ValueFormat of esvfAutoRound: numbers of decimal places (i.e. 10,000 for Digits = 3) esvfFixedRound: numbers of decimal places (i.e. 10,000 for Digits = 3) esvfSmartRound: numbers of decimal places (i.e. 10,50 for Digits = 3) esvfExponential: number of digits of exponent (i.e. 1,00E+001 for Digits = 3) esvfHexadecimal: numbers of digits (i.e. 00A for Digits = 3) esvfMarkHexadec: numbers of digits (i.e. $00A for Digits = 3) esvfOctal: numbers of digits (i.e. 036 for Digits = 3) esvfBinary: numbers of digits (i.e. 1100100 for Digits = 7) esvfDate: does not affect esvfTime: does not affect esvfText: does not affect
Orientation of values (0-3600, 900 ~ 90 degrees)
Only for ScaleType = estLogarithmic.
Scale can be estLinear or estLogarithmic
Text can be used instead of values. Values are then indexes of TStringList.
Alignment of the ticks. Can be etaOuter, etaInner, etaCenter
Color of the ticks. clDefault is clBtnText. Only for TickDesing = etdSimple or etdThick.
Design of ticks. Can be: etdSimple, etdThick, etd3DLowered, etd3DRaised
Indent of ticks. Distance of ticks from the edge of component or from the groove of ECSlider.
Length of the long ticks. Medium ticks are 0.7 of this value. Short ticks are 0.5 of this value.
Common divisor for long ticks. Only long ticks can have value. Default is 10. For range 0..100 will exist long ticks 0, 10, 20, ... 90, 100.
Common divisor for middle ticks. Default is 5.
Common divisor for short ticks. Default is 1.
Visibility of ticks (short, middle, long).
Displaying of the values.
, ,
Value is centered to tick (horizontaly in case of horizontal scale).
Values are aligned to the left from tick (in case of horizontal scale).
Values are aligned to the right from tick (in case of horizontal scale).
Values are aligned to the left from tick (in case of horizontal scale).
Values are aligned to the right from tick (in case of horizontal scale).
Behaves like evdTopLeftInside in case of horizontal scale. In case of vertical scale are values separated to digits and diplayed as a column.
Behaves like evdBttmRightInside in case of horizontal scale. In case of vertical scale are values separated to digits and diplayed as a column.
Enumeration denoting displaying values of the scale.
Position of the values also influe:

ValueIndent: distance form tick (vertical in case of horizontal scale)

ValueShift: distance ( -/+) from centered position (horizontal in case of horizontal scale)
Distance between ticks and values.
,
Shift (in pixels) from the acccurate position.
,
Enumeration denoting type of a scale.
Class is used as a subclass of TECSlider, TECProgressBar and TECPositionBar or third party visual components.
Enumeration denoting aligning of the ticks. etaInner means aligning to the groove of a slider or to the edge of a ruler.
Enumeration denoting length of the tick. Private type.
Record containing position and size of the tick. Private type.
Enumeration denoting visibility of the ticks (short, middle, long).
Enumeration denoting format of the values.
Automatic round.
Fixed number of decimal places.
Advanced rounding.
Hexadecimal numbers with $ prefix.
Octal numbers.
Binary numbers.
Date.
Time.
Hexadecimal numbers.
Decimal numbers with exponent.
Triggered before the value is painted. Enables user-defined formating.
Visibility of values (none, bound, regular, all).
Format of values (round, hexadecimal, date, time, ... ).
Returns string representation of maximum (Max). Applies correct formatting.
Returns string representation of minimum (Min). Applies correct formatting.
Returns preferred width (or height) needed to draw a scale. Width for vertical scales, height for horizontal.
Returns string representation of current position. Applies correct formatting.
Sets bounds of the scale.
This method must be called before GetPreferredWidth(), CalcTickPosAndValues() and Draw().
Calculates positions of ticks and values. Must be called before Draw().
Draws the scale on canvas. CalcTickPosAndValues() must be called before.
Class TECScale. Not a component but can draw itself to any canvas.