lazarus/docs/xml/lcl/checklst.xml

1258 lines
46 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Documentation for LCL (Lazarus Component Library) and LazUtils (Lazarus
Utilities) are published under the Creative Commons Attribution-ShareAlike 4.0
International public license.
https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt
https://gitlab.com/freepascal.org/lazarus/lazarus/-/blob/main/docs/cc-by-sa-4-0.txt
Copyright (c) 1997-2025, by the Lazarus Development Team.
-->
<fpdoc-descriptions>
<package name="lcl">
<!--
====================================================================
CheckLst
====================================================================
-->
<module name="CheckLst">
<short>
Classes defining TCheckListBox - a List Box with Check Box items.
</short>
<descr>
<p>
<file>checklst.pas</file> implements the TCheckListBox control which displays
a list with check box items. The following components are added to the
Lazarus IDE component palette:
</p>
<p>
<b>Additional</b> Tab
</p>
<ul>
<li>TCheckListBox</li>
</ul>
<p>
<file>checklst.pas</file> is part of the Lazarus Component Library (LCL).
</p>
</descr>
<!-- unresolved type references -->
<element name="Classes"/>
<element name="SysUtils"/>
<element name="Math"/>
<element name="LCLType"/>
<element name="LCLIntf"/>
<element name="Graphics"/>
<element name="LMessages"/>
<element name="LResources"/>
<element name="Controls"/>
<element name="StdCtrls"/>
<element name="GraphType"/>
<element name="TCheckListClicked">
<short>
Defines an object procedure signalled when an item in TCheckListBox is
clicked.
</short>
<descr>
<p>
<var>TCheckListClicked</var> is an object procedure type that defines an
event handler signalled when an item in TCheckListBox is clicked.
TCheckListClicked is the type used to implement the <var>OnItemClick</var>
event handler in <var>TCheckListBox</var>. Applications must provide an
implementation of the type and assign to the event handler to respond to the
event notification.
</p>
</descr>
<notes><note>TCheckListBox.OnItemClick was deprecated in 3.99.</note></notes>
<seealso>
<link id="TCheckListBox.OnItemClick"/>
</seealso>
</element>
<element name="TCheckListClicked.Sender">
<short>TObject instance for the event notification.</short>
</element>
<element name="TCheckListClicked.Index">
<short>Ordinal position for the item clicked in the control.</short>
</element>
<element name="TCustomCheckListBox">
<short>
The base class for TCheckListBox, a list box with check box items.
</short>
<descr>
<p>
<var>TCustomCheckListBox</var> is a <var>TCustomListBox</var> descendant
which defines the base class used to implement <var>TCheckListBox</var>. It
is a list box control which displays check boxes for items added to the list.
It provides the scrolling, selection, and drawing styles inherited from the
ancestor class. It also includes the ability to render its items as a check
box, and respond to mouse or keyboard events when the checked state for an
item is toggled.
</p>
</descr>
<seealso>
<link id="TCustomListBox"/>
<link id="TCheckListBox"/>
</seealso>
</element>
<element name="TCustomCheckListBox.FAllowGrayed"/>
<element name="TCustomCheckListBox.FHeaderBackgroundColor"/>
<element name="TCustomCheckListBox.FHeaderColor"/>
<element name="TCustomCheckListBox.FItemDataOffset"/>
<element name="TCustomCheckListBox.FOnClickCheck"/>
<!-- deprecated in 3.99 -->
<element name="TCustomCheckListBox.FOnItemClick"/>
<element name="TCustomCheckListBox.GetChecked">
<short>Gets the value for the indexed Checked property.</short>
<descr/>
<seealso>
<link id="TCustomCheckListBox.Checked"/>
</seealso>
</element>
<element name="TCustomCheckListBox.GetChecked.Result">
<short>Value for the property.</short>
</element>
<element name="TCustomCheckListBox.GetChecked.AIndex">
<short>Ordinal position in Items for the affected entry.</short>
</element>
<element name="TCustomCheckListBox.GetHeader">
<short>Gets value for the indexed Header property.</short>
<descr/>
<seealso>
<link id="TCustomCheckListBox.Header"/>
</seealso>
</element>
<element name="TCustomCheckListBox.GetHeader.Result">
<short>Value for the property.</short>
</element>
<element name="TCustomCheckListBox.GetHeader.AIndex">
<short>Ordinal position in Items for the affected entry.</short>
</element>
<element name="TCustomCheckListBox.GetItemEnabled">
<short>Gets the value for the indexed ItemEnabled property.</short>
<descr/>
<seealso>
<link id="TCustomCheckListBox.ItemEnabled"/>
</seealso>
</element>
<element name="TCustomCheckListBox.GetItemEnabled.Result">
<short>Value for the property.</short>
</element>
<element name="TCustomCheckListBox.GetItemEnabled.AIndex">
<short>Ordinal position in Items for the affected entry.</short>
</element>
<element name="TCustomCheckListBox.GetState">
<short>Gets the value for the indexed State property.</short>
<descr/>
<seealso>
<link id="TCustomCheckListBox.State"/>
</seealso>
</element>
<element name="TCustomCheckListBox.GetState.Result">
<short>Value for the property.</short>
</element>
<element name="TCustomCheckListBox.GetState.AIndex">
<short>Ordinal position in Items for the affected entry.</short>
</element>
<element name="TCustomCheckListBox.SetChecked">
<short>Sets the value for the indexed Checked property.</short>
<descr/>
<seealso>
<link id="TCustomCheckListBox.Checked"/>
</seealso>
</element>
<element name="TCustomCheckListBox.SetChecked.AIndex">
<short>
Ordinal position in Items for the check box updated in the method.
</short>
</element>
<element name="TCustomCheckListBox.SetChecked.AValue">
<short>New value for the property.</short>
</element>
<element name="TCustomCheckListBox.SendItemState">
<short>
Notifies the widget set class when the state for the specified item has been
changed.
</short>
<descr>
<remark>
No actions are performed in the method if a handle has not been allocated for
the control.
</remark>
</descr>
<seealso>
<link id="TCustomListBox.HandleAllocated"/>
<link id="TWSCustomCheckListBoxClass"/>
</seealso>
</element>
<element name="TCustomCheckListBox.SendItemState.AIndex">
<short>Ordinal position in Items for the affected entry.</short>
</element>
<element name="TCustomCheckListBox.SendItemState.AState">
<short>Check box state applied to the item.</short>
</element>
<element name="TCustomCheckListBox.SendItemEnabled">
<short>
Notifies the widget set class when the Enabled state for the specified item
has been changed.
</short>
<descr>
<remark>
No actions are performed in the method if a handle has not been allocated for
the control.
</remark>
</descr>
<seealso>
<link id="TCustomListBox.HandleAllocated"/>
<link id="TWSCustomCheckListBoxClass"/>
</seealso>
</element>
<element name="TCustomCheckListBox.SendItemEnabled.AIndex">
<short>Ordinal position in Items for the affected entry.</short>
</element>
<element name="TCustomCheckListBox.SendItemEnabled.AEnabled">
<short>Enabled state applied to the item.</short>
</element>
<element name="TCustomCheckListBox.SendItemHeader">
<short>
Notifies the widget set class when the specified item should be drawn as a
header instead of a check box.
</short>
<descr>
<remark>
No actions are performed in the method if a handle has not been allocated for
the control.
</remark>
</descr>
<seealso>
<link id="TCustomListBox.HandleAllocated"/>
<link id="TWSCustomCheckListBoxClass"/>
</seealso>
</element>
<element name="TCustomCheckListBox.SendItemHeader.AIndex">
<short>Ordinal position in Items for the affected entry.</short>
</element>
<element name="TCustomCheckListBox.SendItemHeader.AHeader">
<short>
<b>True</b> when the item is a header; <b>False</b> when it is a check box.
</short>
</element>
<element name="TCustomCheckListBox.DoChange">
<short>
Performs actions needed when an entry in Items is changed using the keyboard
or mouse.
</short>
<descr>
<p>
<var>DoChange</var> is a procedure used to respond to the LCL
<var>LM_CHANGED</var> message, and performs actions needed when an entry in
<var>Items</var> is changed using the keyboard or mouse. DoChange calls
<var>ClickCheck</var> to signal the <var>OnClickCheck</var> event handler
(when assigned). It also calls the <var>ItemClick</var> method to signal the
<var>OnItemClick</var> event handler (when assigned).
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.ClickCheck"/>
<link id="TCustomCheckListBox.ItemClick"/>
<link id="TCustomCheckListBox.OnClickCheck"/>
<link id="TCustomCheckListBox.OnItemClick"/>
</seealso>
</element>
<element name="TCustomCheckListBox.DoChange.Msg">
<short>LCL message processed and applied in the method.</short>
</element>
<element name="TCustomCheckListBox.SetHeader">
<short>Sets the value for the indexed Header property.</short>
<descr/>
<seealso>
<link id="TCustomCheckListBox.Header"/>
</seealso>
</element>
<element name="TCustomCheckListBox.SetHeader.AIndex">
<short>Ordinal position in Items for the property value.</short>
</element>
<element name="TCustomCheckListBox.SetHeader.AValue">
<short>
Value for the property; <b>True</b> indicates a header, and <b>False</b>
indicates a check box.
</short>
</element>
<element name="TCustomCheckListBox.SetHeaderBackgroundColor"/>
<element name="TCustomCheckListBox.SetHeaderBackgroundColor.AValue"/>
<element name="TCustomCheckListBox.SetHeaderColor"/>
<element name="TCustomCheckListBox.SetHeaderColor.AValue"/>
<element name="TCustomCheckListBox.SetItemEnabled">
<short>Sets the value for the indexed ItemEnabled property.</short>
<descr/>
<seealso>
<link id="TCustomCheckListBox.ItemEnabled"/>
</seealso>
</element>
<element name="TCustomCheckListBox.SetItemEnabled.AIndex">
<short>Ordinal position in Items for the property value.</short>
</element>
<element name="TCustomCheckListBox.SetItemEnabled.AValue">
<short>
New value for the property; <b>True</b> indicates a header, and <b>False</b>
indicates a check box.
</short>
</element>
<element name="TCustomCheckListBox.SetState">
<short>Sets the value for the indexed State property.</short>
<descr/>
<seealso>
<link id="TCustomCheckListBox.State"/>
</seealso>
</element>
<element name="TCustomCheckListBox.SetState.AIndex">
<short>Ordinal position in Items for the new property value.</short>
</element>
<element name="TCustomCheckListBox.SetState.AValue">
<short>New value for the property.</short>
</element>
<element name="TCustomCheckListBox.WSRegisterClass" link="#lcl.lclclasses.TLCLComponent.WSRegisterClass"/>
<element name="TCustomCheckListBox.AssignItemDataToCache">
<short>
Stores the data for an item at the specified position in the cache for item
data.
</short>
<descr/>
<seealso></seealso>
</element>
<element name="TCustomCheckListBox.AssignItemDataToCache.AIndex">
<short>Ordinal position for the entry in Items stored in the method.</short>
</element>
<element name="TCustomCheckListBox.AssignItemDataToCache.AData">
<short>Pointer to the item data stored in the cache.</short>
</element>
<element name="TCustomCheckListBox.AssignCacheToItemData">
<short>
Retrieves data for an item at the specified position from the cache for item
data.
</short>
<descr/>
<seealso></seealso>
</element>
<element name="TCustomCheckListBox.AssignCacheToItemData.AIndex">
<short>Ordinal position for the item updated from the item data cache.</short>
</element>
<element name="TCustomCheckListBox.AssignCacheToItemData.AData">
<short>Pointer to the data retrieved in the method.</short>
</element>
<element name="TCustomCheckListBox.DrawItem">
<short>
Adjusts the drawing area for the specified item, and renders it on the
control.
</short>
<descr>
<p>
<var>DrawItem</var> is an overridden procedure used to render the item
specified in <var>AIndex</var> to the drawing area in <var>ARect</var>.
DrawItem ensures that sufficient space is reserved for the check box drawn
for an item on the list box.
</p>
<p>
The <var>Header</var> property determines whether a check box is required for
the item, and <var>GetCheckWidth</var> is called to get the width for the
check box when needed. <var>ARect</var> is updated to increase or decrease
the horizontal boundary depending on the value in
<var>UseRightToLeftAlignment</var>; The right boundary is decremented for
RTL, and the left boundary is incremented for LTR.
</p>
<p>
DrawItem calls the inherited method to render the item on the list box for
the control.
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.GetCheckWidth"/>
<link id="#lcl.stdctrls.TCustomListBox.Items">TCustomListBox.Items</link>
</seealso>
</element>
<element name="TCustomCheckListBox.DrawItem.AIndex">
<short>Ordinal position in Items for the entry drawn in the method.</short>
</element>
<element name="TCustomCheckListBox.DrawItem.ARect">
<short>TRectangle with the drawing area for the item.</short>
</element>
<element name="TCustomCheckListBox.DrawItem.State">
<short>TOwnerDrawState for Items in the control.</short>
</element>
<element name="TCustomCheckListBox.GetCachedDataSize">
<short>
Gets the data size for a TCachedItemData entry in the item cache.
</short>
<descr>
<p>
<var>GetCachedDataSize</var> is an overridden <var>Integer</var> function
used to get the data size for a <var>TCachedItemData</var> entry in the item
data cache. The return value contains the number of bytes needed for the
<var>TCachedItemData</var> entry including the offset in the cache.
</p>
</descr>
<seealso></seealso>
</element>
<element name="TCustomCheckListBox.GetCachedDataSize.Result">
<short>Number of bytes required for cached item data.</short>
</element>
<element name="TCustomCheckListBox.GetCheckWidth">
<short>
Gets the width required for the check box drawn for Items on the control.
</short>
<descr/>
<seealso></seealso>
</element>
<element name="TCustomCheckListBox.GetCheckWidth.Result">
<short>Width needed to draw a check box.</short>
</element>
<element name="TCustomCheckListBox.DefineProperties" link="#lcl.controls.TControl.DefineProperties"/>
<element name="TCustomCheckListBox.DefineProperties.Filer" link="#lcl.controls.TControl.DefineProperties.Filer"/>
<element name="TCustomCheckListBox.ReadData">
<short>
Reads the data for the control from the specified stream.
</short>
<descr>
<p>
<var>ReadData</var> is a procedure used to read the data for Items in the
control from the specified <var>TStream</var> instance.
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.WriteData"/>
</seealso>
</element>
<element name="TCustomCheckListBox.ReadData.Stream">
<short>TStream instance with the data read in the method.</short>
</element>
<element name="TCustomCheckListBox.WriteData">
<short>
Writes data for the control to the specified stream.
</short>
<descr>
<p>
<var>WriteData</var> is a procedure used write data for the control to the
<var>TStream</var> instance.
</p>
</descr>
<seealso>
</seealso>
</element>
<element name="TCustomCheckListBox.WriteData.Stream">
<short>
TStream instance where data for the control is written in the method.
</short>
</element>
<element name="TCustomCheckListBox.ClickCheck">
<short>
Performs actions needed when a value in the control is about to change.
</short>
<descr>
<p>
<var>ClickCheck</var> is a method used to perform actions needed when a value
in the control is about to change.
</p>
<p>
ClickCheck signals the <var>OnClickCheck</var> event handler (when assigned)
using the current class instance as the object for the event notification.
Use <var>OnClickCheck</var> to implement the actions needed when the control
has been changed.
</p>
<p>
ClickCheck is called when the <var>LM_CHANGED</var> message is handled for
the control, and occurs prior to calling the <var>ItemClick</var> method
where the <var>OnItemClick</var> event handler is signalled.
</p>
<p>
ClickCheck is also called from the <var>KeyDown</var> method when the
<b>Space</b> key has been pressed while the control has focus. It is called
after <var>ItemIndex</var> has been range adjusted (when needed) and the
inherited <var>Click</var> method is called. In addition, the value in
<var>Checked</var> has already been toggled before the method is called.
ClickCheck is not called for the keystroke when the check box item in
ItemIndex is not enabled.
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.OnClickCheck"/>
<link id="TCustomCheckListBox.ItemClick"/>
<link id="TCustomCheckListBox.OnItemClick"/>
<link id="TCustomCheckListBox.KeyDown"/>
<link id="TCustomCheckListBox.Checked"/>
<link id="TCustomCheckListBox.ItemEnabled"/>
</seealso>
</element>
<element name="TCustomCheckListBox.ItemClick">
<short>
Deprecated. Performs actions when the specified check box has been changed
using the mouse or the keyboard.
</short>
<descr>
<p>
<var>ItemClick</var> is a method used to perform actions need when the value
for the check box item in <var>AIndex</var> has been changed. AIndex is the
ordinal position for the check box in the Items for the control. ItemClick
signals the <var>OnItemClick</var> event handler (when assigned) using the
current class instance and the value in AIndex as arguments.
</p>
<p>
ItemClick is called when the <var>LM_CHANGED</var> message is handled for the
control, and occurs after the <var>ClickCheck</var> method has been called to
signal the <var>OnClickCheck</var> event handler.
</p>
<p>
ItemClick is also called from the <var>KeyDown</var> method when the
<b>Space</b> key has been pressed while the control is focused. It occurs
after the value in <var>ItemIndex</var> is range adjusted (if needed) and the
inherited <var>Click</var> method has been called. In addition, the value in
<var>Checked</var> has already been toggled before the method is called.
ItemClick is not called for the key event when the check box item in
ItemIndex is not enabled.
</p>
</descr>
<version>
Deprecated in LCL version 3.99; use ClickCheck instead.
</version>
<seealso>
<link id="TCustomCheckListBox.OnItemClick"/>
<link id="TCustomCheckListBox.ClickCheck"/>
<link id="TCustomCheckListBox.OnClickCheck"/>
<link id="TCustomCheckListBox.KeyDown"/>
<link id="TCustomCheckListBox.Checked"/>
<link id="TCustomCheckListBox.ItemEnabled"/>
</seealso>
</element>
<element name="TCustomCheckListBox.ItemClick.AIndex">
<short>Ordinal position for the check box.</short>
</element>
<element name="TCustomCheckListBox.KeyDown">
<short>Handles key down messages for the control.</short>
<descr>
<p>
<var>KeyDown</var> is an overridden method in <var>TCustomCheckListBox</var>
used to handle key down messages for the control. KeyDown ensures that the
value for the current check box is toggled when the <b>Space</b> key is
pressed while the control has focus.
</p>
<p>
This includes setting <var>ItemIndex</var> to <b>0</b> when it has a value
not valid for the <var>Items</var> defined in the control. The inherited
<var>Click</var> method is called if ItemIndex is range adjusted. This
behavior is Delphi (version 7 at least) compatible.
</p>
<p>
If the check box at ItemIndex has its <var>ItemEnabled</var> property set to
<b>True</b>, the value in <var>Checked</var> is toggled. The
<var>ClickCheck</var> and <var>ItemClick</var> methods are called to trigger
the corresponding event handlers. The value in Key is set to
<var>VK_UNKNOWN</var> when the keystroke has been handled in the method.
</p>
<p>
The inherited KeyDown method is called to handle other key down events.
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.Checked"/>
<link id="TCustomCheckListBox.ItemEnabled"/>
<link id="TCustomCheckListBox.ClickCheck"/>
<link id="TCustomCheckListBox.ItemClick"/>
<link id="#lcl.controls.TWinControl.KeyDown">TWinControl.KeyDown</link>
<link id="#lcl.stdctrls.TCustomListBox.Click">TCustomListBox.Click</link>
</seealso>
</element>
<element name="TCustomCheckListBox.KeyDown.Key">
<short>Keystroke examined in the method.</short>
</element>
<element name="TCustomCheckListBox.KeyDown.Shift">
<short>Shift, Control, or Alt modifier for the keystroke.</short>
</element>
<element name="TCustomCheckListBox.FontChanged">
<short>
Recalculates the height for check box Items in the control when the Font is
changed.
</short>
<descr>
<p>
<var>FontChanged</var> is an overridden method in <var>TCustomListBox</var>
used to perform actions when the <var>Font</var> for the control has been
changed. FontChanged calls the inherited method on entry. The value in
<var>ItemHeight</var> is updated (at run-time) when the control
<var>Style</var> is set to <var>lbStandard</var>.
</p>
</descr>
<seealso>
<link id="#lcl.stdctrls.TCustomListBox.ItemHeight">TCustomListBox.ItemHeight</link>
<link id="#lcl.stdctrls.TCustomListBox.Style">TCustomListBox.Style</link>
<link id="#lcl.controls.TWinControl.FontChanged">TWinControl.FontChanged</link>
<link id="#lcl.controls.TControl.Font">TControl.Font</link>
</seealso>
</element>
<element name="TCustomCheckListBox.FontChanged.Sender">
<short>TObject instance for the change notification.</short>
</element>
<element name="TCustomCheckListBox.Create">
<short>Constructor for the class instance.</short>
<descr>
<p>
<var>Create</var> is the overridden constructor for
<var>TCustomCheckListBox</var>. It calls the inherited <var>Create</var>
method, and sets the component style flag for the control. It also calls the
inherited <var>GetCachedDataSize</var> method to determine the storage size
needed for each cached item in the control. Create sets the default values
for the HeaderBackgroundColor and HeaderColor properties.
</p>
</descr>
<seealso>
<link id="#lcl.stdctrls.TCustomListBox.Create">TCustomListBox.Create</link>
<link id="#lcl.stdctrls.TCustomListBox.GetCachedDataSize">TCustomListBox.GetCachedDataSize</link>
</seealso>
</element>
<element name="TCustomCheckListBox.Create.AOwner">
<short>Owner of the class instance.</short>
</element>
<element name="TCustomCheckListBox.CalculateStandardItemHeight">
<short>
Calculates the height for an item displayed on the check list control.
</short>
<descr>
<p>
<var>CalculateStandardItemHeight</var> is an overridden method used to
calculate the height for an item on the check list control.
</p>
<p>
CalculateStandardItemHeight calls the inherited method on entry to get the
height for an item using the Canvas and Font in the class instance. The value
is adjusted when needed to the size needed for the SM_CYMENUCHECK system
metric. 2 pixels are added to the value as padding, and it is stored in the
return value for the method.
</p>
<p>
CalculateStandardItemHeight is called from the FontChanged method, and occurs
when the Font size is changed for the control. It is also called when the
LM_MeasureItem is handled in the ancestor class (TCustomListBox).
</p>
<p>
CalculateStandardItemHeight is used when Style is set to a value other than
lbOwnerDrawVariable. Use the <var>OnMeasureItem</var> event handler to
calculate the item height when Style is set to lbOwnerDrawVariable.
</p>
</descr>
<version>
Added in LCL version 3.0 as a replacement for the MeasureItem method.
</version>
<seealso>
<link id="#lcl.stdctrls.TCustomListBox.OnMeasureItem">TCustomListBox.OnMeasureItem</link>
<link id="#lcl.stdctrls.TCustomListBox.CalculateStandardItemHeight">TCustomListBox.CalculateStandardItemHeight</link>
<link id="#lcl.stdctrls.TCustomListBox.Style">TCustomListBox.Style</link>
<link id="#lcl.lclintf.GetSystemMetrics">GetSystemMetrics</link>
</seealso>
</element>
<element name="TCustomCheckListBox.CalculateStandardItemHeight.Result">
<short>
Height in pixels for a check box item on the control.
</short>
</element>
<element name="TCustomCheckListBox.Toggle">
<short>
Toggles the Checked, Unchecked, Grayed state for the specified item in the
control.
</short>
<descr>
<p>
<var>Toggle</var> is a procedure used to toggle the checked, unchecked, or
grayed state for the item at the specified position in Items.
</p>
<p>
Toggle ensures the value in the <var>AllowGrayed</var> property is respected
in the operation. When <var>AllowGrayed</var> is <b>True</b>, the following
order is used for toggling to the next available check box state:
</p>
<ul>
<li>cbUnchecked</li>
<li>cbChecked</li>
<li>cbGrayed</li>
<li>Cycle to cbUnchecked</li>
</ul>
<p>
When <var>AllowGrayed</var> is <b>False</b>, the following order is used for
toggling to the next available check box state:
</p>
<ul>
<li>cbUnchecked</li>
<li>cbChecked</li>
<li>Cycle to cbUnchecked</li>
</ul>
<p>
Use <var>Checked</var> to set a specific item to a specified Boolean checked
state value. Use <var>State</var> to get or set the check box state as a
<var>TCheckBoxState</var> value. Use <var>CheckAll</var> to change the
checked state and disposition for all <var>Items</var> in the control.
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.AllowGrayed"/>
<link id="TCustomCheckListBox.Checked"/>
<link id="TCustomCheckListBox.State"/>
<link id="TCustomCheckListBox.CheckAll"/>
<link id="TCheckBoxState"/>
<link id="#lcl.stdctrls.TCustomListBox.Items">TCustomListBox.Items</link>
</seealso>
</element>
<element name="TCustomCheckListBox.Toggle.AIndex">
<short>Ordinal position of the item state toggled in the method.</short>
</element>
<element name="TCustomCheckListBox.CheckAll">
<short>
Sets the specified values for State, AllowGrayed, and ItemEnabled for all
Items in Control.
</short>
<descr>
<p>
<var>CheckAll</var> is a procedure used to set the specified values for the
<var>State</var>, <var>AllowGrayed</var>, and <var>ItemEnabled</var>
properties for all Items in the control. The default value for both
<var>aAllowGrayed</var> and <var>aAllowDisabled</var> is <b>True</b>.
CheckAll iterates over the entries in the <var>Items</var> property and
updates the <var>State</var> property to match the value in the arguments to
the method.
</p>
<p>
Use <var>Checked</var> to set a specific item to a specified Boolean checked
state value. Use <var>State</var> to get or set the check box state as a
<var>TCheckBoxState</var> value. Use <var>ItemEnabled</var> to get or set the
enabled state for a specific entry in <var>Items</var>.
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.Checked"/>
<link id="TCustomCheckListBox.State"/>
<link id="TCustomCheckListBox.ItemEnabled"/>
<link id="TCustomCheckListBox.AllowGrayed"/>
<link id="TCheckBoxState"/>
<link id="#lcl.stdctrls.TCustomListBox.Items">TCustomListBox.Items</link>
</seealso>
</element>
<element name="TCustomCheckListBox.CheckAll.AState">
<short>Check box state applied to Items in the control`</short>
</element>
<element name="TCustomCheckListBox.CheckAll.aAllowGrayed">
<short>AllowGrayed property value applied to Items in the control.</short>
</element>
<element name="TCustomCheckListBox.CheckAll.aAllowDisabled">
<short>ItemEnabled property value applied to Items in the control.</short>
</element>
<element name="TCustomCheckListBox.Exchange">
<short>
Swaps the values for the State properties in the Items at the specified
ordinal positions.
</short>
<descr/>
<seealso/>
</element>
<element name="TCustomCheckListBox.Exchange.AIndex1">
<short>Ordinal position for the first item affected in the method.</short>
</element>
<element name="TCustomCheckListBox.Exchange.AIndex2">
<short>Ordinal position for the second item affected in the method.</short>
</element>
<element name="TCustomCheckListBox.AllowGrayed">
<short>
Indicates if the item can use the "grayed" (or unselectable) check box state.
</short>
<descr>
<p>
<var>AllowGrayed</var> is a <var>Boolean</var> property which indicates if
<var>Items</var> in the control can use the "grayed" (or unselectable) check
box <var>State</var>. The default value for the property is <b>False</b>, and
indicates that only Checked and Unchecked values can be used in the
<var>State</var> property.
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.State"/>
<link id="TCustomCheckListBox.ItemEnabled"/>
</seealso>
</element>
<element name="TCustomCheckListBox.Checked">
<short>
Provides indexed access to the Boolean Checked or Unchecked state for Items
in the control.
</short>
<descr>
<p>
<var>Checked</var> is an indexed <var>Boolean</var> property which provides
access to the Checked or Unchecked state for <var>Items</var> in the control.
The value for the property is <b>True</b> when State contains any value other
than <var>cbUnchecked</var>. Setting the value for the property updates
<var>State</var> to contain either <var>cbChecked</var> (when <b>True</b>) or
<var>cbUnchecked</var> (when <b>False</b>).
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.State"/>
<link id="TCheckBoxState"/>
</seealso>
</element>
<element name="TCustomCheckListBox.Checked.AIndex">
<short>Ordinal position for the entry in Items affected in the method.</short>
</element>
<element name="TCustomCheckListBox.Header">
<short>
Provides indexed access to header usage status for Items in the control.
</short>
<descr>
<p>
<var>Header</var> is an indexed <var>Boolean</var> property which indicates
if the specified item is used as a header (instead of a check box) in the
control. When the property contains <b>True</b>, the item is rendered as text
and does not include any check box behavior.
</p>
<p>
Reading the value in <var>Header</var> causes the <var>CheckIndex</var>
method to be called to validate the value in Index. If a handle has been
allocated for the control, the GetHeader method in the widget set class is
called to get the value for the property. Otherwise, the cached item data for
the control is examined to get the property value.
</p>
<p>
Setting a new value for the property causes the <var>CheckIndex</var> method
to be called to validate the value in Index. If a handle has been allocated
for the control, the SendItemHeader method is called to set the value for the
property. Otherwise, the cached item data for the control is updated.
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.DrawItem"/>
<link id="TCustomListBox.CheckIndex"/>
<link id="#lcl.stdctrls.TCustomListBox.Items">TCustomListBox.Items</link>
</seealso>
</element>
<element name="TCustomCheckListBox.Header.Index">
<short>Ordinal position for the item affected in the method.</short>
</element>
<element name="TCustomCheckListBox.HeaderBackgroundColor">
<short>
Color used to paint the background for Header items on the control.
</short>
<descr>
<p>
<var>HeaderBackgroundColor</var> is a <var>TColor</var> property with the
color used to paint the background for a header item on the control. It is
used in the widgetset class when a header item is rendered on the control.
</p>
<p>
The default value for the property is clInfoBk. Changing the value for the
property causes the control to be redrawn.
</p>
<p>
Use HeaderColor to set the font color for header items on the control.
</p>
<p>
Use the public Header property to identify whether a value in Items is
displayed as a non-checkable entry in the list drawn using the colors in
HeaderBackgroundColor and HeaderColor.
</p>
</descr>
<version>
Added in LCL version 3.0.
</version>
<seealso>
<link id="TCustomCheckListBox.HeaderColor"/>
<link id="TCustomCheckListBox.Header"/>
</seealso>
</element>
<element name="TCustomCheckListBox.HeaderColor">
<short>
Color used for the text on a Header item.
</short>
<descr>
<p>
<var>HeaderColor</var> is a <var>TColor</var> property with the color for the
font used to render the text on a Header item. It is used in the widgetset
class when a header item is rendered on the control.
</p>
<p>
The default value for the property is clInfoText. Changing the value for the
property causes the control to be redrawn.
</p>
<p>
Use the HeaderBackgroundColor property to set the background color for a
header item on the control.
</p>
<p>
Use the public Header property to identify whether a value in Items is
displayed as a non-checkable entry in the list drawn using the colors in
HeaderBackgroundColor and HeaderColor.
</p>
</descr>
<version>
Added in LCL version 3.0.
</version>
<seealso>
<link id="TCustomCheckListBox.HeaderBackgroundColor"/>
<link id="TCustomCheckListBox.Header"/>
</seealso>
</element>
<element name="TCustomCheckListBox.ItemEnabled">
<short>
Provides indexed access to the enabled state for Items in the control.
</short>
<descr>
<p>
<var>ItemEnabled</var> is an indexed <var>Boolean</var> property which
provides access to the enabled state for Items in the control. When the
property value is <b>True</b>, the item can be selected to change its
<var>State</var> or <var>Checked</var> values. When it is <b>False</b>, it
behaves as if the check box has been disabled for the item.
</p>
<p>
Reading the value for the property cause the <var>CheckIndex</var> method to
be called to validate the value in Index. If a handle has been allocated for
the control, the GetItemEnabled method in the widget set class is called to
get the value for the property. Otherwise, the disabled state in cached item
data is examined to get the property value.
</p>
<p>
Setting the value for the property causes the <var>CheckIndex</var> method to
be called to validate the value in Index. If a handle has been allocated for
the control, the SetItemEnabled method in the widget set class is called to
set the value for the property. Otherwise, the disabled state in cached item
data is update with the new property value.
</p>
<p>
Use the Enabled property to indicate whether the check list box control can
be updated.
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.AllowGrayed"/>
<link id="#lcl.stdctrls.TCustomListBox.Items">TCustomListBox.Items</link>
<link id="#lcl.controls.TControl.Enabled">TControl.Enabled</link>
</seealso>
</element>
<element name="TCustomCheckListBox.ItemEnabled.AIndex">
<short>Ordinal position for the item affected in the method.</short>
</element>
<element name="TCustomCheckListBox.State">
<short>
Provides indexed access to the TCheckBoxState for Items in the control.
</short>
<descr>
<p>
<var>State</var> is an indexed <var>TCheckBoxState</var> property which
provides access to the check box state for Items in the control. The
<var>TCheckBoxState</var> enumeration value indicates whether the specified
item is in a Checked, Unchecked, or Grayed state.
</p>
<p>
Reading the value in State causes the <var>CheckIndex</var> method to be
called to validate the value in AIndex. If a handle has been allocated for
the control, the GetState method in the widget set class is called to get the
value for the property. Otherwise, the cached item data for the control is
examined to get the value for the property.
</p>
<p>
Setting the value in State causes the <var>CheckIndex</var> method to be
called to validate the value in AIndex. If a handle has been allocated for
the control, the <var>SendItemState</var> method is called to set the value
for the property in the widget set class. Otherwise, the cached item data for
the control is updated with the new property value.
</p>
<p>
Use <var>Checked</var> to get or set the check box state for an item in the
control using a <var>Boolean</var> value. Use <var>CheckAll</var> to set the
check box state for all Items in the control. Use <var>Toggle</var> to select
the next check box state for an item in the control.
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.ItemEnabled"/>
<link id="TCustomCheckListBox.Checked"/>
<link id="TCustomCheckListBox.CheckAll"/>
<link id="TCustomCheckListBox.Toggle"/>
<link id="#lcl.stdctrls.TCustomListBox.Items">TCustomListBox.Items</link>
</seealso>
</element>
<element name="TCustomCheckListBox.State.AIndex">
<short>Ordinal position for the Item examined in the property.</short>
</element>
<element name="TCustomCheckListBox.OnClickCheck">
<short>
Event handler signalled when a check box in the control has been changed.
</short>
<descr>
<p>
<var>OnClickCheck</var> is a <var>TNotifyEvent</var> property with the event
handler signalled when the check box state for one of the list items has been
changed.
</p>
<p>
Applications must implement and assign a procedure using the TNotifyEvent
signature to respond to the notification. The Sender argument contains the
TCheckListBox instance for the notification, and allows access to its
properties and methods.
</p>
<p>
<var>OnClickCheck</var> is signalled (when assigned) from the
<var>ClickCheck</var> method. ClickCheck is called from methods like
<var>DoChange</var> (private) and <var>KeyDown</var>. This causes
OnClickCheck to be signalled when the mouse is clicked on a check box, and
when the value for the current item is Toggled using the Space key.
</p>
<p>
OnClickCheck is signalled before other event handlers like
<var>OnItemClick</var>, <var>OnSelectionChange</var>, and <var>OnClick</var>.
</p>
<p>
OnClickCheck and OnItemClick are not signalled when the checked state for an
item is changed in code using <var>Checked</var>, <var>State</var>,
<var>CheckAll</var>, or <var>Toggle</var>.
</p>
<p>
Use <var>OnItemClick</var> for the event signalled with the item index for
the affected check box in the control.
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox.ClickCheck"/>
<link id="TCustomCheckListBox.KeyDown"/>
<link id="TCustomCheckListBox.OnItemClick"/>
<link id="#lcl.stdctrls.TCustomListBox.OnSelectionChange">TCustomListBox.OnSelectionChange</link>
<link id="#lcl.stdctrls.TCustomListBox.OnClick">TCustomListBox.OnClick</link>
<link id="#rtl.classes.TNotifyEvent">TNotifyEvent</link>
</seealso>
</element>
<element name="TCustomCheckListBox.OnItemClick">
<short>
Deprecated. Event handler signalled when the check box state for a specific
item has been changed.
</short>
<descr>
<p>
<var>OnItemClick</var> is a <var>TCheckListClicked</var> property with the
event handler signalled when the check box state has been changed for a
specific item in the check list control.
</p>
<p>
<var>OnItemClick</var> can be used to perform actions needed when the check
box <var>State</var> has been toggled. Arguments passed to the event handler
identify the check list control (Sender) and the position of the check box
(Index) in the Items for the control.
</p>
<p>
Applications must assign an object procedure that implements the signature
for the event handler to respond to the notification.
</p>
<p>
<var>OnItemClick</var> is signalled from the <var>ItemClick</var> method when
the control executes its <var>DoChange</var> (private) or <var>KeyDown</var>
methods. This means that the event is signalled when a check box is clicked
with the mouse, and when the Space key is pressed on a selected item in the
control.
</p>
<p>
<var>OnItemClick</var> is signalled after the <var>OnClickCheck</var> event
handler, and before event handlers like <var>OnSelectionChange</var> and
<var>OnClick</var>.
</p>
<p>
OnClickCheck and OnItemClick are not signalled when the checked state for an
item is changed in code using <var>Checked</var>, <var>State</var>,
<var>CheckAll</var>, or <var>Toggle</var>.
</p>
<p>
Use <var>OnClickCheck</var> to perform control-level actions needed when a
check box is changed.
</p>
</descr>
<version>
Deprecated in LCL version 3.99; use OnClickCheck instead.
</version>
<seealso>
<link id="TCustomCheckListBox.ItemClick"/>
<link id="TCustomCheckListBox.KeyDown"/>
<link id="TCustomCheckListBox.OnClickCheck"/>
<link id="TCheckListClicked"/>
<link id="#lcl.stdctrls.TCustomListBox.Items">TCustomListBox.Items</link>
<link id="#lcl.stdctrls.TCustomListBox.ItemIndex">TCustomListBox.ItemIndex</link>
<link id="#lcl.stdctrls.TCustomListBox.OnSelectionChange">TCustomListBox.OnSelectionChange</link>
<link id="#lcl.stdctrls.TCustomListBox.OnClick">TCustomListBox.OnClick</link>
</seealso>
</element>
<element name="TCheckListBox">
<short>
<var>TCheckListBox</var> implements a list box with check boxes for its items.
</short>
<descr>
<p>
<var>TCheckListBox</var> is a <var>TCustomCheckListBox</var> descendant which
implements a scrollable list box which displays check boxes for each of its
items.
</p>
<p>
Use the <var>Items</var> property to define the caption for entries that
appear in the control. Each of the Items can have a state of checked or
unchecked (or "grayed" when <var>AllowGrayed</var> is set). Use the
properties and methods such as <var>Toggle</var>, <var>CheckAll</var>,
<var>Checked</var>, <var>ItemEnabled</var>, and <var>State</var> to maintain
the items in the control.
</p>
<p>
It provides the scrolling, selection, and drawing styles inherited from the
ancestor class. It also includes the ability to render its items as a check
box, and to respond to mouse or keyboard events when an item is toggled.
</p>
<p>
Use the event handlers in the class to perform actions needed when one or
more items are clicked or change their state value. Use
<var>OnItemClick</var> to process item changes individually.
</p>
<p>
<var>TCheckListBox</var> sets the visibility for properties defined in the
ancestor class.
</p>
</descr>
<seealso>
<link id="TCustomCheckListBox"/>
</seealso>
</element>
<element name="TCheckListBox.Align" link="#lcl.controls.TControl.Align"/>
<element name="TCheckListBox.AllowGrayed" link="#lcl.checklst.TCustomCheckListBox.AllowGrayed"/>
<element name="TCheckListBox.Anchors" link="#lcl.controls.TControl.Anchors"/>
<element name="TCheckListBox.BidiMode" link="#lcl.controls.TControl.BiDiMode"/>
<element name="TCheckListBox.BorderSpacing" link="#lcl.controls.TControl.BorderSpacing"/>
<element name="TCheckListBox.BorderStyle" link="#lcl.controls.TWinControl.BorderStyle"/>
<element name="TCheckListBox.Color" link="#lcl.controls.TControl.Color"/>
<element name="TCheckListBox.Columns" link="#lcl.stdctrls.TCustomListBox.Columns"/>
<element name="TCheckListBox.Constraints" link="#lcl.controls.TControl.Constraints"/>
<element name="TCheckListBox.DragCursor" link="#lcl.controls.TControl.DragCursor"/>
<element name="TCheckListBox.DragMode" link="#lcl.controls.TControl.DragMode"/>
<element name="TCheckListBox.ExtendedSelect" link="#lcl.stdctrls.TCustomListBox.ExtendedSelect"/>
<element name="TCheckListBox.Enabled" link="#lcl.controls.TControl.Enabled"/>
<element name="TCheckListBox.Font" link="#lcl.controls.TControl.Font"/>
<element name="TCheckListBox.HeaderBackgroundColor" link="#lcl.checklst.TCustomCheckListBox.HeaderBackgroundColor"/>
<element name="TCheckListBox.HeaderColor" link="#lcl.checklst.TCustomCheckListBox.HeaderColor"/>
<element name="TCheckListBox.IntegralHeight" link="#lcl.stdctrls.TCustomListBox.IntegralHeight"/>
<element name="TCheckListBox.Items" link="#lcl.stdctrls.TCustomListBox.Items"/>
<element name="TCheckListBox.ItemHeight" link="#lcl.stdctrls.TCustomListBox.ItemHeight"/>
<element name="TCheckListBox.ItemIndex" link="#lcl.stdctrls.TCustomListBox.ItemIndex"/>
<element name="TCheckListBox.MultiSelect"
link="#lcl.stdctrls.TCustomListBox.MultiSelect"/>
<element name="TCheckListBox.Options"
link="#lcl.stdctrls.TCustomListBox.Options"/>
<element name="TCheckListBox.ParentBidiMode"
link="#lcl.controls.TControl.ParentBiDiMode"/>
<element name="TCheckListBox.ParentColor" link="#lcl.controls.TControl.ParentColor"/>
<element name="TCheckListBox.ParentFont" link="#lcl.controls.TControl.ParentFont"/>
<element name="TCheckListBox.ParentShowHint" link="#lcl.controls.TControl.ParentShowHint"/>
<element name="TCheckListBox.PopupMenu" link="#lcl.controls.TControl.PopupMenu"/>
<element name="TCheckListBox.ShowHint" link="#lcl.controls.TControl.ShowHint"/>
<element name="TCheckListBox.Sorted" link="#lcl.stdctrls.TCustomListBox.Sorted"/>
<element name="TCheckListBox.Style" link="#lcl.stdctrls.TCustomListBox.Style"/>
<element name="TCheckListBox.TabOrder" link="#lcl.controls.TWinControl.TabOrder"/>
<element name="TCheckListBox.TabStop" link="#lcl.controls.TWinControl.TabStop"/>
<element name="TCheckListBox.TopIndex" link="#lcl.stdctrls.TCustomListBox.TopIndex"/>
<element name="TCheckListBox.Visible" link="#lcl.controls.TControl.Visible"/>
<element name="TCheckListBox.OnChangeBounds"
link="#lcl.controls.TControl.OnChangeBounds"/>
<element name="TCheckListBox.OnClick" link="#lcl.controls.TControl.OnClick"/>
<element name="TCheckListBox.OnClickCheck" link="#lcl.checklst.TCustomCheckListBox.OnClickCheck"/>
<element name="TCheckListBox.OnContextPopup"
link="#lcl.controls.TControl.OnContextPopup"/>
<element name="TCheckListBox.OnDblClick" link="#lcl.controls.TControl.OnDblClick"/>
<element name="TCheckListBox.OnDrawItem" link="#lcl.stdctrls.TCustomListBox.OnDrawItem"/>
<element name="TCheckListBox.OnDragDrop" link="#lcl.controls.TControl.OnDragDrop"/>
<element name="TCheckListBox.OnDragOver" link="#lcl.controls.TControl.OnDragOver"/>
<element name="TCheckListBox.OnEndDrag" link="#lcl.controls.TControl.OnEndDrag"/>
<element name="TCheckListBox.OnEnter" link="#lcl.controls.TWinControl.OnEnter"/>
<element name="TCheckListBox.OnExit" link="#lcl.controls.TWinControl.OnExit"/>
<element name="TCheckListBox.OnItemClick" link="#lcl.checklst.TCustomCheckListBox.OnItemClick"/>
<element name="TCheckListBox.OnKeyPress" link="#lcl.controls.TWinControl.OnKeyPress"/>
<element name="TCheckListBox.OnKeyDown" link="#lcl.controls.TWinControl.OnKeyDown"/>
<element name="TCheckListBox.OnKeyUp" link="#lcl.controls.TWinControl.OnKeyUp"/>
<element name="TCheckListBox.OnMeasureItem" link="#lcl.stdctrls.TCustomListBox.OnMeasureItem"/>
<element name="TCheckListBox.OnMouseDown" link="#lcl.controls.TControl.OnMouseDown"/>
<element name="TCheckListBox.OnMouseEnter" link="#lcl.controls.TControl.OnMouseEnter"/>
<element name="TCheckListBox.OnMouseLeave" link="#lcl.controls.TControl.OnMouseLeave"/>
<element name="TCheckListBox.OnMouseMove" link="#lcl.controls.TControl.OnMouseMove"/>
<element name="TCheckListBox.OnMouseUp" link="#lcl.controls.TControl.OnMouseUp"/>
<element name="TCheckListBox.OnMouseWheel" link="#lcl.controls.TControl.OnMouseWheel"/>
<element name="TCheckListBox.OnMouseWheelDown" link="#lcl.controls.TControl.OnMouseWheelDown"/>
<element name="TCheckListBox.OnMouseWheelUp"
link="#lcl.controls.TControl.OnMouseWheelUp"/>
<element name="TCheckListBox.OnMouseWheelHorz"
link="#lcl.controls.TControl.OnMouseWheelHorz"/>
<element name="TCheckListBox.OnMouseWheelLeft"
link="#lcl.controls.TControl.OnMouseWheelLeft"/>
<element name="TCheckListBox.OnMouseWheelRight"
link="#lcl.controls.TControl.OnMouseWheelRight"/>
<element name="TCheckListBox.OnResize" link="#lcl.controls.TControl.OnResize"/>
<element name="TCheckListBox.OnSelectionChange" link="#lcl.stdctrls.TCustomListBox.OnSelectionChange"/>
<element name="TCheckListBox.OnShowHint" link="#lcl.controls.TControl.OnShowHint"/>
<element name="TCheckListBox.OnStartDrag" link="#lcl.controls.TControl.OnStartDrag"/>
<element name="TCheckListBox.OnUTF8KeyPress" link="#lcl.controls.TWinControl.OnUTF8KeyPress"/>
<element name="Register">
<short>Adds TCheckListBox to the Lazarus IDE.</short>
<descr>
<p>
<var>Register</var> is a procedure used to add the <var>TCheckListBox</var>
class to the <b>Additional</b> tab in the Lazarus IDE.
</p>
</descr>
<seealso/>
</element>
</module>
<!-- CheckLst -->
</package>
</fpdoc-descriptions>