Sign in Join
Wiki copytemporary

Industrial: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## About
22
33The **Industrial** package contains a set of industrial-themed components, such as LED indicators, LED and LCD displays, analog gauges, thermometer gauges, knob, on/off switch, etc.
44
5-<img src="ex_industrialstuff_2.png" title="ex_industrialstuff_2.png" width="500" />
5+![](/wiki-images/2/21/Ex_industrialstuff_2.png)
66
77## Download and Installation
88
99- **Released version** distributed by the Online Package Manager: check the "IndustrialStuff" item in the Online Package manager, click the "Install" button and follow the instructions.
1010- **Development version** on Lazarus CCR (svn):
1111 - If you have access to *svn* use the following command to check-out the package into folder *industrialstuff*:\
1212 `svn checkout `[`svn://svn.code.sf.net/p/lazarus-ccr/svn/components/industrialstuff`](svn://svn.code.sf.net/p/lazarus-ccr/svn/components/industrialstuff)` industrialstuff`.
1313 - Otherwise download the zipped snapshot from <https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/industrialstuff/>. Extract the files in a separate directory.
1414 - In the Lazarus IDE, open the file **industrial.lpk** in "Package" \> "Open Package File (.lpk)" and click on "Use" \> "Install". Allow to rebuild the IDE.
1515- When Lazarus restarts after the installation the components are on palette *Industrial*.
1616
1717## License
1818
1919Since the components contained in the *industrial* package originate from various authors there is no general, package-wide license. Licenses used are MPL, GPL and modified LGPL. Please check the unit headers for the license of the component that you want to use.
2020
2121## Components
2222
2323### Indicators
2424
2525#### TAdvLED
2626
2727![](/wiki-images/a/a0/TAdvLED.png) Indicator light as LED or light bulb
2828
2929- **Original author**: Dejan Crnila (dejancrn@yahoo.com)
3030- **License**: modified LGPL (like Lazarus)
3131- **Properties**
3232 - `Kind` (enumeration `TLEDKind = (lkRedLight, lkGreenLight, lkYellowLight, lkBulb, lkCustom)`): red, green or yellow LED, or light bulb, or LED in adjustable colors as defined by the `GlyphDisabled`, `GlyphOff` and `GlyphOn` properties.
3333 - `State` (enumeration `TLEDState = (lsDisabled, lsOff, lsOn)`): Indicator is disabled (gray), OFF (dark color) or ON (bright color).
3434 - `Blink: boolean`: The LED toggles automatically between ON and OFF states. The duration during which the LED is in each state is given by the property `BlinkDuration` (in milliseconds).
3535 - `FlashMode` (enumeration `TFlashMode = (fmFlashOffToOn, fmFlashOnToOff)`): Defines whether the `Flash`method causes a transition from OFF to ON, or from ON to OFF.
3636- **Methods**
3737 - `procedure Toggle`: Switches between the states of the indicator (unless `State` is `lsDisabled`).
3838 - `procedure Flash(ADuration: Integer)`: The indicator flashes for the `ADuration` time (in milliseconds) to the other state and then returns to the current state again. Whether the transition is from OFF to ON or from ON to OFF is specified by the `FlashMode` property.
3939- **Demo project**
4040 - in folder *TAdvLED* of the installation folder.
4141
4242#### TIndLED
4343
4444![](/wiki-images/5/5e/TIndLED.png) LED indicator with configurable shape and color. Can be grouped with others so that only one LED of that group is active.
4545
4646- **Original author**: Mauricio (https://sourceforge.net/projects/tcycomponents/)
4747- **License**: MPL 1.1
4848- **Properties**
4949 - `Bevels`: a collection of `TcyBevel` items defining bevels around the LED (raised/lowered, left/top/right/bottom, highlight and shadow color, as well as bevel width)
5050 - `GroupIndex: Integer`: in a group of LEDs sharing the same non-zero `GroupIndex` only a single LED can be lit. When `AllowAllOff` is `true` all LEDs of this group can be turned OFF, otherwise there must always be one LED which is ON.
5151 - `LedColorDisabled`, `TLedColorOff`, `TLedColorOn` (type `TColor`): colors of the LED in the disabled, OFF and ON states, respectively.
5252 - `LedValue: boolean`: determines whether the LED is ON (`true`) or OFF (`false`).
5353 - `ShapeType` (enumeration `TShapeType = (stRectangle, stRoundRect, stEllipse)`): shape of the LED. In case of `stRoundRect` the corner radius is determined by `ShapeRoundRectX` and `ShapeRoundRectY`.
5454 - `ShapeLedColorDisabled`, `ShapeLedColorOff`, `ShapeLedColorOn` (type `TColor`): pen color of the border of the LED shape.
5555
5656#### TStopLightSensor
5757
5858![](/wiki-images/8/84/Tstoplightsensor.png) A descendant of TImage which displays images for the states of a traffic light (red, yellow, green).
5959
6060- **Original author**: Mike Skolnik (http://www.scalabium.com), Lazarus port by Jurassic Pork.
6161- **License**: "My components are freeware for private and commercial use so you may use any in your applications but without any warranties from my side."
6262- **Properties**
6363 - `State: TStopLights = (slUNKNOWN, slRED, slYELLOW, slGREEN)`: Indicates the state of the traffic light.
6464
6565### Alphanumeric Displays
6666
6767#### TLEDNumber
6868
6969![](/wiki-images/c/c0/Tlednumber.png) 14-segment LED display for alpha-numeric text.
7070
7171- **Author**: Based on a component contained in the *TurboPower VisualPlanIt* library. Lazarus port by Jurassic Pork.
7272- **License**: MIT
7373- **Properties**
7474 - `BgColor: TColor`: Specifies the color of the display's background (default: clBlack)
7575 - `Borderstyle` (Enumeration `TLedNumberBorderStyle = (lnbNone, lnbSingle, lnbSunken, lnbRaised)`: Defines the border around the control.
7676 - `Caption: string`: String to be displayed by the component. Note that `TLEDNumber` is able to display only the following characters: `' ', '*', '+', ',', '-', '.', '/', '0'..'9', '<', '>', 'A'..'Z', 'a'..'z', ':'`. Other characters are replaced by spaces.
7777 - `Columns: Integer; Rows: Integer`: The `Caption` is displayed in predefined cells of a grid consisting of as many columns and rows as specified by these properties.
7878 - `OffColor: TColor`: Specifies the color of the un-lit (darkended) segments.
7979 - `OnColor: TColor`: Specifies the color of the lit (bright) segments.
8080 - `Size: Integer`: Size of the display. To be exact, this is the width of the segments in pixels. Allowed values are between 2 and 10.
8181 - `Slanted: Boolean`: If `true`, the characters are drawn slanted by the amound specified in the `SlantAngle` property.
8282 - `Transparent: boolean`: If `true`, the display's background (`BgColor`) is not painted.
8383 - `ZeroToO: boolean`: If `true`, zero digits (`'0'`) are not drawn with the inner slash and thus are identical with the upper-case `'O'`.
8484
8585- **Demo Project**
8686 - in folder *Example/LEDNumberDemo*
8787
8888![](/wiki-images/a/a0/LEDNumberDemo.png)
8989
9090#### TLCDDisplay
9191
9292![](/wiki-images/4/49/Tlcddisplay_150.png) Multiline LCD display for display of alphanumeric text (ASCII characters \#32..#126, extendable by property editor)
9393
9494- **Authors**: Based on TLCLLine by Yuriy Tereshchenko. Lazarus port by Boban Spasic (spasic@gmail.com) and Werner Pamler. See forum discussion <https://forum.lazarus.freepascal.org/index.php/topic,58357.msg443845.html#msg443845>
9595- **License**: Modified LGPL, like Lazarus LCL
9696- **Properties**
9797 - `AutoSize: boolean`: Adjusts the size of the control so that all characters and lines of the dot matrix are visible.
9898 - `BoardColor: TColor`: Color of the dot matrix background. `ColorScheme` must be set to `csCustomy` in order to change this property. Default: `clBlack`
9999 - `CharDefs: TCharDefs`: Defines the dot matrices of the displayable characters. By default, all characters between ' ' (#32) and '~' (#126) are allowed, but a double-click on this property opens the `CharDefs` property editor with which new characters can be added or existing characters can be modified; in principle, all UTF8 codepoints are supported.
100100 - `CharSpace: Boolean`: If `true`, a one-dot space is inserted between characters. Default: `false`.
101101 - `ColorScheme: TColorScheme = (csCustom, csBlue, csGreen, csInvGreen)`: Pre-defined color sets. Set to csCustom in order to use the `BoardColor`, `DotColorOn` and `DotColorOff`.
102102 - `DisplayLineCount: Integer`: Number of lines displayed when `AutoSize` is `true`. Default: `2`
103103 - `DisplayCharCount: Integer`: Number of characters per line when `AuotSize` is `true`. Default: `10`.
104104 - `DotColorOn: TColor`: Color of a lit dot in the character dot matrix. In order to use `DotColorOn`, the `ColorScheme` must be set to `csCustom`. Default: `clSkyBlue`
105105 - `DotColorOff: TColor`: Color of an un-lit dot in the character dot matrix. In order to use `DotColorOff`, the `ColorScheme` must be set to `csCustom`. Default: `clTeal`
106106 - `DotShape: TDotShape = (stSquare, stRound)`: Defines the shape of the dots in the dot matrix. Default: `stSquare`
107107 - `DotSize: Integer`: Size of a dot in the character dot matrix. Default: `4`
108108 - `DotSpace: Integer`: Distance between dots in the character dot matrix. Default: `1`
109109 - `FrameColor: TColor`: Color of the frame around the LCD display. Default: `clBtnFace`
110110 - `FrameColorStyle: TFrameColorStyle = (stWindows, stColor)`: Determines whether the control's bevel color is derived from system colors (`stWindows`) or from the `FrameColor`. Default: `stWindows`.
111111 - `FrameHeight: TFrameHeight = (fhDouble, fhSingle)`: Defines the number of pixels (2 or 1, respectively) used to draw the bevel of the display frame.
112112 - `FrameSize: Integer`: Width of the frame around the LCD display. Default: `8`
113113 - `FrameStyle: TFrameStyle = (fsRelief, fsNone, fsLowered, fsRaised)`: Defines style of the frame drawn around the LCD display.
114114 - `Lines: TStringList`: Text to be diplayed
115115
116116- **Events**
117117 - `OnChange: TNotifyEvent`: Fires whenever the display text changes.
118118
119119- **Methods**
120120 - `procedure AddCharDef(AChar: string; const Dots: TDotRows)`: Adds a character (UTF8 encoding) and its associated dot matrix to the `CharDefs`. `TDotRows` is an `array of integer` where each `integer` refers to a dot row in the dot matrix and each set bit in the `integer` means a lit dot in the corresponding row (the least-signficant bit is at the right of dot row). The `TLCDDisplay.CharMap.ColCount` and `.RowCount` indicate the size of the character dot matrix.
121121
122122- **Demo projects**
123123 - in folder *Examples/LCDDisplay/Properties* (demonstrates the effect of changing the control's properties)
124124 - in folder *Examples/LCDDisplay/CharDefsEditor* (demonstrates usage of the LCD dot matrix editor)
125125
126-<img src="LCDDisplay_Demo.png" title="LCDDisplay_Demo.png" width="400" alt="LCDDisplay_Demo.png" /> <img src="CharDefsEditor.png" title="CharDefsEditor.png" width="128" alt="CharDefsEditor.png" />
126+![](/wiki-images/d/d1/LCDDisplay_Demo.png) ![](/wiki-images/f/fc/CharDefsEditor.png)
127127
128128### Gauges
129129
130130#### TAnalogSensor
131131
132132![](/wiki-images/d/da/Tanalogsensor.png) Analog display which can be configured to have a round or linear scale. Display ranges can be indicated in different colors.
133133
134134Original author: Mike Skolnik (http://www.scalabium.com), Lazarus port by Jurassic Pork.
135135
136136License: *"My components are freeware for private and commercial use so you may use any in your applications but without any warranties from my side."*
137137
138138- **Properties**
139139 - `AnalogKind` (enumeration `TAnalogKind = (akAnalog, akHorizontal, akVertical)`): type of the display: round scale (`akAnalog`) or horizontal (`akHorizontal`) / vertical (`akVertical`) thermometer-like linear scale
140140 - `ColorBack: TColor`: Color of the display background (default: black)
141141 - `ColorFore: TColor`: Color of the display "foreground"; the fraction of the area painted by the `ColorFore` corresponds to the displayed `Value` (default: bright green).
142142 - `ColorRed`, `ColorYellow` (type `TColor`): Color of two lines indicating special data ranges, e.g. value too small or value too high. Default: red and yellow, respectively. These lines are displayed when the `ShowLevel` property is `true`
143143 - `ShowLevel: boolean`: If `true`, two lines indicating special data conditions are displayed.
144144 - `ShowText: boolean`: Displays the numerical `Value` below the display.
145145 - `Value: integer`: Displayed number (corresponds to the area drawn in color `ColorFore`)
146146 - `ValueMax: Integer`: Maximum value that can be displayed
147147 - `ValueMin: Integer`: Minimum value that can be displayed
148148 - `ValueRed`, `ValueYellow: Integer`: Values displayed as the position of the indicator lines drawn in color `ColorRed` and `ColorYellow`, respectively.
149149 - `Caption: string`: Text displayed in front of the value when `ShowText` is `true`.
150150
151151- **Methods**
152152 - `SetColorState(slStopLight: TStopLights)`: Changes the color of the `Caption` and the `Value` as specified by the parameter `slStopLights: TStopLights = (slUNKNOWN, slRED, slYELLOW, slGREEN)`.
153153
154154- **Demo project**
155155 - in folder *Example/AnalogSensor*
156156
157-<img src="AnalogSensor_Demo.png" title="AnalogSensor_Demo.png" width="400" />
157+![](/wiki-images/a/a2/AnalogSensor_Demo.png)
158158
159159#### TA3nalogGauge
160160
161161![](/wiki-images/7/7a/Ta3naloggauge.png) A component for displaying floating point values like with an analog volt or ampere meter. Uses the supersampling anti-aliasing algorithm for improvement the image quality. (The "A3" in the component name stands for "anti-aliased analog".)
162162
163163- **Original author**: Irnis Haliullin (http://www.irnis.net/, URL no longer valid), Lazarus port and extended by Werner Pamler
164164- **License**: *"This component is free for use in any purposes."*
165165- **Properties**
166166 - `Angle: Integer`: Defines the anglular range over which the meter's display needle can move. Default: `120`.
167167 - `AntiAliased: TAntiAliased = (aaNone, aaBiline, aaTriline, aaQuadral)`: selects the supersampling anti-aliasing algorithm to improve display quality. Default: `aaNone` (no anti-aliasing). Note that higher supersampling results in lower display refresh rate.
168168 - `ArrowColor: TColor`: Color of the meter's pointer needle. Default: `clBlack`
169169 - `ArrowWidth: Integer`: Pen width, in pixels, used for drawing the meter's pointer needle. Default: `1`
170170 - `Caption: String`: Text displayed inside the meter face, for example to indicate the measured quantity ('Voltage', or 'Current')
171171 - `CaptionColor: TColor`: Color of the text displayed inside the meter face. Default: `clBlack`
172172 - `CaptionFont: TFont`: Font used to draw the text inside the meter face.
173173 - `CenterColor: TColor`: Color of the circle from where the meter needle originates. Default: `clDkGray`.
174174 - `CenterRadius: Integer`: Radius of the circle at which the needle is attached. Default: `8`
175175 - `CircleColor: TColor`: Color of the small circles drawn at the labeled scale positions. Default: `clBlue`
176176 - `CircleRadius: Integer`: Radius of the small circles drawn at the labeled scale positions. Default: `3`
177177 - `FaceColor: TColor`: Color of the meter face (background color). Default: `clBtnFace`
178178 - `FaceOptions: TFaceOptions`: A set of options which can be used to turn elements of the meter control on or off. `TFaceOption = (foShowMargin, foShowCircles, foShowMainTicks, foShowSubTicks, foShowIndicatorMin, foShowIndicatorMid, foShowIndicatorMax, foShowValues, foShowCenter, foShowFrame, foShow3D, foShowCaption)`. Default: `[foShowMainTicks, foShowSubTicks, foShowIndicatorMax, foShowValues, foShowCenter, foShowFrame, foShow3D, foShowCaption]`
179179 - `IndMaximum: Integer`: Maximum value of the "normal" range. Default: `80`
180180 - `IndMinimum: Integer`: Minimum value of the "normal" range. Default: `20`
181181 - `LengthMainTicks: Integer`: Length of the main (labeled) ticks at the scale of the meter. Default: `15`
182182 - `LengthSubTicks: Integer`: Length of the minor (unlabeled) ticks at the scale of the meter. Default: `8`
183183 - `Margin: Integer`: Distance between the outermost parts of scale/center and the LCL bounds of the control. Default: `10`
184184 - `MarginColor: TColor`: Color of the rectangle drawn around the outermost parts of the scale if the option `foShowMargin` is included in the `FaceOptions`
185185 - `MaxColor: TColor`: Color of the segment at the meter scale between `IndMaximum` and `ScaleMax` to highlight the "higher-than-normal" range. Default: `clRed`
186186 - `MidColor: TColor`: Color of the center segment at the meter scale between `IndMinimum` and `IndMaximum` to highlight the "normal" range. Default: `clYellow`
187187 - `MinColor: TColor`: Color of the segment at the meter scale between `IndMinimum` and `ScaleMin` to highlight the "lower-than-normal" range. Default: `clGreen`
188188 - `NumberMainTicks: Integer`: Number of main (labeled) ticks drawn at the meter scale. Default: `5`
189189 - `Position: single`: Value for the needle position. Must be between `ScaleMin` and `ScaleMax`.
190190 - `ScaleMax: Integer`: Highest value which can be displayed by the meter. Default: `100`.
191191 - `ScaleMin: Integer`: Smallest value which can be displayed by the meter. Default: `0`.
192192 - `Style: TStyle = (agsLeftStyle, agsRightStyle, agsCenterStyle)`: Characterizes the orientation of the meter scale with respect to the center of the needle. Default: `agsCenterStyle` (the needle begins at the center of the scale). In option `agsLeftStyle`, the needle begins at the left side of the scale, in option `agsRightStyle`, at the right side of the scale.
193193 - `TextDist: Integer`: Distance between the tick labels and the ticks at the meter's scale. Default: `10`.
194194 - `TicksColor: TColor`: Color of the ticks drawn at the meter's scale. Default: `clBlack`
195195 - `ValueColor: TColor`: Color of the numbers at the main ticks. Default: `clBlack`
196196
197197- **Events**
198198 - `OnOverMax: TNotifyEvent`: Fires when the `Position` value is greater than the `IndMaximum` value.
199199 - `OnOverMin: TNotifyEvent`: Fires when the `Position` value is less than then `IndMinimum` value.
200200
201201- **Demo project**
202202 - In folder *Example/OnOffSwitch_Knob_Sample*
203203 - In folder *Example/A3nalogGaugeSample*
204204
205-<img src="A3Gauge_Demo.png" title="A3Gauge_Demo.png" width="400" />
205+![](/wiki-images/0/06/A3Gauge_Demo.png)
206206
207207#### TindGnouMeter
208208
209209![](/wiki-images/2/25/Tindgnoumeter.png) GnouMeter is a meter which can display an integer or a float value (Single). Just like a progress bar or a gauge, all you have do do is to define the Minimum and maximum values as well as the actual value.
210210
211211- **Original author**: Jérôme Hersant (jhersant@post4.tele.dk)
212212- **License**: *"THIS COMPONENT IS ENTIRELY FREEWARE."*
213213- **Properties**
214214 - `Caption: String`: Name of the data represented by the meter
215215 - `Value: Single`: Value displayed
216216 - `Color: TColor`: Background color used when `Transparent` is `false`. Default: `clDefault`
217217 - `ColorFore: TColor`: Color of the bar. Default: `clRed`
218218 - `ColorBack: TColor`: Background color of the meter. Default: `clBtnFace`
219219 - `SignalUnit: ShortString`: Unit name displayed with the values (min, max and actual)
220220 - `ValueMin: Double`: Minimum value. Default: `0`
221221 - `ValueMax: Double`: Maximum value. Default: `100`
222222 - `Increment: Double`: Distance between each subdivision. Default: `10`
223223 - `ShowIncrements: Boolean`: Displays the subdivisions or not. Default: `true`
224224 - `Transparent: Boolean`: If `true`, the background of the entire control (`Color`) is not painted. Default: `true`
225225 - `GapTop: Word`: Distance between the meter and the text on top (Caption and actual value). Default: `20`
226226 - `GapBottom: Word`: Distance between the meter and the bottom of the control. Default: `10`
227227 - `BarThickness: Word`: Bar width. Default: `5`
228228 - `MarkerColor: TColor`: Color of the marker representing the actual value. Default: `clBlue`
229229 - `ShowMarker: Boolean`: Marker visible or not. Default: `true`
230230
231231- **Demo project**
232232 - The control is used in the general sample project *Ex_IndustrialStuff* in folder *Example*
233233
234234### Control Elements
235235
236236#### TmKnob
237237
238238![](/wiki-images/d/d6/Tmknob.png) Emulates the volume knob found on some HiFi devices.
239239
240240- **Original author**: Marco Caselli (mcaselli@iname.com). Lazarus port and extended by Werner Pamler.
241241- **License**: *"Feel free to use or give away this software as you see fit. Please leave the credits in place if you alter the source."*
242242- **Properties**
243243 - `AllowUserDrag: Boolean`: If `true`, the user can drag the control to a new value by using the mouse.
244244 - `AngleRange: TKnobAngleRange = (arTop270, arTop180, arTop120, arTop90, arBottom270, arBottom180, arBottom120, arBottom90, arLeft270, arLeft180, arLeft120, arLeft90, arRight270, arRight180, arRight120, arRight90)`: Defines the sector of the full circle over which the knob can be rotated. Default: `arTop270`
245245 - `FaceColor: TColor`: Color of the knob's face
246246 - `MarkSize: Integer`: Size of the tick mark. Depending on the value of the `MarkSizeKind` property, the size is given either as percentage of the knob's enclosing rectangle size, or in pixels. Default: 20%
247247 - `MarkSizeKind: TKnobMarkSizeKind = (mskPercentage, mskPixels)`: Determines whether the knob's tick mark size is given as percentage or in pixels. Default: `mskPercentage`
248248 - `MarkStyle: TKnobMarkStyle = (msLine, msCircle, msTriangle)`: Specifies the style of the tick mark: line, circle, or triangle. Default: `msLine`
249249 - `Max: integer`: Upper limit value for `Position`. Default: `100`
250250 - `Min: integer`: Lower limit value for `Position`. Default: `0`
251251 - `Position: Integer`: Current position of the knob ("value")
252252 - `RotationEffect: Boolean`: If `true`, the knob will shake emulating a visual effect of rotation. Default: `false`
253253 - `Shadow: Boolean`: If `true`, a shadow is drawn in the `ShadowColor` at the bottom/right side of the knob.
254254 - `ShadowColor: TColor`: Color of the knob shadow.
255255 - `TickColor: TColor`: Color of the tick's mark
256256 - `Transparent: Boolean`: If `false`, the outer area of the control's client rectangle will be painted in the `Color` specified in the corresponding property, otherwise it is transparent.
257257
258258- **Events**
259259 - `OnChange: TKnobChangeEvent`: This event is triggered whenever the knob's `Position` is changed by user interaction or by code. Besides the `Sender` the event has the new `Position` value as a parameter.
260260
261261- **Demo**
262262 - Used, among other *industrial* controls, in the project in the *Example/OnOffSwitch_Knob_Sample* folder
263263
264264![](/wiki-images/4/42/OnOffSwitch_Knob_Sample.png)
265265
266266#### TMultiSlider
267267
268268![](/wiki-images/2/20/Tmultislider.png) Provides adjustment of up to three values by sliding grips along a track.
269269
270270- **Author**: forum user *bylaardt*, see <https://forum.lazarus.freepascal.org/index.php/topic,45063.msg318180.html#msg318180>; extended by Werner Pamler
271271- **License**: modified LGPL (with linking exception), like Lazarus LCL
272272- **Properties**
273273 - `ColorAbove: TColor`: Color of the track above the upper slider. Default: `clInactiveCaption`
274274 - `ColorBelow: TColor`: Color of the track below the lower slider. Default: `clInactiveCaption`
275275 - `ColorBetween: TColor`: Color of the track between the upper and lower sliders. Default: `clActiveCaption`
276276 - `ColorThumb: TColor`: Color of the slider grip. Default: `clBtnFace`
277277 - `DefaultSize: Integer`: Size of the slider grip. Default: `28`
278278 - `Flat: Boolean`: If `true` 3D bevel effects are not painted. Default: `false`
279279 - `MaxPosition: Integer`: Defines the position of the upper slider. Default: `80`
280280 - `MinPosition: Integer`: Defines the position of the lower slider. Default: `20`
281281 - `Position: Integer`: Defines the position of the main (center) slider. When all three sliders are used the center slider can only be moved between the lower and upper sliders. Default: `50`
282282 - `RangeMax: Integer`: Maximum allowable position of any slider. Default: `100`
283283 - `RangeMin: Integer`: Minimum allowable position of any slider. Default: `0`
284284 - `SliderMode: TSliderMode = (smSingle, smMinMax, smMinValueMax)`: Defines how many sliders are used: `smSingle` - only the center slider, `smMinMax` - only the lower and upper sliders, `smMinValueMax` - all three sliders. Default: `smMinMax`
285285 - `ThumbStyle: TThumbStyle = (tsGrip, tsCircle, tsRect, tsRoundedRect, tsTriangle, tsTriangleOtherSide)`: Defines the shape of the slider grip. Default: `tsGrip`
286286 - `TrackThickness: integer`: Width of the slider track. Default: `7`
287287 - `Vertical: boolean`: Defines whether the slider is aligned vertically (`true`) or horizontally (`false`). Default: `false`
288288
289289- **Events**
290290 - `OnPositionChange: TSliderPositionEvent = procedure (Sender: TObject; AKind: TThumbKind; AValue: Integer) of object`: Fires whenever the position of a slider or the allowed max/min values changes. The slider affected is given by the parameter `AKind: TThumbKind = (tkMin, tkMax, tkValue)`. The new position of the slider is passed as parameter `AValue`.
291291
292292- **Demo Project**
293293 - In folder *Example/MultiSliderSample*
294294
295-<img src="MultiSliderDemo.png" title="MultiSliderDemo.png" width="400" />
295+![](/wiki-images/2/2a/MultiSliderDemo.png)
296296
297297### Switches
298298
299299#### TOnOffSwitch
300300
301301![](/wiki-images/1/11/Tonoffswitch.png) A control resembling an on/off switch which is activated by sliding a button to the other side or by pressing the SPACE bar. The state of the button is displayed as text. When the control's width is greater than its height the switch is painted in horizontal, otherwise in vertical orientation.
302302
303303- **Author**: Werner Pamler
304304- **License**: LGPL with linking exception (like Lazarus LCL).
305305- **Properties**
306306 - `BorderColor: TColor`: Color of the control's border when `BorderStyle` is `bsThin` or `bsThick`. Default: `clGray`
307307 - `BorderStyle: TSwitchBorderStyle = (bsNone, bsThin, bsThick, bsThin3D, bsThick3D)`: Defines the style of the control's border. Default: `bsThin`
308308 - `ButtonSize: Integer`: Size of the button slider. Default: `24`
309309 - `CaptionOFF: String`: This text is displayed inside the switch area when the switch is "off" (`Checked = false`). Default: `'OFF'`
310310 - `CaptionON: String`: This text is displayed inside the switch area when the switch is "on" (`Checked = true`). Default: `'ON'`
311311 - `Checked: Boolean`: Indicates the "state" of the switch. When `Checked` is `true` the switch is "on", otherwise it is "off". Default: `false`
312312 - `Color: TColor`: Background color of the switch. Default: `clWindow`
313313 - `ColorOFF: TColor`: Color of the slider button when `Checked` is `false`. Default: `clMaroon`
314314 - `ColorON: TColor`: Color of the slider button when `Checked` is `true`.Default: `clGreen`
315315 - `Inverse: Boolean`: Flips the location of the button slider and the caption. Default: `false` (Slider at the left, caption at the right).
316316 - `ReadOnly: Boolean`: If `true`, the user cannot change the switch state. Default: `false`
317317 - `ShowButtonBorder: Boolean`: Allows to show/hide the slider's border. Default: `true`
318318 - `ShowCaption: Boolean`: Allows to show/hide the control's `Caption`. Default `true`
319319 - `Orientation: TSwitchOrientation = (soHorizontal, soVertical)`: Orientation of the switch, horizontal or vertical. Note that this is a read-only property, its value is determined by the control's `Width`-to-`Height` ratio.
320320
321321- **Events**
322322 - `OnChange: TNotifyEventy`: Fires whenever the `Checked` property changes its value, either by user interaction or by code.
323323
324324- **Sample Project**
325325 - In folder *Example/OnOffSwitch_Knob_Sample*.
326326
327327---
328328*From the Free Pascal wiki, page "Industrial", as it stood on 2023-04-07 after a change by Wp, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history