<?xml version="1.0" encoding="UTF-8"?>
<fpdoc-descriptions>
  <package name="LCL">
    <!--
  ====================================================================
    StdCtrls
  ====================================================================
-->
    <module name="StdCtrls">
      <short>Several standard controls used in most Lazarus forms</short>
      <descr/>
      <!-- unresolved type reference Visibility: default -->
      <element name="Classes">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="SysUtils">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="LCLStrConsts">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="LCLType">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="LCLProc">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="LMessages">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="Graphics">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="GraphType">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="ExtendedStrings">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="LCLIntf">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="ClipBrd">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="ActnList">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="Controls">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="Forms">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- unresolved type reference Visibility: default -->
      <element name="Menus">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <!-- enumeration type Visibility: default -->
      <element name="TEditCharCase">
        <short>
          The case of text displayed in an edit box or combobox.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TEditCharCase.ecNormal">
        <short>Normal mode - no conversion.</short>
      </element>
      <element name="TEditCharCase.ecUppercase">
        <short>Converts every entered character to upper case.</short>
      </element>
      <element name="TEditCharCase.ecLowerCase">
        <short>Converts every entered character to lower case.</short>
      </element>
      <!-- enumeration type Visibility: default -->
      <element name="TEchoMode">
        <short>
          How text in the edit box is displayed.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TEchoMode.emNormal">
        <short>Characters are shown unmodified.</short>
      </element>
      <element name="TEchoMode.emNone">
        <short>All characters shown as spaces.</short>
      <notes><note>or nothing displayed at all?</note>
        </notes>
      </element>
      <element name="TEchoMode.emPassword">
        <short>All characters shown as PasswordChar.</short>
      </element>
      <!-- enumeration type Visibility: default -->
      <element name="TScrollStyle">
        <short>The appearance of scroll bars on a control.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TScrollStyle.ssNone">
        <short>No scrollbars.</short>
      </element>
      <element name="TScrollStyle.ssHorizontal">
        <short>A horizontal scrollbar is shown.</short>
      </element>
      <element name="TScrollStyle.ssVertical">
        <short>A vertical scrollbar is shown.</short>
      </element>
      <element name="TScrollStyle.ssBoth">
        <short>Both horizontal and vertical scrollbars are shown.</short>
      </element>
      <element name="TScrollStyle.ssAutoHorizontal">
        <short>A horizontal scrollbar is shown when needed.</short>
      <notes><note>?</note>
        </notes>
      </element>
      <element name="TScrollStyle.ssAutoVertical">
        <short>A vertical scrollbar is shown when needed.</short>
      <notes><note>?</note>
        </notes>
      </element>
      <element name="TScrollStyle.ssAutoBoth">
        <short>Both scrollbars are shown as needed.</short>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- enumeration type Visibility: default -->
      <element name="TScrollCode">
        <short>The scroll action type, as reported by the widget.</short>
        <descr>
          <p>These values must correspond to the SB_xxx values in LCLType.</p>
        </descr>
        <seealso/>
      </element>
      <element name="TScrollCode.scLineUp">
        <short>Scroll one line up (column left).</short>
      </element>
      <element name="TScrollCode.scLineDown">
        <short>Scroll one line down (column right).</short>
      </element>
      <element name="TScrollCode.scPageUp">
        <short>Scroll one page up (left).</short>
      </element>
      <element name="TScrollCode.scPageDown">
        <short>Scroll one page down (right).</short>
      </element>
      <element name="TScrollCode.scPosition">
        <short>Scroll to the specified position.</short>
      </element>
      <element name="TScrollCode.scTrack">
        <short>Scroll tracking to the specified position.</short>
      </element>
      <element name="TScrollCode.scTop">
        <short>Scroll to the top (left) end.</short>
      </element>
      <element name="TScrollCode.scBottom">
        <short>Scroll to the bottom (right) end.</short>
      </element>
      <element name="TScrollCode.scEndScroll">
        <short>Scrolling finished.</short>
      </element>
      <!-- procedure type Visibility: default -->
      <element name="TScrollEvent">
        <short>
          Handler type for scrolling events.</short>
        <descr>
          The handler is called before the new Position is set.
          It can adjust the new position, based on the parameters and the (old) scrollbar.Position.
        </descr>
        <seealso/>
      </element>
      <element name="TScrollEvent.Sender">
        <short>The scrollbar</short>
      <notes><note>?</note>
        </notes>
      </element>
      <element name="TScrollEvent.ScrollCode">
        <short>The scroll action.</short>
      </element>
      <element name="TScrollEvent.ScrollPos">
        <short>The suggested new scroll position. Change this value to implement custom scroll behaviour.</short>
      </element>
      <!-- object Visibility: default -->
      <element name="TCustomScrollBar">
        <short>The base class for <var>TScrollBar</var>.</short>
      </element>
      <element name="TCustomScrollBar.FKind"/>
      <element name="TCustomScrollBar.FPosition"/>
      <element name="TCustomScrollBar.FMin"/>
      <element name="TCustomScrollBar.FMax"/>
      <element name="TCustomScrollBar.FPageSize"/>
      <element name="TCustomScrollBar.FRTLFactor">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TCustomScrollBar.FSmallChange"/>
      <element name="TCustomScrollBar.FLargeChange"/>
      <element name="TCustomScrollBar.FOnChange"/>
      <element name="TCustomScrollBar.FOnScroll"/>
      <!-- procedure Visibility: private -->
      <element name="TCustomScrollBar.DoScroll">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomScrollBar.DoScroll.Message">
        <short/>
      </element>
      <!-- function Visibility: private -->
      <element name="TCustomScrollBar.NotRightToLeft">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomScrollBar.NotRightToLeft.Result">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomScrollBar.SetKind" link="TCustomScrollBar.Kind"/>
      <element name="TCustomScrollBar.SetKind.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomScrollBar.SetMax" link="TCustomScrollBar.Max"/>
      <element name="TCustomScrollBar.SetMax.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomScrollBar.SetMin" link="TCustomScrollBar.Min"/>
      <element name="TCustomScrollBar.SetMin.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomScrollBar.SetPosition" link="TCustomScrollBar.Position"/>
      <element name="TCustomScrollBar.SetPosition.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomScrollBar.SetPageSize" link="TCustomScrollBar.PageSize"/>
      <element name="TCustomScrollBar.SetPageSize.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomScrollBar.CNHScroll">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomScrollBar.CNHScroll.Message">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomScrollBar.CNVScroll">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomScrollBar.CNVScroll.Message">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomScrollBar.CNCtlColorScrollBar">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomScrollBar.CNCtlColorScrollBar.Message">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomScrollBar.WMEraseBkgnd">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomScrollBar.WMEraseBkgnd.Message">
        <short/>
      </element>
      <element name="TCustomScrollBar.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <!-- class function Visibility: default -->
      <element name="TCustomScrollBar.GetControlClassDefaultSize"/>
      <element name="TCustomScrollBar.GetControlClassDefaultSize.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomScrollBar.CreateParams"/>
      <element name="TCustomScrollBar.CreateParams.Params">
        <short>The parameter list.</short>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomScrollBar.CreateWnd">
        <short>
          <var>CreateWnd</var> - calls inherited <var>CreateWnd</var> then initialises various Scroll Info properties</short>
        <descr>
          <p>
            <printshort id="TCustomScrollBar.CreateWnd"/>
          </p>
          <p>The inherited method creates the interface object, sets parameters and assigns the handle</p>
          <p>Then the size of scrollbar, maximum and minimum values, page size and position of scrollbar are set</p>
        </descr>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TWinControl.CreateWnd">TWinControl.CreateWnd</link>
        </seealso>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomScrollBar.Change" link="TCustomScrollBar.OnChange">
        <short>Invokes the OnChange handler.</short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TControl.Changed">TControl.Changed</link>
        </seealso>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomScrollBar.Scroll" link="TCustomScrollBar.OnScroll">
        <short>Invokes the OnScroll handler.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomScrollBar.Scroll.ScrollCode">
        <short>The code used for scrolling - up or down a line, a page, to the top or bottom etc</short>
      </element>
      <element name="TCustomScrollBar.Scroll.ScrollPos">
        <short>The position of the scrolling device</short>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomScrollBar.CalculatePreferredSize"/>
      <element name="TCustomScrollBar.CalculatePreferredSize.PreferredWidth">
        <short/>
      </element>
      <element name="TCustomScrollBar.CalculatePreferredSize.PreferredHeight">
        <short/>
      </element>
      <element name="TCustomScrollBar.CalculatePreferredSize.WithThemeSpace">
        <short/>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCustomScrollBar.Create"/>
      <element name="TCustomScrollBar.Create.AOwner">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomScrollBar.SetParams">
        <short>Defines the Max and Min values, the size of the page and the position of the scroller</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomScrollBar.SetParams.APosition">
        <short/>
      </element>
      <element name="TCustomScrollBar.SetParams.AMin">
        <short/>
      </element>
      <element name="TCustomScrollBar.SetParams.AMax">
        <short/>
      </element>
      <element name="TCustomScrollBar.SetParams.APageSize">
        <short/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomScrollBar.Kind">
        <short>The scrollbar orientation, horizontal or vertical.</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomScrollBar.LargeChange">
        <short>The distance to scroll on an click beneath the slider.</short>
        <descr>A large change is produced by clicks on the blank area above or below the slider;
          it is rather analogous to the Page Down or Page Up functions of the Keyboard,
          and is typically set up to move the slider and the control contents by a full page (window size).</descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomScrollBar.Max">
        <short>The maximum value, for the bottom or rightmost position.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomScrollBar.Min">
        <short>The minimum value, for the top or leftmost position.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomScrollBar.PageSize">
        <short>The size of the slider, relative to the total scroll range.</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomScrollBar.Position">
        <short>The position value of the slider in the ScrollBar.</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomScrollBar.SmallChange">
        <short>
          The distance to scroll on an click on the up/down buttons.</short>
        <descr>
          A small change occurs when the up or down buttons are clicked, or by up/down keyboard commands.
          It is typically used for scrolling by a few pixels, or by a single row or column of text.
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomScrollBar.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <!-- property Visibility: public -->
      <element name="TCustomScrollBar.OnChange">
        <short>
          Event handler for any change of the Position.</short>
        <descr/>
        <seealso><link id="TCustomScrollBar.OnScroll"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomScrollBar.OnScroll">
        <short>Handler for a scrolling event by mouse, keyboard or code.</short>
        <descr>
          <p>The handler can override the new position, based on the scrolling parameters.</p>
        </descr>
      </element>
      <!-- object Visibility: default -->
      <element name="TScrollBar">
        <short>
          A control that allows the user to scroll the content of an associated control by moving an slider.</short>
        <descr>
          <p>A control that allows the user to scroll the content of a window, by moving an slider.
          </p><p>
            It appears as a long rectangular track bar, within which a smaller contrasting block or slider can move up and down (or from side to side in a horizontal ScrollBar).
          </p><p>
            It has small triangular indicators or pointers on one or both ends of the bar, depending on the widgetset.
            Clicking with the mouse on one of the pointers moves the slider a small distance (<var>SmallChange</var>) in the specified direction.
          </p><p>
            Clicking with the mouse in the blank area of the scrollbar above or below the slider makes the slider move by a larger increment (<var>LargeChange</var>).
          </p><p>
            The slider can also be moved by clicking on it with the mouse, and holding down the button while moving the mouse.
            The slider then follows the mouse until the button is released.
          </p><p>
            If the mouse has a scrollwheel, the slider also can be moved by rotating the wheel.
          </p><p>
            The arrow keys or the Page Up/Page Down keys on the keyboard can be used to move the slider, too.
          </p><p>
            The location of the slider along the track is held in the <var>Position</var> property.
            It's the programmer's responsibility to ensure that the content of the window is scrolled to the new Position of the scrollbar.
          </p>
        </descr>
        <seealso>
          <link id="TCustomScrollBar.OnChange"/>
          <link id="HowToUseStdCtrls"/>
        </seealso>
      </element>
      <!-- property Visibility: published -->
      <element name="TScrollBar.Align" link="#LCL.Controls.TControl.Align"/>
      <element name="TScrollBar.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TScrollBar.BidiMode" link="#LCL.Controls.TControl.BiDiMode"/>
      <element name="TScrollBar.BorderSpacing" link="#LCL.Controls.TControl.BorderSpacing"/>
      <element name="TScrollBar.Constraints" link="#LCL.Controls.TControl.Constraints"/>
      <element name="TScrollBar.Ctl3D" link="#LCL.Controls.TControl.Ctl3D"/>
      <element name="TScrollBar.DragCursor" link="#LCL.Controls.TControl.DragCursor"/>
      <element name="TScrollBar.DragKind" link="#LCL.Controls.TControl.DragKind"/>
      <element name="TScrollBar.DragMode" link="#LCL.Controls.TControl.DragMode"/>
      <element name="TScrollBar.Enabled" link="#LCL.Controls.TControl.Enabled"/>
      <element name="TScrollBar.Kind" link="#LCL.StdCtrls.TCustomScrollBar.Kind"/>
      <element name="TScrollBar.LargeChange" link="#LCL.StdCtrls.TCustomScrollBar.LargeChange"/>
      <element name="TScrollBar.Max" link="#LCL.StdCtrls.TCustomScrollBar.Max"/>
      <element name="TScrollBar.Min" link="#LCL.StdCtrls.TCustomScrollBar.Min"/>
      <element name="TScrollBar.OnChange" link="#LCL.StdCtrls.TCustomScrollBar.OnChange"/>
      <element name="TScrollBar.OnContextPopup" link="#LCL.Controls.TControl.OnContextPopup"/>
      <element name="TScrollBar.OnDragDrop" link="#LCL.Controls.TControl.OnDragDrop"/>
      <element name="TScrollBar.OnDragOver" link="#LCL.Controls.TControl.OnDragOver"/>
      <element name="TScrollBar.OnEndDrag" link="#LCL.Controls.TControl.OnEndDrag"/>
      <element name="TScrollBar.OnEnter" link="#LCL.Controls.TWinControl.OnEnter"/>
      <element name="TScrollBar.OnExit" link="#LCL.Controls.TWinControl.OnExit"/>
      <element name="TScrollBar.OnKeyDown" link="#LCL.Controls.TWinControl.OnKeyDown"/>
      <element name="TScrollBar.OnKeyPress" link="#LCL.Controls.TWinControl.OnKeyPress"/>
      <element name="TScrollBar.OnKeyUp" link="#LCL.Controls.TWinControl.OnKeyUp"/>
      <element name="TScrollBar.OnScroll" link="#LCL.StdCtrls.TCustomScrollBar.OnScroll"/>
      <element name="TScrollBar.OnStartDrag" link="#LCL.Controls.TControl.OnStartDrag"/>
      <element name="TScrollBar.OnUTF8KeyPress" link="#LCL.Controls.TWinControl.OnUTF8KeyPress"/>
      <element name="TScrollBar.PageSize" link="#LCL.StdCtrls.TCustomScrollBar.PageSize"/>
      <element name="TScrollBar.ParentBidiMode" link="#LCL.Controls.TControl.ParentBiDiMode"/>
      <element name="TScrollBar.ParentCtl3D" link="#LCL.Controls.TWinControl.ParentCtl3D"/>
      <element name="TScrollBar.ParentShowHint" link="#LCL.Controls.TControl.ParentShowHint"/>
      <element name="TScrollBar.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <element name="TScrollBar.Position" link="#LCL.StdCtrls.TCustomScrollBar.Position"/>
      <element name="TScrollBar.ShowHint" link="#LCL.Controls.TControl.ShowHint"/>
      <element name="TScrollBar.SmallChange" link="#LCL.StdCtrls.TCustomScrollBar.SmallChange"/>
      <element name="TScrollBar.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TScrollBar.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <element name="TScrollBar.Visible" link="#LCL.Controls.TControl.Visible"/>
      <!-- object Visibility: default -->
      <element name="TCustomGroupBox">
        <short>The base class for <var>TGroupBox</var>, <var>TRadioGroup</var> and <var>TCheckGroup</var>.</short>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomGroupBox.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <element name="TCustomGroupBox.GetControlClassDefaultSize"/>
      <element name="TCustomGroupBox.GetControlClassDefaultSize.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomGroupBox.CreateParams"/>
      <element name="TCustomGroupBox.CreateParams.Params">
        <short/>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCustomGroupBox.Create"/>
      <element name="TCustomGroupBox.Create.AOwner">
        <short/>
      </element>
      <!-- object Visibility: default -->
      <element name="TGroupBox">
        <short>A container that allows a number of objects to be grouped physically and conceptually on a form.</short>
        <descr>
          <p>The objects can be moved around together and have certain properties in common.</p>
        </descr>
        <seealso>
          <link id="HowToUseStdCtrls"/>
        </seealso>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- property Visibility: published -->
      <element name="TGroupBox.Align" link="#LCL.Controls.TControl.Align"/>
      <element name="TGroupBox.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TGroupBox.AutoSize" link="#LCL.Controls.TControl.AutoSize"/>
      <element name="TGroupBox.BidiMode" link="#LCL.Controls.TControl.BiDiMode"/>
      <element name="TGroupBox.BorderSpacing" link="#LCL.Controls.TControl.BorderSpacing"/>
      <element name="TGroupBox.Caption" link="#LCL.Controls.TControl.Caption">
        <short>The text displayed in the border around the box.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: published -->
      <element name="TGroupBox.ChildSizing" link="#LCL.Controls.TWinControl.ChildSizing"/>
      <element name="TGroupBox.ClientHeight" link="#LCL.Controls.TControl.ClientHeight"/>
      <element name="TGroupBox.ClientWidth" link="#LCL.Controls.TControl.ClientWidth"/>
      <element name="TGroupBox.Color" link="#LCL.Controls.TControl.Color"/>
      <element name="TGroupBox.Constraints" link="#LCL.Controls.TControl.Constraints"/>
      <element name="TGroupBox.Ctl3D" link="#LCL.Controls.TControl.Ctl3D"/>
      <element name="TGroupBox.DockSite" link="#LCL.Controls.TWinControl.DockSite"/>
      <element name="TGroupBox.DragCursor" link="#LCL.Controls.TControl.DragCursor"/>
      <element name="TGroupBox.DragKind" link="#LCL.Controls.TControl.DragKind"/>
      <element name="TGroupBox.DragMode" link="#LCL.Controls.TControl.DragMode"/>
      <element name="TGroupBox.Enabled" link="#LCL.Controls.TControl.Enabled"/>
      <element name="TGroupBox.Font" link="#LCL.Controls.TControl.Font"/>
      <element name="TGroupBox.OnChangeBounds" link="#LCL.Controls.TControl.OnChangeBounds"/>
      <element name="TGroupBox.OnClick" link="#LCL.Controls.TControl.OnClick"/>
      <element name="TGroupBox.OnContextPopup" link="#LCL.Controls.TControl.OnContextPopup"/>
      <element name="TGroupBox.OnDblClick" link="#LCL.Controls.TControl.OnDblClick"/>
      <element name="TGroupBox.OnDragDrop" link="#LCL.Controls.TControl.OnDragDrop"/>
      <element name="TGroupBox.OnDockDrop" link="#LCL.Controls.TWinControl.OnDockDrop"/>
      <element name="TGroupBox.OnDockOver" link="#LCL.Controls.TWinControl.OnDockOver"/>
      <element name="TGroupBox.OnDragOver" link="#LCL.Controls.TControl.OnDragOver"/>
      <element name="TGroupBox.OnEndDock" link="#LCL.Controls.TControl.OnEndDock"/>
      <element name="TGroupBox.OnEndDrag" link="#LCL.Controls.TControl.OnEndDrag"/>
      <element name="TGroupBox.OnEnter" link="#LCL.Controls.TWinControl.OnEnter"/>
      <element name="TGroupBox.OnExit" link="#LCL.Controls.TWinControl.OnExit"/>
      <element name="TGroupBox.OnGetSiteInfo" link="#LCL.Controls.TWinControl.OnGetSiteInfo"/>
      <element name="TGroupBox.OnKeyDown" link="#LCL.Controls.TWinControl.OnKeyDown"/>
      <element name="TGroupBox.OnKeyPress" link="#LCL.Controls.TWinControl.OnKeyPress"/>
      <element name="TGroupBox.OnKeyUp" link="#LCL.Controls.TWinControl.OnKeyUp"/>
      <element name="TGroupBox.OnMouseDown" link="#LCL.Controls.TControl.OnMouseDown"/>
      <element name="TGroupBox.OnMouseEnter" link="#LCL.Controls.TControl.OnMouseEnter"/>
      <element name="TGroupBox.OnMouseLeave" link="#LCL.Controls.TControl.OnMouseLeave"/>
      <element name="TGroupBox.OnMouseMove" link="#LCL.Controls.TControl.OnMouseMove"/>
      <element name="TGroupBox.OnMouseUp" link="#LCL.Controls.TControl.OnMouseUp"/>
      <element name="TGroupBox.OnResize" link="#LCL.Controls.TControl.OnResize"/>
      <element name="TGroupBox.OnStartDock" link="#LCL.Controls.TControl.OnStartDock"/>
      <element name="TGroupBox.OnStartDrag" link="#LCL.Controls.TControl.OnStartDrag"/>
      <element name="TGroupBox.OnUnDock" link="#LCL.Controls.TWinControl.OnUnDock"/>
      <element name="TGroupBox.OnUTF8KeyPress" link="#LCL.Controls.TWinControl.OnUTF8KeyPress"/>
      <element name="TGroupBox.ParentBidiMode" link="#LCL.Controls.TControl.ParentBiDiMode"/>
      <element name="TGroupBox.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <element name="TGroupBox.ParentCtl3D" link="#LCL.Controls.TWinControl.ParentCtl3D"/>
      <element name="TGroupBox.ParentFont" link="#LCL.Controls.TControl.ParentFont"/>
      <element name="TGroupBox.ParentShowHint" link="#LCL.Controls.TControl.ParentShowHint"/>
      <element name="TGroupBox.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <element name="TGroupBox.ShowHint" link="#LCL.Controls.TControl.ShowHint"/>
      <element name="TGroupBox.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TGroupBox.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <element name="TGroupBox.Visible" link="#LCL.Controls.TControl.Visible"/>
      <!-- enumeration type Visibility: default -->
      <element name="TComboBoxAutoCompleteTextOption">
        <short>Defines the behavior of the <var>AutoComplete</var> feature in a combobox control.</short>
        <descr>
          <ul>
            <li>cbactEnabled: Enable Auto-Completion feature.</li>
            <li>cbactEndOfLineComplete: Perform Auto-Complete only when cursor is at the end of the string.</li>
            <li>cbactRetainPrefixCase: Retains the case of characters user has typed. (This option has no effect if cbactEndOfLineComplete is False)</li>
            <li>cbactSearchCaseSensitive: Search completion string with case sensitivity.</li>
            <li>cbactSearchAscending: Search completion string in ascending order. (False will search in descending order)</li>
          </ul>
        </descr>
        <seealso/>
      </element>
      <element name="TComboBoxAutoCompleteTextOption.cbactEnabled">
        <short>Enable Auto-Completion feature.</short>
      </element>
      <element name="TComboBoxAutoCompleteTextOption.cbactEndOfLineComplete">
        <short>Perform Auto-Complete only when cursor is at the end of the string.</short>
      </element>
      <element name="TComboBoxAutoCompleteTextOption.cbactRetainPrefixCase">
        <short>Retains the case of characters user has typed. This option has no effect if cbactEndOfLineComplete is not set.</short>
      </element>
      <element name="TComboBoxAutoCompleteTextOption.cbactSearchCaseSensitive">
        <short>Search completion string with case sensitivity.</short>
      </element>
      <element name="TComboBoxAutoCompleteTextOption.cbactSearchAscending">
        <short>Search completion strings in ascending order, if set. Otherwise search in descending order.</short>
      </element>
      <!-- set type Visibility: default -->
      <element name="TComboBoxAutoCompleteText" link="TComboBoxAutoCompleteTextOption">
        <short>
          Set of <var>TComboBoxAutoCompleteTextOption.</var>
        </short>
        <descr/>
        <seealso/>
      </element>
      <!-- constant Visibility: default -->
      <element name="DefaultComboBoxAutoCompleteText">
        <short>Set of [cbactEndOfLineComplete, cbactSearchAscending]</short>
        <descr>
        </descr>
        <seealso><link id="TComboBoxAutoCompleteTextOption"/>
        </seealso>
      </element>
      <!-- enumeration type Visibility: default -->
      <element name="TComboBoxStyle">
        <short>
          The styles of a combobox.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TComboBoxStyle.csDropDown">
        <short>The box has a drop-down list.</short>
      </element>
      <element name="TComboBoxStyle.csSimple">
        <short>The box has a fixed size list.</short>
      </element>
      <element name="TComboBoxStyle.csDropDownList">
        <short>The box has a drop-down list, from which entries can be selected (manual text entry disabled).</short>
      </element>
      <element name="TComboBoxStyle.csOwnerDrawFixed">
        <short>The drop-down list elements are owner drawn and have a common fixed height.</short>
      </element>
      <element name="TComboBoxStyle.csOwnerDrawVariable">
        <short>The drop-down list elements are owner drawn and have an individual height.</short>
      </element>
      <!-- alias type Visibility: default -->
      <element name="TOwnerDrawState" link="lcltype.TOwnerDrawState"/>
      <!-- procedure type Visibility: default -->
      <element name="TDrawItemEvent">
        <short>The handler type for painting a single item of owner-draw list and combo boxes.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TDrawItemEvent.Control">
        <short>The control to draw.</short>
      </element>
      <element name="TDrawItemEvent.Index">
        <short>Index of the item to draw.</short>
      </element>
      <element name="TDrawItemEvent.ARect">
        <short>The item rectangle in the Canvas.</short>
      </element>
      <element name="TDrawItemEvent.State">
        <short>Flags describing the item state to draw (selected...).</short>
      </element>
      <!-- procedure type Visibility: default -->
      <element name="TMeasureItemEvent">
        <short>The handler type for the determination of the Height of a single item in owner-draw list and combo boxes.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- argument Visibility: default -->
      <element name="TMeasureItemEvent.Control">
        <short>The list or combo box.</short>
      </element>
      <!-- argument Visibility: default -->
      <element name="TMeasureItemEvent.Index">
        <short>Index of the item to measure.</short>
      </element>
      <!-- argument Visibility: default -->
      <element name="TMeasureItemEvent.AHeight">
        <short>Here the handler returns the Height of the item (in pixels).</short>
      </element>
<!-- object Visibility: default -->
      <element name="TCustomComboBox">
        <short>The base class for ComboBox components.</short>
        <descr>
          <p>
            A ComboBox <b>comb</b>ines an edit <b>box</b> with an item list.
            The list can be either static (always visible), or drops down when needed.
          </p><p>
            Depending on the ComboBox <var>Style</var> the user can type text into the edit box,
            or he can select items from the <var>Items</var> list.
          </p>
          <p>Despite similarities in appearance to <var>TCustomEdit</var> and <var>TCustomList</var>,
            the class inherits no properties from these classes (Delphi compatible).
          </p>
          <p>It has some interesting properties including <var>AutoComplete</var> and <var>AutoCompleteText</var>, <var>AutoDropDown</var>
            and the ability to create and add a History display.
          </p>
        </descr>
      <notes><note>how to use all that?</note>
        </notes>
      </element>
      <!-- variable Visibility: private -->
      <element name="TCustomComboBox.FCharCase"/>
      <element name="TCustomComboBox.FAutoCompleteText"/>
      <element name="TCustomComboBox.FAutoSelect"/>
      <element name="TCustomComboBox.FAutoSelected"/>
      <element name="TCustomComboBox.FAutoDropDown"/>
      <element name="TCustomComboBox.FCanvas"/>
      <element name="TCustomComboBox.FDropDownCount"/>
      <element name="TCustomComboBox.FDroppedDown"/>
      <element name="TCustomComboBox.FItemHeight"/>
      <element name="TCustomComboBox.FItemIndex"/>
      <element name="TCustomComboBox.FItemWidth"/>
      <element name="TCustomComboBox.FItems"/>
      <element name="TCustomComboBox.FMaxLength"/>
      <element name="TCustomComboBox.FOnChange"/>
      <element name="TCustomComboBox.FOnCloseUp"/>
      <element name="TCustomComboBox.FOnDrawItem"/>
      <element name="TCustomComboBox.FOnDropDown"/>
      <element name="TCustomComboBox.FOnGetItems"/>
      <element name="TCustomComboBox.FOnMeasureItem"/>
      <element name="TCustomComboBox.FOnSelect"/>
      <element name="TCustomComboBox.FReadOnly"/>
      <element name="TCustomComboBox.FSelLength"/>
      <element name="TCustomComboBox.FSelStart"/>
      <element name="TCustomComboBox.FSorted"/>
      <element name="TCustomComboBox.FStyle"/>
      <element name="TCustomComboBox.FArrowKeysTraverseList"/>
      <!-- variable Visibility: private -->
      <element name="TCustomComboBox.FReturnArrowState">
        <short>Used internally, to return the state of arrow keys from temporary change.</short>
      </element>
      <!-- function Visibility: private -->
      <element name="TCustomComboBox.GetAutoComplete" link="TCustomComboBox.AutoComplete"/>
      <element name="TCustomComboBox.GetAutoComplete.Result">
        <short/>
      </element>
      <!-- function Visibility: private -->
      <element name="TCustomComboBox.GetDroppedDown" link="TCustomComboBox.DroppedDown"/>
      <element name="TCustomComboBox.GetDroppedDown.Result">
        <short/>
      </element>
      <!-- function Visibility: private -->
      <element name="TCustomComboBox.GetItemWidth" link="TCustomComboBox.ItemWidth"/>
      <element name="TCustomComboBox.GetItemWidth.Result">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomComboBox.SetAutoComplete" link="TCustomComboBox.AutoComplete"/>
      <element name="TCustomComboBox.SetAutoComplete.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomComboBox.SetItemWidth" link="TCustomComboBox.ItemWidth"/>
      <element name="TCustomComboBox.SetItemWidth.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomComboBox.SetItems" link="TCustomComboBox.Items"/>
      <element name="TCustomComboBox.SetItems.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomComboBox.LMDrawListItem">
        <short>Handler for custom drawing items, invokes DrawItem.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomComboBox.LMDrawListItem.TheMessage">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomComboBox.LMMeasureItem">
        <short>Determines the height of an item, using MeasureItem in variable owner-draw mode.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomComboBox.LMMeasureItem.TheMessage">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomComboBox.LMSelChange">
        <short>Invokes the OnSelect handler.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomComboBox.LMSelChange.TheMessage">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomComboBox.CNCommand">
        <short>Invokes the OnDropDown or OnCloseUp handlers.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomComboBox.CNCommand.TheMessage">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomComboBox.SetReadOnly" link="TCustomComboBox.ReadOnly"/>
      <element name="TCustomComboBox.SetReadOnly.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomComboBox.UpdateSorted" link="TCustomComboBox.Sorted">
        <short>Handles changes of the Sorted property.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomComboBox.SetArrowKeysTraverseList" link="TCustomComboBox.ArrowKeysTraverseList"/>
      <element name="TCustomComboBox.SetArrowKeysTraverseList.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomComboBox.WMChar">
        <short>Prevents ordinary chars from triggering accelerators.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomComboBox.WMChar.Message">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.CreateParams"/>
      <element name="TCustomComboBox.CreateParams.Params">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomComboBox.SetCharCase" link="TCustomComboBox.CharCase"/>
      <element name="TCustomComboBox.SetCharCase.eccCharCase">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <element name="TCustomComboBox.InitializeWnd"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.DestroyWnd"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.DoEnter" link="TCustomComboBox.AutoSelect">
        <short>Selects the entire text when AutoSelect is True.</short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TWinControl.DoEnter">TWinControl.DoEnter</link>
        </seealso>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.DoExit">
        <short>
          Clears <var>AutoSelect</var>, then calls inherited <var>DoExit</var>
        </short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TWinControl.DoExit">TWinControl.DoExit</link>
        </seealso>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.DrawItem">
        <short>Draws an item, using the OnDrawItem handler if one is installed.</short>
        <descr>
          <p>Software emulation of <var>OnDrawItem</var> event, in OwnerDraw mode.</p>
          <p>Calls the <link id="TCustomComboBox.OnDrawItem">OnDrawItem</link> handler, if installed.
            Otherwise default painting is performed (InternalDrawItem).</p>
        </descr>
        <errors/>
        <seealso>
          <link id="TCustomComboBox.OnDrawItem"/>
          <link id="TDrawItemEvent"/>
        </seealso>
      </element>
      <element name="TCustomComboBox.DrawItem.Index">
        <short>The item to draw.</short>
      </element>
      <element name="TCustomComboBox.DrawItem.ARect">
        <short>The area to paint in the Canvas.</short>
      </element>
      <element name="TCustomComboBox.DrawItem.State">
        <short>The state of the item (selected...).</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomComboBox.MeasureItem">
        <short>Invokes the OnMeasureItem handler, to get the height of the item in the drop-down list.</short>
        <descr/>
        <errors/>
        <seealso><link id="TCustomComboBox.OnMeasureItem"/>
        </seealso>
      </element>
      <element name="TCustomComboBox.MeasureItem.Index">
        <short>The index of the item whose height is required.</short>
      </element>
      <element name="TCustomComboBox.MeasureItem.TheHeight">
        <short>The height of the item, in pixels, adjustable by the OnMeasureItem handler.</short>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomComboBox.GetControlClassDefaultSize"/>
      <element name="TCustomComboBox.GetControlClassDefaultSize.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.LMChanged">
        <short>Notification of a change in the edit box.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomComboBox.LMChanged.Msg">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.Change">
        <short>Invokes the OnChange handler, signaling an change in the edit box.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.Select">
        <short>Invokes the <var>OnSelect</var> handler.</short>
        <descr>
          Called whenever the user changes the ItemIndex.
          For Delphi compatibility ignore when user unselects by changing Text.
        </descr>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.DropDown" link="TCustomComboBox.OnDropDown">
        <short>Invokes the <var>OnDropDown</var> handler.</short>
        <descr>Called whenever the list drops down.
        </descr>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.GetItems" link="TCustomComboBox.OnGetItems">
        <short>Invokes the <var>OnGetItems</var> handler.</short>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.CloseUp">
        <short>Called whenever the list hides.</short>
        <descr>Handles selection in the edit box, also invokes the OnEditingDone and OnCloseUp handlers.</descr>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.AdjustDropDown">
        <short>Adjusts the extent of the DropDown list.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomComboBox.GetItemCount">
        <short>Returns the number of list items.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomComboBox.GetItemCount.Result">
        <short>The Items.Count.</short>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomComboBox.GetItemHeight" link="TCustomComboBox.ItemHeight"/>
      <element name="TCustomComboBox.GetItemHeight.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomComboBox.GetSelLength" link="TCustomComboBox.SelLength"/>
      <element name="TCustomComboBox.GetSelLength.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomComboBox.GetSelStart" link="TCustomComboBox.SelStart"/>
      <element name="TCustomComboBox.GetSelStart.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomComboBox.GetSelText" link="TCustomComboBox.SelText"/>
      <element name="TCustomComboBox.GetSelText.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomComboBox.GetItemIndex" link="TCustomComboBox.ItemIndex"/>
      <element name="TCustomComboBox.GetItemIndex.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomComboBox.GetMaxLength" link="TCustomComboBox.MaxLength"/>
      <element name="TCustomComboBox.GetMaxLength.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomComboBox.IsReadOnlyStored" link="TCustomComboBox.ReadOnly"/>
      <element name="TCustomComboBox.IsReadOnlyStored.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.SetDropDownCount" link="TCustomComboBox.DropDownCount"/>
      <element name="TCustomComboBox.SetDropDownCount.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.SetDroppedDown" link="TCustomComboBox.DroppedDown"/>
      <element name="TCustomComboBox.SetDroppedDown.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.SetItemHeight" link="TCustomComboBox.ItemHeight"/>
      <element name="TCustomComboBox.SetItemHeight.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.SetItemIndex" link="TCustomComboBox.ItemIndex"/>
      <element name="TCustomComboBox.SetItemIndex.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.SetMaxLength" link="TCustomComboBox.MaxLength"/>
      <element name="TCustomComboBox.SetMaxLength.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.SetSelLength" link="TCustomComboBox.SelLength"/>
      <element name="TCustomComboBox.SetSelLength.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.SetSelStart" link="TCustomComboBox.SelStart"/>
      <element name="TCustomComboBox.SetSelStart.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.SetSelText" link="TCustomComboBox.SelText"/>
      <element name="TCustomComboBox.SetSelText.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.SetSorted" link="TCustomComboBox.Sorted"/>
      <element name="TCustomComboBox.SetSorted.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.SetStyle" link="TCustomComboBox.Style"/>
      <element name="TCustomComboBox.SetStyle.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.RealSetText">
        <short>Adjusts ItemIndex according to the new edit box content.</short>
        <descr>
          <p>If the text <var>AValue</var> occurs in the list of strings, then sets the <var>Itemindex</var>, otherwise does the default action which is to store text as a string rather than performing read-write to a <var>PChar</var> buffer</p>
        </descr>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TControl.RealSetText">TControl.RealSetText</link>
        </seealso>
      </element>
      <element name="TCustomComboBox.RealSetText.AValue">
        <short>The new content of the edit box.</short>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.KeyDown">
        <short>Filters TAB and RETURN key when used to traverse the list.</short>
        <descr>
          <p>The inherited method provides software emulation of the event handler <var>OnKeyDown</var> which acts if a key has been pressed and is still down</p>
        </descr>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TWinControl.KeyDown">TWinControl.KeyDown</link>
        </seealso>
      </element>
      <element name="TCustomComboBox.KeyDown.Key">
        <short>The pressed key.</short>
      </element>
      <element name="TCustomComboBox.KeyDown.Shift">
        <short>The state of the modifier keys and mouse buttons.</short>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.KeyUp" link="#LCL.Controls.TWinControl.KeyUp">
        <short>Handles AutoSelect and AutoComplete.</short>
      </element>
      <element name="TCustomComboBox.KeyUp.Key">
        <short/>
      </element>
      <element name="TCustomComboBox.KeyUp.Shift">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.KeyPress">
        <short>Adjusts character case before further processing.</short>
        <descr>
          <p>The inherited method invokes the <var>OnKeyPress</var> handler, allowing for further input processing.
          </p>
        </descr>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TWinControl.KeyPress">TWinControl.KeyPress</link>
        </seealso>
      </element>
      <element name="TCustomComboBox.KeyPress.Key">
        <short/>
      </element>
      <element name="TCustomComboBox.UTF8KeyPress" link="TCustomComboBox.KeyPress">
        <short>
          <var>UTF8KeyPress</var> converts character case if required then calls inherited method</short>
        <seealso>
          <link id="#LCL.Controls.TWinControl.UTF8KeyPress">TWinControl.UTF8KeyPress</link>
        </seealso>
        <descr>
          <p>The inherited method emulates the pressing of a key, with UTF8 coding. The UTF8 coding should be used where there is the possibility that input/output will occur in any language that requires multiple bytes to represent each character, i.e. all languages except English.</p>
        </descr>
      </element>
      <element name="TCustomComboBox.UTF8KeyPress.UTF8Key">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomComboBox.MouseUp">
        <short>AutoSelect when left mouse is clicked for the 1st time after having focus.</short>
        <descr>
        </descr>
        <errors/>
        <seealso>
          <link id="TCustomComboBox.AutoSelect">AutoSelect</link>
          <link id="#LCL.Controls.TControl.MouseUp">TControl.MouseUp</link>
        </seealso>
      </element>
      <element name="TCustomComboBox.MouseUp.Button">
        <short/>
      </element>
      <element name="TCustomComboBox.MouseUp.Shift">
        <short/>
      </element>
      <element name="TCustomComboBox.MouseUp.X">
        <short/>
      </element>
      <element name="TCustomComboBox.MouseUp.Y">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomComboBox.SelectItem">
        <short>Selects the item with the given text.</short>
        <descr>When a matching item was found, invokes the OnClick and OnSelect handlers.
        </descr>
        <errors/>
        <seealso>
          <link id="TCustomComboBox.OnClick">OnClick</link>
          <link id="TCustomComboBox.OnSelect">OnSelect</link>
        </seealso>
      </element>
      <element name="TCustomComboBox.SelectItem.Result">
        <short>True when a matching item was found and selected.</short>
      </element>
      <element name="TCustomComboBox.SelectItem.AnItem">
        <short>The text to find in Items.</short>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCustomComboBox.Create"/>
      <element name="TCustomComboBox.Create.TheOwner">
        <short/>
      </element>
      <!-- destructor Visibility: public -->
      <element name="TCustomComboBox.Destroy"/>
      <!-- procedure Visibility: public -->
      <element name="TCustomComboBox.IntfGetItems">
        <short>Called whenever the items can be just-in-time populated.</short>
        <descr>
          Gets list of items from the interface.
          Invokes GetItems, which calls the OnGetItems handler.
        </descr>
        <errors/>
        <seealso/>
      <notes><note>must?</note><note>?</note>
        </notes>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomComboBox.AddItem">
        <short>Adds an item to the Items list.</short>
      </element>
      <element name="TCustomComboBox.AddItem.Item">
        <short>The item text.</short>
      </element>
      <element name="TCustomComboBox.AddItem.AnObject">
        <short>The associated object, can be Nil.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomComboBox.AddHistoryItem">
        <short>Add an item as the first entry in History List.</short>
        <descr>
          <p>When the item is already in the history list, it is moved to the begin of the list.
          </p><p>
            Otherwise the item is added as the first entry; when the list is full, the last item is removed.
          </p>
        </descr>
        <seealso><link id="TCustomComboBox.AutoComplete"/>
        </seealso>
      </element>
      <element name="TCustomComboBox.AddHistoryItem.Item">
        <short>The string to be added to the list.</short>
      </element>
      <element name="TCustomComboBox.AddHistoryItem.MaxHistoryCount">
        <short>The maximum number of items that can be added to the history.</short>
      </element>
      <element name="TCustomComboBox.AddHistoryItem.SetAsText">
        <short>When True the string also is copied into the edit box.</short>
      </element>
      <element name="TCustomComboBox.AddHistoryItem.CaseSensitive">
        <short>True means that the list can contain multiple items with the same text, differing in case.</short>
      </element>
      <element name="TCustomComboBox.AddHistoryItem.AnObject">
        <short>The object associated with the item; can be Nil.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomComboBox.Clear">
        <short>Removes all items from the list, clears the edit box.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomComboBox.ClearSelection">
        <short>Unselect a possibly selected item (ItemIndex becomes -1).</short>
        <descr>The text selection is not affected. Set SelLength to zero to remove a selection from the text box.</descr>
        <seealso><link id="TCustomComboBox.SelLength"/>
        </seealso>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomComboBox.SelectAll">
        <short>Select the entire text in the edit box.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
<!-- keep all properties together, alpha sorted -->
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.ArrowKeysTraverseList">
        <short>Allows the operator to use also the keyboard Arrow keys to move through the list.</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.AutoComplete">
        <short>Allows to select items from partial input, of the begin of the item text.</short>
        <descr>The first matching item is selected.
          The user can continue entering characters, until the desired (or no) matching item is selected.
        </descr>
        <seealso><link id="TCustomComboBox.AutoCompleteText"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.AutoCompleteText">
        <short>Options for the behavior of the Auto-Complete feature.</short>
        <descr>
          <ul>
            <li>Enabled: Enable Auto-Completion feature.</li>
            <li>EndOfLineComplete: Perform Auto-Complete only when cursor is at the end of the string.</li>
            <li>RetainPrefixCase: Retains the case of characters user has typed. (This option has no effect if cbactEndOfLineComplete is False)</li>
            <li>SearchCaseSensitive: Search completion string with case sensitivity.</li>
            <li>SearchAscending: Search completion string in accending order. (False will search in descending order)</li>
          </ul>
          <p>This property exists as a <var>Set</var> of <var>Options</var>, so zero or more options may be operational</p>
        </descr>
        <seealso>
          <link id="TComboBoxAutoCompleteTextOption"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.AutoDropDown">
        <short>Makes the drop-down list appear as soon as the user starts entering text.</short>
        <descr>
          <p>If False, the drop-down list only appears when the down button to the right of the edit box is clicked.</p>
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.AutoSelect">
        <short>Selects the entire content of the edit box when the control receives the focus.</short>
        <descr>
          <p>When True, the edit control will select all its text when:</p>
          <ul>
            <li>It receives focus</li>
            <li>The Enter key is pressed.</li>
            <li>A new item is selected.</li>
          </ul>
        </descr>
        <seealso><link id="TCustomComboBox.AutoSelected"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.AutoSelected">
        <short>True indicates that the selection was marked automatically by the control.</short>
        <descr>
          <p>True indicates that the combobox control has just performed an <var>AutoSelect</var> operation so that subsequent mouse-clicks and keystrokes
            proceed normally without selecting the text.</p>
          <p>False is set when the combobox control loses focus.</p>
        </descr>
        <seealso><link id="TCustomComboBox.AutoSelect"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.AutoSize"><short>TCustomComboBox default is True</short>
      </element>
      <element name="TCustomComboBox.Canvas"/>
      <element name="TCustomComboBox.CharCase">
        <short>Indicates how text is converted during input (upper, lower, or as entered).</short>
        <descr>
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.DroppedDown">
        <short>Indicates whether the drop-down list has appeared.</short>
        <descr>Setting this property opens or closes the drop-down list.</descr>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.DropDownCount">
        <short>The height of the drop-down list, measured in number of items.</short>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.ItemHeight">
        <short>The default height of a list item.</short>
        <descr>In owner-draw mode the value can be adjusted by the application, otherwise it is determined by the widget.
        </descr>
        <seealso><link id="TCustomComboBox.OnMeasureItem"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.ItemIndex">
        <short>The index of the currently selected item, -1 if none is selected.</short>
        <descr>
          <p>Setting the ItemIndex selects the item in the list.</p>
          <p>The first list item has index 0, up to ListCount-1.</p>
          <p>If no item is selected, ItemIndex is -1.</p>
        </descr>
        <seealso>
          <link id="TCustomComboBox"/>
          <link id="TCustomComboBox.Items"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.Items">
        <short>The list of all items in the control.</short>
        <descr>
          <p>
            The Items strings are displayed in the static or drop-down list of the control.
          </p><p>
            Reading allows one to access the contents of the list (TStrings compatible).
          </p><p>
            Assign another string list to replace the items.
          </p>
        </descr>
        <seealso>
          <link id="TCustomComboBox.ItemIndex"/>
          <link id="#rtl.Classes.TStrings"/>
        </seealso>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.ItemWidth">
        <short>The minimum width of the items in the drop-down list.</short>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.MaxLength">
        <short>The maximum length of user input.</short>
        <descr>Set MaxLength to e.g. the fixed length of a string field, where the input is stored later.
        </descr>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.OnChange">
        <short>Event handler for user changed text in the edit box.</short>
        <descr>
          <p>
            This event covers only changes made by the user, not by code. Note that this differs from how other OnChange events work, for example TEdit.OnChange is triggered by code text changes.
            This event is also triggered when the selection is changed by using the combo box list.
          </p>
        </descr>
        <seealso><link id="TCustomEdit.OnChange"/>
        </seealso>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.OnCloseUp">
        <short>Handler invoked when
          the drop-down list closes.
        </short>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.OnDrawItem">
        <short>Handler for special painting of an item (in owner-draw mode).</short>
        <seealso><link id="TDrawItemEvent"/>
        </seealso>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.OnDropDown">
        <short>Handler invoked when the list has dropped down.</short>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.OnGetItems">
        <short>Handler invoked when widgetset items list can be populated</short>
        <descr>
          <p>Some widgetsets like gtk call this just before the list drops down, while others do it on handle creation.
            This event allows one to handle both cases with one event.
          </p>
        </descr>
        <seealso><link id="TCustomComboBox.IntfGetItems"/>
        </seealso>
      <notes><note>?</note><note>must?</note><note>What's the purpose or task of the handler?</note>
        </notes>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.OnMeasureItem">
        <short>Handler invoked when the height of an item is required.</short>
        <descr/>
        <seealso><link id="TMeasureItemEvent"/>
        </seealso>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.OnSelect">
        <short>Handler invoked when an item is selected.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.ReadOnly">
        <short>Disallows entry of free text.</short>
        <descr>When True, only items from the list are accepted,
          by direct selection from the list or AutoComplete.</descr>
        <seealso><link id="TCustomComboBox.AutoComplete"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.SelLength">
        <short>The number of selected UTF-8 characters in the edit box.</short>
        <descr>
        </descr>
        <seealso>
          <link id="TCustomComboBox.SelStart"/>
          <link id="TCustomComboBox.SelText"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.SelStart">
        <short>The <b>zero-based</b> UTF-8 index of the begin of the selection in the edit box.</short>
        <descr><p>If text is selected, this is the starting position, otherwise the cursor position.
</p><p>When no text is selected, SelStart is the cursor position, and SelLength=0.
</p><p>Writing moves the cursor, and removes the selection.
Set SelLength after changing SelStart, to establish a new selection.
</p><p>SelStart is a <b>zero-based</b> UTF-8 index into Text, in contrast to usual <b>1-based</b> string indices. A value 1 means the second UTF-8 character.
</p>
        </descr>
        <seealso><link id="TCustomComboBox.SelLength"/><link id="TCustomComboBox.SelText"/>
        </seealso>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.SelText">
        <short>The selected text in the edit box.</short>
        <descr>This string is defined by SelStart and SelLength.
Assign an new string to replace the selected text.</descr>
        <seealso>
          <link id="TCustomComboBox.SelStart"/>
          <link id="TCustomComboBox.SelLength"/>
        </seealso>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomComboBox.Sorted">
        <short>Determines whether the list entries are sorted.</short>
        <descr>Setting this property to True enforces ascending alphanumeric case-insensitive sorting of the list.
          When True, new entries are added in sort order, not to the end of the list.
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.Style">
        <short>Appearance and behaviour of the ComboBox (static/drop-down, owner-draw...).
        </short>
        <descr>
          <p>
            The Style is quite Windows centric, reflecting the evolution of ComboBox styles.
          </p><p>
            Basic styles are</p>
          <ul>
            <li>csSimple: edit box with a static list (no drop-down).</li>
            <li>csDropDown: edit box with a drop-down list.</li>
            <li>csDropDownList: strings can not be entered by the user, only selected from the drop-down list.</li>
          </ul>
          <p>Later owner-drawn drop-down lists have been added, with</p>
          <ul>
            <li>csOwnerDrawFixed: all items in the drop-down list have the same height.</li>
            <li>csOwnerDrawVariable: every item can have a different height.</li>
          </ul>
          <p>The ReadOnly property affects the edit box behaviour even in the owner-draw styles.
          </p>
        </descr>
      </element>
      <!-- property Visibility: published -->
      <element name="TCustomComboBox.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <!-- property Visibility: public -->
      <element name="TCustomComboBox.Text">
        <short>The string appearing in the edit box.</short>
        <descr>
          <p>Setting Text selects a possibly matching item in the list.
          </p><p>
           If an item is selected from the list, it replaces the contents of <var>Text</var>.
          </p><p>
            Free user input can be disallowed by the ReadOnly property, so that only strings from the list can be selected.
          </p><p>
            Text completion can be established by the AutoComplete property.
          </p>
        </descr>
        <seealso>
          <link id="TCustomComboBox.ReadOnly"/>
          <link id="TCustomComboBox.Style"/>
          <link id="TCustomComboBox.AutoComplete"/>
        </seealso>
      </element>
<!-- object Visibility: default -->
      <element name="TComboBox">
        <short>A combination of an edit box and a (drop-down) list allowing one of several options to be chosen.</short>
        <descr>
          <p>The Text property reflects the text entered into the edit box, or selected from the list.
          </p>
          <p>The selectable values are kept in the <var>Items</var> list.
            Clicking on the ellipsis (...), next to <var>Items</var> in the Object Inspector,
            opens an editor which allows the designer to populate the Items list.</p>
          <p>At run-time, the entry selected from the list replaces the text in the edit box,
            and <var>ItemIndex</var> holds the (zero-based) index number of the selected item.</p>
          <p>If no value is selected from the drop-down list, the default text (if any) remains, or any information typed directly into <var>Text</var> will be returned,
            and <var>ItemIndex</var> takes the value of -1</p>
        </descr>
        <seealso>
          <link id="HowToUseStdCtrls"/>
        </seealso>
      </element>
      <!-- property Visibility: published -->
      <element name="TComboBox.Align" link="#LCL.Controls.TControl.Align"/>
      <element name="TComboBox.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TComboBox.ArrowKeysTraverseList" link="#LCL.StdCtrls.TCustomComboBox.ArrowKeysTraverseList"/>
      <element name="TComboBox.AutoComplete" link="#LCL.StdCtrls.TCustomComboBox.AutoComplete"/>
      <element name="TComboBox.AutoCompleteText" link="#LCL.StdCtrls.TCustomComboBox.AutoCompleteText"/>
      <element name="TComboBox.AutoDropDown" link="#LCL.StdCtrls.TCustomComboBox.AutoDropDown"/>
      <element name="TComboBox.AutoSelect" link="#LCL.StdCtrls.TCustomComboBox.AutoSelect"/>
      <element name="TComboBox.AutoSize" link="#LCL.Controls.TControl.AutoSize"/>
      <element name="TComboBox.Constraints" link="#LCL.Controls.TControl.Constraints"/>
      <element name="TComboBox.BidiMode" link="#LCL.Controls.TControl.BiDiMode"/>
      <element name="TComboBox.BorderSpacing" link="#LCL.Controls.TControl.BorderSpacing"/>
      <element name="TComboBox.CharCase" link="#LCL.StdCtrls.TCustomComboBox.CharCase"/>
      <element name="TComboBox.Color" link="#LCL.Controls.TControl.Color"/>
      <element name="TComboBox.Ctl3D" link="#LCL.Controls.TControl.Ctl3D"/>
      <element name="TComboBox.DragCursor" link="#LCL.Controls.TControl.DragCursor"/>
      <element name="TComboBox.DragKind"/>
      <element name="TComboBox.DragMode" link="#LCL.Controls.TControl.DragMode"/>
      <element name="TComboBox.DropDownCount" link="#LCL.StdCtrls.TCustomComboBox.DropDownCount"/>
      <element name="TComboBox.Enabled" link="#LCL.Controls.TControl.Enabled"/>
      <element name="TComboBox.Font" link="#LCL.Controls.TControl.Font"/>
      <element name="TComboBox.ItemHeight" link="#LCL.StdCtrls.TCustomComboBox.ItemHeight"/>
      <element name="TComboBox.ItemIndex" link="#LCL.StdCtrls.TCustomComboBox.ItemIndex"/>
      <element name="TComboBox.Items" link="#LCL.StdCtrls.TCustomComboBox.Items"/>
      <element name="TComboBox.ItemWidth" link="#LCL.StdCtrls.TCustomComboBox.ItemWidth"/>
      <element name="TComboBox.MaxLength" link="#LCL.StdCtrls.TCustomComboBox.MaxLength"/>
      <element name="TComboBox.OnChange" link="#LCL.StdCtrls.TCustomComboBox.OnChange"/>
      <element name="TComboBox.OnChangeBounds" link="#LCL.Controls.TControl.OnChangeBounds"/>
      <element name="TComboBox.OnClick" link="#LCL.Controls.TControl.OnClick"/>
      <element name="TComboBox.OnCloseUp" link="#LCL.StdCtrls.TCustomComboBox.OnCloseUp"/>
      <element name="TComboBox.OnContextPopup" link="#LCL.Controls.TControl.OnContextPopup"/>
      <element name="TComboBox.OnDblClick" link="#LCL.Controls.TControl.OnDblClick"/>
      <element name="TComboBox.OnDragDrop" link="#LCL.Controls.TControl.OnDragDrop"/>
      <element name="TComboBox.OnDragOver" link="#LCL.Controls.TControl.OnDragOver"/>
      <element name="TComboBox.OnDrawItem" link="#LCL.StdCtrls.TCustomComboBox.OnDrawItem"/>
      <element name="TComboBox.OnDropDown" link="#LCL.StdCtrls.TCustomComboBox.OnDropDown"/>
      <element name="TComboBox.OnEndDrag" link="#LCL.Controls.TControl.OnEndDrag"/>
      <element name="TComboBox.OnEditingDone" link="#LCL.Controls.TControl.OnEditingDone"/>
      <element name="TComboBox.OnEnter" link="#LCL.Controls.TWinControl.OnEnter"/>
      <element name="TComboBox.OnExit" link="#LCL.Controls.TWinControl.OnExit"/>
      <element name="TComboBox.OnGetItems" link="TCustomComboBox.OnGetItems"/>
      <element name="TComboBox.OnKeyDown" link="#LCL.Controls.TWinControl.OnKeyDown"/>
      <element name="TComboBox.OnKeyPress" link="#LCL.Controls.TWinControl.OnKeyPress"/>
      <element name="TComboBox.OnKeyUp" link="#LCL.Controls.TWinControl.OnKeyUp"/>
      <element name="TComboBox.OnMeasureItem" link="#LCL.StdCtrls.TCustomComboBox.OnMeasureItem"/>
      <element name="TComboBox.OnMouseDown" link="#LCL.Controls.TControl.OnMouseDown"/>
      <element name="TComboBox.OnMouseEnter"/>
      <element name="TComboBox.OnMouseLeave"/>
      <element name="TComboBox.OnMouseMove" link="#LCL.Controls.TControl.OnMouseMove"/>
      <element name="TComboBox.OnMouseUp" link="#LCL.Controls.TControl.OnMouseUp"/>
      <element name="TComboBox.OnStartDrag" link="#LCL.Controls.TControl.OnStartDrag"/>
      <element name="TComboBox.OnSelect" link="#LCL.StdCtrls.TCustomComboBox.OnSelect"/>
      <element name="TComboBox.OnUTF8KeyPress" link="#LCL.Controls.TWinControl.OnUTF8KeyPress"/>
      <element name="TComboBox.ParentBidiMode" link="#LCL.Controls.TControl.ParentBiDiMode"/>
      <element name="TComboBox.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <element name="TComboBox.ParentCtl3D" link="#LCL.Controls.TWinControl.ParentCtl3D"/>
      <element name="TComboBox.ParentFont" link="#LCL.Controls.TControl.ParentFont"/>
      <element name="TComboBox.ParentShowHint" link="#LCL.Controls.TControl.ParentShowHint"/>
      <element name="TComboBox.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <element name="TComboBox.ReadOnly" link="#LCL.StdCtrls.TCustomComboBox.ReadOnly"/>
      <element name="TComboBox.ShowHint" link="#LCL.Controls.TControl.ShowHint"/>
      <element name="TComboBox.Sorted" link="#LCL.StdCtrls.TCustomComboBox.Sorted"/>
      <element name="TComboBox.Style" link="#LCL.StdCtrls.TCustomComboBox.Style"/>
      <element name="TComboBox.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TComboBox.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <element name="TComboBox.Text" link="#LCL.StdCtrls.TCustomComboBox.Text"/>
      <element name="TComboBox.Visible" link="#LCL.Controls.TControl.Visible"/>
<!-- enumeration type Visibility: default -->
      <element name="TListBoxStyle">
        <short>Determines how items are drawn in a ListBox.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TListBoxStyle.lbStandard">
        <short>Items drawn by the widget.</short>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TListBoxStyle.lbOwnerDrawFixed">
        <short>Items drawn by user code, all items have the same height.</short>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TListBoxStyle.lbOwnerDrawVariable">
        <short>Items drawn by user code, every item can have a different height.</short>
      </element>
      <!-- procedure type Visibility: default -->
      <element name="TSelectionChangeEvent">
        <short>Handler type for change notifications from a ListBox.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TSelectionChangeEvent.Sender">
        <short>The ListBox control.</short>
      </element>
      <element name="TSelectionChangeEvent.User">
        <short>True if the user changed the selection, False if changed by code.</short>
      <notes><note>?</note>
        </notes>
      </element>
<!-- object Visibility: default -->
      <element name="TCustomListBox">
        <short>The base class for <var>TListBox</var>.
        </short>
      </element>
      <!-- variable Visibility: private -->
      <element name="TCustomListBox.FCacheValid">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TCustomListBox.FCanvas"/>
      <element name="TCustomListBox.FClickOnSelChange" link="TCustomListBox.ClickOnSelChange"/>
      <element name="TCustomListBox.FClickTriggeredBySelectionChange">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TCustomListBox.FColumns" link="TCustomListBox.Columns"/>
      <element name="TCustomListBox.FExtendedSelect" link="TCustomListBox.ExtendedSelect"/>
      <element name="TCustomListBox.FIntegralHeight" link="TCustomListBox.IntegralHeight"/>
      <element name="TCustomListBox.FItemHeight" link="TCustomListBox.ItemHeight"/>
      <element name="TCustomListBox.FItemIndex" link="TCustomListBox.ItemIndex"/>
      <element name="TCustomListBox.FItems" link="TCustomListBox.Items"/>
      <element name="TCustomListBox.FLockSelectionChange">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TCustomListBox.FMultiSelect" link="TCustomListBox.MultiSelect"/>
      <element name="TCustomListBox.FOnDrawItem" link="TCustomListBox.OnDrawItem"/>
      <element name="TCustomListBox.FOnMeasureItem" link="TCustomListBox.OnMeasureItem"/>
      <element name="TCustomListBox.FOnSelectionChange" link="TCustomListBox.OnSelectionChange"/>
      <element name="TCustomListBox.FScrollWidth" link="TCustomListBox.ScrollWidth"/>
      <element name="TCustomListBox.FSorted" link="TCustomListBox.Sorted"/>
      <element name="TCustomListBox.FStyle" link="TCustomListBox.Style"/>
      <element name="TCustomListBox.FTopIndex" link="TCustomListBox.TopIndex"/>
      <!-- function Visibility: private -->
      <element name="TCustomListBox.GetCount" link="TCustomListBox.Count"/>
      <element name="TCustomListBox.GetCount.Result">
        <short/>
      </element>
      <!-- function Visibility: private -->
      <element name="TCustomListBox.GetScrollWidth" link="TCustomListBox.ScrollWidth"/>
      <element name="TCustomListBox.GetScrollWidth.Result">
        <short/>
      </element>
      <!-- function Visibility: private -->
      <element name="TCustomListBox.GetTopIndex" link="TCustomListBox.TopIndex"/>
      <element name="TCustomListBox.GetTopIndex.Result">
        <short/>
      </element>
      <element name="TCustomListBox.RaiseIndexOutOfBounds">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomListBox.RaiseIndexOutOfBounds.AIndex">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomListBox.SetColumns" link="TCustomListBox.Columns"/>
      <element name="TCustomListBox.SetColumns.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomListBox.SetScrollWidth" link="TCustomListBox.ScrollWidth"/>
      <element name="TCustomListBox.SetScrollWidth.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomListBox.SetTopIndex" link="TCustomListBox.TopIndex"/>
      <element name="TCustomListBox.SetTopIndex.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomListBox.UpdateSelectionMode">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomListBox.UpdateSorted">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomListBox.LMDrawListItem">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomListBox.LMDrawListItem.TheMessage">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomListBox.LMMeasureItem">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomListBox.LMMeasureItem.TheMessage">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomListBox.LMSelChange">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomListBox.LMSelChange.TheMessage">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomListBox.WMLButtonUp" link="#LCL.Controls.TControl.WMLButtonUp"/>
      <element name="TCustomListBox.WMLButtonUp.Message">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomListBox.SendItemSelected">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomListBox.SendItemSelected.Index">
        <short/>
      </element>
      <element name="TCustomListBox.SendItemSelected.IsSelected">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <element name="TCustomListBox.AssignItemDataToCache">
        <short>Copy selection state into the cache.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomListBox.AssignItemDataToCache.AIndex">
        <short/>
      </element>
      <element name="TCustomListBox.AssignItemDataToCache.AData">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.AssignCacheToItemData">
        <short>Sends the cached selection state to the widget.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomListBox.AssignCacheToItemData.AIndex">
        <short/>
      </element>
      <element name="TCustomListBox.AssignCacheToItemData.AData">
        <short/>
      </element>
      <element name="TCustomListBox.BeginAutoDrag" link="#LCL.Controls.TControl.BeginAutoDrag"/>
      <element name="TCustomListBox.CalculateStandardItemHeight">
        <short>Determine the standard Height of the items, when no widget has yet been created.</short>
      </element>
      <element name="TCustomListBox.CalculateStandardItemHeight.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.Loaded">
        <short>Sends the predefined ItemIndex to the widget.</short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#rtl.Classes.TComponent.Loaded">TComponent.Loaded</link>
          <link id="#LCL.Controls.TWinControl.Loaded">TWinControl.Loaded</link>
        </seealso>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.CreateParams"/>
      <element name="TCustomListBox.CreateParams.Params">
      <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.InitializeWnd">
        <short>Copies the Items into the widget.</short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TWinControl.InitializeWnd">TWinControl.InitializeWnd</link>
        </seealso>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.FinalizeWnd">
        <short>Caches the Items stored in the widget.</short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TWinControl.FinalizeWnd">TWinControl.FinalizeWnd</link>
        </seealso>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomListBox.GetControlClassDefaultSize"/>
      <element name="TCustomListBox.GetControlClassDefaultSize.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.CheckIndex">
        <short>Assures that the index is inside the Items list bounds.</short>
        <descr/>
        <errors>
          Raises an IndexOutOfBounds exception when the index is out of bounds.
        </errors>
        <seealso/>
      </element>
      <element name="TCustomListBox.CheckIndex.AIndex">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomListBox.GetItemHeight" link="TCustomListBox.ItemHeight"/>
      <element name="TCustomListBox.GetItemHeight.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomListBox.GetItemIndex" link="TCustomListBox.ItemIndex"/>
      <element name="TCustomListBox.GetItemIndex.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomListBox.GetSelCount" link="TCustomListBox.SelCount"/>
      <element name="TCustomListBox.GetSelCount.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomListBox.GetSelected" link="TCustomListBox.Selected"/>
      <element name="TCustomListBox.GetSelected.Result">
        <short>The selection state of the item.</short>
      </element>
      <element name="TCustomListBox.GetSelected.Index">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomListBox.GetCachedDataSize">
        <short>Returns the size of a cached item.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomListBox.GetCachedDataSize.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomListBox.GetCachedData">
        <short>Returns an pointer to the cached item data.</short>
        <descr/>
        <errors>
          Raises an InvalidOperation exception when the cache is invalid, i.e. when the widget has been created.
        </errors>
        <seealso/>
      </element>
      <element name="TCustomListBox.GetCachedData.Result">
        <short/>
      </element>
      <element name="TCustomListBox.GetCachedData.AIndex">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.SetExtendedSelect" link="TCustomListBox.ExtendedSelect"/>
      <element name="TCustomListBox.SetExtendedSelect.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.SetItemIndex" link="TCustomListBox.ItemIndex"/>
      <element name="TCustomListBox.SetItemIndex.AIndex">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.SetItems" link="TCustomListBox.Items"/>
      <element name="TCustomListBox.SetItems.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.SetItemHeight" link="TCustomListBox.ItemHeight"/>
      <element name="TCustomListBox.SetItemHeight.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.SetMultiSelect" link="TCustomListBox.MultiSelect"/>
      <element name="TCustomListBox.SetMultiSelect.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.SetSelected" link="TCustomListBox.Selected"/>
      <element name="TCustomListBox.SetSelected.Index">
        <short/>
      </element>
      <element name="TCustomListBox.SetSelected.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.SetSorted" link="TCustomListBox.Sorted"/>
      <element name="TCustomListBox.SetSorted.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.SetStyle" link="TCustomListBox.Style"/>
      <element name="TCustomListBox.SetStyle.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.DrawItem">
        <short>Paints an item in owner-draw mode.</short>
        <descr/>
        <errors/>
        <seealso><link id="TDrawItemEvent"/>
        </seealso>
      </element>
      <element name="TCustomListBox.DrawItem.Index">
        <short/>
      </element>
      <element name="TCustomListBox.DrawItem.ARect">
        <short/>
      </element>
      <element name="TCustomListBox.DrawItem.State">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.DoSelectionChange" link="TCustomListBox.OnSelectionChange">
        <short>Invokes the OnSelectionChange handler.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomListBox.DoSelectionChange.User">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomListBox.SendItemIndex">
        <short>Sends the ItemIndex to the widget.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCustomListBox.Create"/>
      <element name="TCustomListBox.Create.TheOwner">
        <short/>
      </element>
      <!-- destructor Visibility: public -->
      <element name="TCustomListBox.Destroy"/>
      <!-- procedure Visibility: public -->
      <element name="TCustomListBox.AddItem">
        <short>Adds an item to the list.</short>
        <descr>
        </descr>
        <errors>
        </errors>
        <seealso><link id="TCustomListBox.Items"/>
        </seealso>
      </element>
      <element name="TCustomListBox.AddItem.Item">
        <short>The item text.</short>
      </element>
      <element name="TCustomListBox.AddItem.AnObject">
        <short>The associated object, can be Nil.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomListBox.Click" link="#LCL.Controls.TControl.Click"/>
      <!-- procedure Visibility: public -->
      <element name="TCustomListBox.Clear">
        <short>Removes all items from the list.</short>
        <descr/>
        <errors/>
        <seealso><link id="TCustomListBox.Items"/>
        </seealso>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomListBox.ClearSelection">
        <short>Unselects all items.</short>
        <descr/>
        <errors/>
        <seealso><link id="TCustomListBox.Items"/>
        </seealso>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomListBox.GetIndexAtXY">
        <short>Find the item at the given client coordinates.</short>
      </element>
      <element name="TCustomListBox.GetIndexAtXY.Result">
        <short>The item index, -1 if no item could be found.</short>
      </element>
      <element name="TCustomListBox.GetIndexAtXY.X">
        <short>The X client coordinate.</short>
      </element>
      <element name="TCustomListBox.GetIndexAtXY.Y">
        <short>The Y client coordinate.</short>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomListBox.GetIndexAtY" link="TCustomListBox.GetIndexAtXY"/>
      <element name="TCustomListBox.GetIndexAtY.Result">
        <short>The item index, -1 if no item could be found.</short>
      </element>
      <element name="TCustomListBox.GetIndexAtY.Y">
        <short>The Y client coordinate.</short>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomListBox.GetSelectedText">
        <short>Get the text of <b>all</b> selected items in one string.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomListBox.GetSelectedText.Result">
        <short>The item strings, one per line.</short>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomListBox.ItemAtPos">
        <short>Get the item index for the given client coordinates.</short>
        <descr/>
        <errors/>
        <seealso><link id="TCustomListBox.GetIndexAtXY"/>
        </seealso>
      </element>
      <element name="TCustomListBox.ItemAtPos.Result">
        <short>The calculated item index, can be out of the Items bounds.</short>
      </element>
      <element name="TCustomListBox.ItemAtPos.Pos">
        <short>The item position.</short>
      </element>
      <element name="TCustomListBox.ItemAtPos.Existing">
        <short>True when the index is requested for insertion of a new item.</short>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomListBox.ItemRect">
        <short>Returns the client area of an item (including scrolling).</short>
        <descr>Only an index from 0 to ItemCount is considered valid,
          i.e. the result is valid also for the next item, that will be added subsequently.
        </descr>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomListBox.ItemRect.Result">
        <short>The item area; all zeroes for an invalid item index.</short>
      </element>
      <element name="TCustomListBox.ItemRect.Index">
        <short>The tentative item index.</short>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomListBox.ItemVisible">
        <short>Returns True if the item is at least partially visible in the scrolled list.</short>
        <descr/>
        <errors/>
        <seealso><link id="TCustomListBox.ItemFullyVisible"/>
        </seealso>
      </element>
      <element name="TCustomListBox.ItemVisible.Result">
        <short/>
      </element>
      <element name="TCustomListBox.ItemVisible.Index">
        <short/>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomListBox.ItemFullyVisible">
        <short>Returns True if the item is fully visible in the scrolled list.</short>
        <descr/>
        <errors/>
        <seealso><link id="TCustomListBox.ItemVisible"/>
        </seealso>
      </element>
      <element name="TCustomListBox.ItemFullyVisible.Result">
        <short/>
      </element>
      <element name="TCustomListBox.ItemFullyVisible.Index">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomListBox.LockSelectionChange">
        <short>Blocks selection changes during update of the widget.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomListBox.MakeCurrentVisible">
        <short>Makes the item at ItemIndex visible, possibly scrolling the list.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomListBox.MeasureItem">
        <short>Request the Height of a list item, using the OnMeasureItem handler.</short>
        <descr/>
        <errors/>
        <seealso><link id="TCustomListBox.OnMeasureItem"/>
        </seealso>
      </element>
      <element name="TCustomListBox.MeasureItem.Index">
        <short>The item index.</short>
      </element>
      <element name="TCustomListBox.MeasureItem.TheHeight">
        <short>The height of the item in pixels, can be changed by the handler.</short>
      </element>
      <element name="TCustomListBox.SelectAll">
        <short>Selects all items in the list (in ExtendedSelect mode).</short>
        <seealso><link id="TCustomListBox.ExtendedSelect"/>
        </seealso>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomListBox.UnlockSelectionChange">
        <short>Unlocks previously locked selection changes.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.Align" link="#LCL.Controls.TControl.Align"/>
      <element name="TCustomListBox.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TCustomListBox.BorderStyle" link="#LCL.Controls.TWinControl.BorderStyle"/>
      <element name="TCustomListBox.Canvas"/>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.ClickOnSelChange">
        <short>Allows selection changes to generate a Click event.</short>
        <descr>
          Delphi generates an OnClick event when the selection changes.
          The LCL adds a more specific OnSelectionChange event.
          Set ClickOnSelChange to False, when selection changes should be handled only in OnSelectionChange, and should not generate an OnClick event (Delphi compatible).
        </descr>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.Columns">
        <short>The number of <b>visible</b> vertical columns.</short>
        <descr>
          <p>
            A ListBox can have multiple columns, not only multiple rows.
          </p><p>
            When Columns is greater than zero, it specifies the number of columns that are visible without horizontal scrolling.
            I.e. the width of a single column becomes Width/Columns.
          </p>
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.Constraints" link="#LCL.Controls.TControl.Constraints"/>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.Count">
        <short>The number of items in the list.</short>
        <descr>
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.ExtendedSelect">
        <short>True when a contiguous range of items can be selected by a SHIFT-click. Default True.</short>
        <descr>
          <p>
            Normally a click into the list selects one item, and deselects all other items.
          </p><p>
            When MultiSelect is True, the user can select/deselect further items with CTRL-click.
          </p><p>
            When ExtendedSelect also is True, the user can SHIFT-click on an item, to select all items between this and the last selected item.
          </p>
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.Font" link="#LCL.Controls.TControl.Font"/>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.IntegralHeight">
        <short>Not implemented: shrink the Height of the widget, so that it only shows fully visible rows.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.ItemHeight">
        <short>The default height of all items.</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.ItemIndex">
        <short>The currently selected item, -1 if none.</short>
        <descr>If MultiSelect is True, ItemIndex represents the selected item which also has the focus.
        </descr>
        <seealso>
          <link id="TCustomListBox"/>
          <link id="TCustomListBox.Items"/>
          <link id="TCustomListBox.MultiSelect"/>
          <link id="TCustomListBox.ExtendedSelect"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.Items">
        <short>The list of all items in the control.</short>
        <descr>
          <p>
            Reading allows one to access the contents of the list (TStrings compatible).
          </p><p>
            Assign another string list to replace the items.
          </p>
        </descr>
        <seealso>
          <link id="TCustomListBox.ItemIndex"/>
          <link id="#rtl.Classes.TStrings"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.MultiSelect">
        <short>Allows to select more than one Item from the list, using CTRL-click.</short>
        <seealso>
          <link id="TCustomListBox.ExtendedSelect"/>
          <link id="TCustomListBox.ItemIndex"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.OnChangeBounds" link="#LCL.Controls.TControl.OnChangeBounds"/>
      <element name="TCustomListBox.OnClick" link="#LCL.Controls.TControl.OnClick"/>
      <element name="TCustomListBox.OnDblClick" link="#LCL.Controls.TControl.OnDblClick"/>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.OnDrawItem">
        <short>Handler for special painting of an item (in owner-draw mode).</short>
        <descr>
        </descr>
        <seealso><link id="TDrawItemEvent"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.OnEnter" link="#LCL.Controls.TWinControl.OnEnter"/>
      <element name="TCustomListBox.OnExit" link="#LCL.Controls.TWinControl.OnExit"/>
      <element name="TCustomListBox.OnKeyDown" link="#LCL.Controls.TWinControl.OnKeyDown"/>
      <element name="TCustomListBox.OnKeyPress" link="#LCL.Controls.TWinControl.OnKeyPress"/>
      <element name="TCustomListBox.OnKeyUp" link="#LCL.Controls.TWinControl.OnKeyUp"/>
      <!-- property Visibility: protected -->
      <element name="TCustomListBox.OnMeasureItem">
        <short>Handler invoked when the height of an item is required.</short>
        <descr/>
        <seealso><link id="TMeasureItemEvent"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.OnMouseDown" link="#LCL.Controls.TControl.OnMouseDown"/>
      <element name="TCustomListBox.OnMouseMove" link="#LCL.Controls.TControl.OnMouseMove"/>
      <element name="TCustomListBox.OnMouseUp" link="#LCL.Controls.TControl.OnMouseUp"/>
      <element name="TCustomListBox.OnMouseEnter" link="#LCL.Controls.TControl.OnMouseEnter"/>
      <element name="TCustomListBox.OnMouseLeave" link="#LCL.Controls.TControl.OnMouseLeave"/>
      <element name="TCustomListBox.OnMouseWheel" link="#LCL.Controls.TControl.OnMouseWheel"/>
      <element name="TCustomListBox.OnMouseWheelDown" link="#LCL.Controls.TControl.OnMouseWheelDown"/>
      <element name="TCustomListBox.OnMouseWheelUp" link="#LCL.Controls.TControl.OnMouseWheelUp"/>
      <element name="TCustomListBox.OnResize" link="#LCL.Controls.TControl.OnResize"/>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.OnSelectionChange">
        <short>Handler invoked when an item is selected.</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <element name="TCustomListBox.ParentFont" link="#LCL.Controls.TControl.ParentFont"/>
      <element name="TCustomListBox.ParentShowHint" link="#LCL.Controls.TControl.ParentShowHint"/>
      <element name="TCustomListBox.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.ScrollWidth">
        <short>The virtual width of the ListBox, in pixels.
        </short>
        <descr>
          This property determines, how far the listbox can be scrolled horizontally.
          In a multi-column ListBox it also determines the total number of vertical columns, together with Columns.
        </descr>
        <seealso><link id="TCustomListBox.Columns"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.SelCount">
        <short>The number of selected iems in the list.</short>
        <descr/>
        <seealso>
          <link id="TCustomListBox.Selected"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.Selected">
        <short>Get or set the Selected state of an item.</short>
      </element>
      <element name="TCustomListBox.Selected.Index">
        <short/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.ShowHint" link="#LCL.Controls.TControl.ShowHint"/>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.Sorted">
        <short>Determines whether the list entries are sorted.</short>
        <descr>Setting this property to True enforces ascending alphanumeric case-insensitive sorting of the list.
          When True, new entries are added in sort order, not to the end of the list.
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.Style">
        <short>Appearance of the ListBox - normal, owner-draw fixed, or owner-draw variable.</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TCustomListBox.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.TopIndex">
        <short>Index of the first visible (topmost) item.</short>
        <descr/>
        <seealso>
          <link id="TCustomListBox.MakeVisible"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomListBox.OnUTF8KeyPress" link="#LCL.Controls.TWinControl.OnUTF8KeyPress"/>
      <element name="TCustomListBox.Visible" link="#LCL.Controls.TControl.Visible"/>
<!-- object Visibility: default -->
      <element name="TListBox">
        <short>A scrollable list of strings.</short>
        <descr>
          <p>The strings are stored in the <var>Items</var> list.
          </p>
          <p>At design time a click on the ellipsis (...) next to the <var>Items</var> entry in the Object Inspector
            opens an string-list editor, in which the individual text-strings for the list items can be entered or edited.
            The editor also allows the entries to be sorted alphabetically in normal or reverse order.</p>
        </descr>
        <seealso>
          <link id="TComboBox"/>
          <link id="HowToUseStdCtrls"/>
        </seealso>
      </element>
      <!-- property Visibility: published -->
      <element name="TListBox.Align" link="#LCL.Controls.TControl.Align"/>
      <element name="TListBox.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TListBox.BidiMode" link="#LCL.Controls.TControl.BiDiMode"/>
      <element name="TListBox.BorderSpacing" link="#LCL.Controls.TControl.BorderSpacing"/>
      <element name="TListBox.BorderStyle" link="#LCL.Controls.TWinControl.BorderStyle"/>
      <element name="TListBox.ClickOnSelChange" link="#LCL.StdCtrls.TCustomListBox.ClickOnSelChange"/>
      <element name="TListBox.Color" link="#LCL.Controls.TControl.Color"/>
      <element name="TListBox.Columns" link="#LCL.StdCtrls.TCustomListBox.Columns"/>
      <element name="TListBox.Constraints" link="#LCL.Controls.TControl.Constraints"/>
      <element name="TListBox.DragCursor" link="#LCL.Controls.TControl.DragCursor"/>
      <element name="TListBox.DragKind" link="#LCL.Controls.TControl.DragKind"/>
      <element name="TListBox.DragMode" link="#LCL.Controls.TControl.DragMode"/>
      <element name="TListBox.ExtendedSelect" link="#LCL.StdCtrls.TCustomListBox.ExtendedSelect"/>
      <element name="TListBox.Enabled" link="#LCL.Controls.TControl.Enabled"/>
      <element name="TListBox.Font" link="#LCL.Controls.TControl.Font"/>
      <element name="TListBox.IntegralHeight" link="#LCL.StdCtrls.TCustomListBox.IntegralHeight"/>
      <element name="TListBox.Items" link="#LCL.StdCtrls.TCustomListBox.Items"/>
      <element name="TListBox.ItemHeight" link="#LCL.StdCtrls.TCustomListBox.ItemHeight"><short>Get or set the height of a single item</short><descr>Works on Windows.
Implemented on Gtk2, but some Gtk versions ignores it.
Qt and Carbon have not implemented it.</descr>
      </element>
      <element name="TListBox.MultiSelect" link="#LCL.StdCtrls.TCustomListBox.MultiSelect"/>
      <element name="TListBox.OnChangeBounds" link="#LCL.Controls.TControl.OnChangeBounds"/>
      <element name="TListBox.OnClick" link="#LCL.Controls.TControl.OnClick"/>
      <element name="TListBox.OnContextPopup" link="#LCL.Controls.TControl.OnContextPopup"/>
      <element name="TListBox.OnDblClick" link="#LCL.Controls.TControl.OnDblClick"/>
      <element name="TListBox.OnDragDrop" link="#LCL.Controls.TControl.OnDragDrop"/>
      <element name="TListBox.OnDragOver" link="#LCL.Controls.TControl.OnDragOver"/>
      <element name="TListBox.OnDrawItem" link="#LCL.StdCtrls.TCustomListBox.OnDrawItem"/>
      <element name="TListBox.OnEnter" link="#LCL.Controls.TWinControl.OnEnter"/>
      <element name="TListBox.OnEndDrag" link="#LCL.Controls.TControl.OnEndDrag"/>
      <element name="TListBox.OnExit" link="#LCL.Controls.TWinControl.OnExit"/>
      <element name="TListBox.OnKeyPress" link="#LCL.Controls.TWinControl.OnKeyPress"/>
      <element name="TListBox.OnKeyDown" link="#LCL.Controls.TWinControl.OnKeyDown"/>
      <element name="TListBox.OnKeyUp" link="#LCL.Controls.TWinControl.OnKeyUp"/>
      <element name="TListBox.OnMeasureItem" link="#LCL.StdCtrls.TCustomListBox.OnMeasureItem"/>
      <element name="TListBox.OnMouseMove" link="#LCL.Controls.TControl.OnMouseMove"/>
      <element name="TListBox.OnMouseDown" link="#LCL.Controls.TControl.OnMouseDown"/>
      <element name="TListBox.OnMouseUp" link="#LCL.Controls.TControl.OnMouseUp"/>
      <element name="TListBox.OnMouseEnter" link="#LCL.Controls.TControl.OnMouseEnter"/>
      <element name="TListBox.OnMouseLeave" link="#LCL.Controls.TControl.OnMouseLeave"/>
      <element name="TListBox.OnMouseWheel" link="#LCL.Controls.TControl.OnMouseWheel"/>
      <element name="TListBox.OnMouseWheelDown" link="#LCL.Controls.TControl.OnMouseWheelDown"/>
      <element name="TListBox.OnMouseWheelUp" link="#LCL.Controls.TControl.OnMouseWheelUp"/>
      <element name="TListBox.OnResize" link="#LCL.Controls.TControl.OnResize"/>
      <element name="TListBox.OnSelectionChange" link="#LCL.StdCtrls.TCustomListBox.OnSelectionChange"/>
      <element name="TListBox.OnShowHint" link="#LCL.Controls.TControl.OnShowHint"/>
      <element name="TListBox.OnStartDrag"/>
      <element name="TListBox.OnUTF8KeyPress" link="#LCL.Controls.TWinControl.OnUTF8KeyPress"/>
      <element name="TListBox.ParentBidiMode"/>
      <element name="TListBox.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <element name="TListBox.ParentShowHint"/>
      <element name="TListBox.ParentFont" link="#LCL.Controls.TControl.ParentFont"/>
      <element name="TListBox.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <element name="TListBox.ScrollWidth" link="TCustomListBox.ScrollWidth"/>
      <element name="TListBox.ShowHint" link="#LCL.Controls.TControl.ShowHint"/>
      <element name="TListBox.Sorted" link="#LCL.StdCtrls.TCustomListBox.Sorted"/>
      <element name="TListBox.Style" link="#LCL.StdCtrls.TCustomListBox.Style"/>
      <element name="TListBox.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TListBox.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <element name="TListBox.TopIndex" link="#LCL.StdCtrls.TCustomListBox.TopIndex"/>
      <element name="TListBox.Visible" link="#LCL.Controls.TControl.Visible"/>
<!-- object Visibility: default -->
      <element name="TCustomEdit">
        <short>The base class for controls presenting editable text.</short>
        <descr>
          <p>This class implements various visual attributes of the control and its contained text,
            as well as simple editing and clipboard operations.
          </p>
          <p>Text attributes (bold, italic...) are <b>not</b> supported.
          </p>
        </descr>
      <notes><note>see TSynEdit...?</note>
        </notes>
      </element>
      <!-- variable Visibility: private -->
      <element name="TCustomEdit.FAlignment" link="TCustomEdit.Alignment"/>
      <element name="TCustomEdit.FAutoSelect" link="TCustomEdit.AutoSelect"/>
      <element name="TCustomEdit.FAutoSelected" link="TCustomEdit.AutoSelected"/>
      <element name="TCustomEdit.FCharCase" link="TCustomEdit.CharCase"/>
      <element name="TCustomEdit.fCaretPos" link="TCustomEdit.CaretPos"/>
      <element name="TCustomEdit.FEchoMode" link="TCustomEdit.EchoMode"/>
      <element name="TCustomEdit.FHideSelection" link="TCustomEdit.HideSelection"/>
      <element name="TCustomEdit.FMaxLength" link="TCustomEdit.MaxLength"/>
      <element name="TCustomEdit.FModified" link="TCustomEdit.Modified"/>
      <element name="TCustomEdit.FPasswordChar" link="TCustomEdit.PasswordChar"/>
      <element name="TCustomEdit.FReadOnly" link="TCustomEdit.ReadOnly"/>
      <element name="TCustomEdit.FOnChange" link="TCustomEdit.OnChange"/>
      <element name="TCustomEdit.FSelLength" link="TCustomEdit.SelLength"/>
      <element name="TCustomEdit.FSelStart" link="TCustomEdit.SelStart"/>
      <!-- procedure Visibility: private -->
      <element name="TCustomEdit.SetAlignment" link="TCustomEdit.Alignment"/>
      <element name="TCustomEdit.SetAlignment.AValue">
        <short/>
      </element>
      <!-- function Visibility: private -->
      <element name="TCustomEdit.GetCanUndo" link="TCustomEdit.CanUndo"/>
      <element name="TCustomEdit.GetCanUndo.Result">
        <short/>
      </element>
      <!-- function Visibility: private -->
      <element name="TCustomEdit.GetModified" link="TCustomEdit.Modified"/>
      <element name="TCustomEdit.GetModified.Result">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomEdit.SetCharCase" link="TCustomEdit.CharCase"/>
      <element name="TCustomEdit.SetCharCase.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomEdit.SetHideSelection" link="TCustomEdit.HideSelection"/>
      <element name="TCustomEdit.SetHideSelection.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomEdit.SetMaxLength" link="TCustomEdit.MaxLength"/>
      <element name="TCustomEdit.SetMaxLength.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomEdit.SetModified" link="TCustomEdit.Modified"/>
      <element name="TCustomEdit.SetModified.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomEdit.SetPasswordChar" link="TCustomEdit.PasswordChar"/>
      <element name="TCustomEdit.SetPasswordChar.AValue">
        <short/>
      </element>
      <element name="TCustomEdit.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <!-- procedure Visibility: private -->
      <element name="TCustomEdit.SetReadOnly" link="TCustomEdit.ReadOnly"/>
      <element name="TCustomEdit.SetReadOnly.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomEdit.CalculatePreferredSize" link="#LCL.Controls.TControl.CalculatePreferredSize"/>
      <element name="TCustomEdit.CalculatePreferredSize.PreferredWidth">
        <short/>
      </element>
      <element name="TCustomEdit.CalculatePreferredSize.PreferredHeight">
        <short/>
      </element>
      <element name="TCustomEdit.CalculatePreferredSize.WithThemeSpace">
        <short/>
      </element>
      <element name="TCustomEdit.CreateWnd"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomEdit.CreateParams"/>
      <element name="TCustomEdit.CreateParams.Params">
        <short/>
      </element>
      <element name="TCustomEdit.TextChanged" link="#LCL.Controls.TControl.TextChanged"/>
      <element name="TCustomEdit.Change"/>
      <element name="TCustomEdit.DoEnter">
        <short>Invokes the OnEnter handler, then selects the entire text when AutoSelect is True.
        </short>
        <descr>This special handling is required when the control is entered by keystrokes, not by a mouse click.
        </descr>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TWinControl.DoEnter">TWinControl.DoEnter</link>
        </seealso>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomEdit.DoExit"/>
      <element name="TCustomEdit.GetCaretPos" link="TCustomEdit.CaretPos"/>
      <element name="TCustomEdit.GetCaretPos.Result">
        <short/>
      </element>
      <element name="TCustomEdit.GetReadOnly" link="TCustomEdit.ReadOnly"/>
      <element name="TCustomEdit.GetReadOnly.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomEdit.GetSelLength" link="TCustomEdit.SelLength"/>
      <element name="TCustomEdit.GetSelLength.Result">
        <short>The number of selected UTF-8 characters.</short>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomEdit.GetSelStart" link="TCustomEdit.SelStart"/>
      <element name="TCustomEdit.GetSelStart.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomEdit.GetSelText" link="TCustomEdit.SelText"/>
      <element name="TCustomEdit.GetSelText.Result">
        <short/>
      </element>
      <element name="TCustomEdit.SetCaretPos" link="TCustomEdit.CaretPos"/>
      <element name="TCustomEdit.SetCaretPos.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomEdit.SetEchoMode" link="TCustomEdit.EchoMode"/>
      <element name="TCustomEdit.SetEchoMode.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomEdit.SetSelLength" link="TCustomEdit.SelLength"/>
      <element name="TCustomEdit.SetSelLength.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomEdit.SetSelStart" link="TCustomEdit.SelStart"/>
      <element name="TCustomEdit.SetSelStart.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomEdit.SetSelText" link="TCustomEdit.SelText"/>
      <element name="TCustomEdit.SetSelText.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomEdit.RealSetText" link="#LCL.Controls.TControl.RealSetText"/>
      <element name="TCustomEdit.RealSetText.AValue">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomEdit.ChildClassAllowed" link="#LCL.Controls.TWinControl.ChildClassAllowed"/>
      <element name="TCustomEdit.ChildClassAllowed.Result">
        <short/>
      </element>
      <element name="TCustomEdit.ChildClassAllowed.ChildClass">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomEdit.GetControlClassDefaultSize"/>
      <element name="TCustomEdit.GetControlClassDefaultSize.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomEdit.KeyUpAfterInterface"/>
      <element name="TCustomEdit.KeyUpAfterInterface.Key">
        <short/>
      </element>
      <element name="TCustomEdit.KeyUpAfterInterface.Shift">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomEdit.WMChar" link="#LCL.Controls.TWinControl.WMChar">
        <short>Prevents keystrokes from acting as accelerators.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomEdit.WMChar.Message">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomEdit.MouseUp" link="#LCL.Controls.TControl.MouseUp">
        <short>Selects the entire text when AutoSelect is True.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomEdit.MouseUp.Button">
        <short/>
      </element>
      <element name="TCustomEdit.MouseUp.Shift">
        <short/>
      </element>
      <element name="TCustomEdit.MouseUp.X">
        <short/>
      </element>
      <element name="TCustomEdit.MouseUp.Y">
        <short/>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCustomEdit.Create"/>
      <element name="TCustomEdit.Create.AOwner">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomEdit.Clear">
        <short>Deletes all text.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomEdit.SelectAll">
        <short>Selects the entire text in the control.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomEdit.ClearSelection">
        <short>Deletes (removes) the selected text.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomEdit.CopyToClipboard">
        <short>Copies the selected text into the clipboard.</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomEdit.CutToClipboard">
        <short>Moves the selected text into the clipboard (removes it from the control).</short>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomEdit.PasteFromClipboard">
        <short>Inserts text from the clipboard at the current position, possibly replacing the selected text.</short>
      </element>
      <element name="TCustomEdit.Undo">
        <short>Reverts the last edit action.</short>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomEdit.Alignment">
        <short>The horizontal adjustment of the text - left, right, or centered.</short>
      </element>
      <element name="TCustomEdit.AutoSelect">
        <short>If True, the edit control will select all its text when it receives focus or when the Enter key is pressed.</short>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomEdit.AutoSelected">
        <short>True when the text selection was established automatically.</short>
        <descr>
        </descr>
        <seealso><link id="TCustomEdit.AutoSelect"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.AutoSize">
        <short>TCustomEdit defaults to True</short>
        <descr>
        </descr>
        <seealso>
        </seealso>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.BorderStyle" link="#LCL.Controls.TWinControl.BorderStyle"/>
      <element name="TCustomEdit.CanUndo">
        <short>Indicates whether recent changes can be reverted.</short>
      </element>
      <element name="TCustomEdit.CaretPos">
        <short>The position of the text cursor.</short>
        <descr>
          <p>
            Character positions are relative to the string, independent of LTR/RTL display.
            The position reflects logical (UTF-8) characters.
          </p><p>
            Position zero is right <b>before</b> the first character.
          </p><p>
            If there is a selection, the caret is considered to be right <b>after</b>
            the last selected character.
          </p>
        </descr>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.CharCase">
        <short>Allows to force the text into all upper or lower case.</short>
        <descr>
          <p>The following conversions can be specified:</p>
          <ul>
            <li>Unchanged</li>
            <li>All upper case letters</li>
            <li>All lower case letters</li>
          </ul>
          <remark>According conversions apply to the entire text, and can <b>not</b> be reverted.</remark>
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.EchoMode">
        <short>Allows to modify the text display, useful for entering passwords.</short>
        <descr>
          <p>The following conversions can be specified:</p>
          <ul>
            <li>emNormal: Unchanged</li>
            <li>emNone: All spaces</li>
            <li>emPassword: All PasswordChars</li>
          </ul>
          <remark>According conversions apply to the entire text, and can <b>not</b> be reverted.</remark>
        </descr>
      </element>
      <element name="TCustomEdit.HideSelection">
        <short>Allows to hide the selection, when the control doesn't have the focus.</short>
        <descr/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.MaxLength">
        <short>The maximum length of the text; zero for unlimited.</short>
        <descr>
          In Delphi MaxLength only limits user input. The LCL instead restricts the maximum length of the contained text;
          this simplifies the implementation for non-Win32 widgetsets.
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.Modified">
        <short>True when the text has changed.</short>
        <descr>Reset whenever the changed text was stored (saved) by code.</descr>
        <seealso/>
      <notes><note>how?</note>
        </notes>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.OnChange">
        <short>Event handler for any change in text.</short>
        <descr>Text changes which trigger OnChange include changing the text programatically and also changing it by the user, for example using the keyboard or a virtual keyboard. Note that some OnChange events in other classes might not be trigerred on programatical changes, for example TComboBox.OnChange. This event should not happen when only starting up a form, without any extra code.</descr>
        <seealso><link id="TCustomComboBox.OnChange"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <element name="TCustomEdit.PasswordChar">
        <short>Allows to obfuscate the displayed text, showing all characters as PasswordChar.</short>
        <descr>
          <p>Typically used in password input, to hide the input from other viewers.
          </p>
          <remark>Malware still can read the Text property (WM_GETTEXT), to get the real text.</remark>
        </descr>
        <seealso><link id="TCustomEdit.EchoMode"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.ReadOnly">
        <short>Prevents the user from changing the text.</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.SelLength">
        <short>The number of currently selected characters.</short>
        <seealso>
          <link id="TCustomEdit.SelText"/>
          <link id="TCustomEdit.SelStart"/>
          <link id="TCustomComboBox.SelStart"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.SelStart">
        <short>The zero-based index of the first character in the selection.</short>
        <seealso>
          <link id="TCustomEdit.SelLength"/>
          <link id="TCustomComboBox.SelStart"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.SelText">
        <short>The selected text in the edit box.</short>
        <descr>Assign an new string to replace the selected text.
        </descr>
        <seealso>
          <link id="TCustomEdit.SelLength"/>
          <link id="TCustomEdit.SelStart"/>
          <link id="TCustomComboBox.SelStart"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TCustomEdit.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <!-- property Visibility: public -->
      <element name="TCustomEdit.Text">
        <short>The text in the edit box.</short>
        <descr/>
      </element>
<!-- object Visibility: default -->
      <element name="TMemoScrollbar">
        <short>A ScrollBar for use in Memo Boxes.</short>
        <descr>Scroll Bar specifically for use in Memo Boxes.
          Inherits most of its properties from its ancestor, <link id="#lcl.Forms.TControlScrollBar">TControlScrollBar</link>
        </descr>
      </element>
      <!-- function Visibility: protected -->
      <element name="TMemoScrollbar.GetHorzScrollBar" link="#LCL.Forms.TControlScrollBar.GetHorzScrollBar">
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TMemoScrollbar.GetHorzScrollBar.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TMemoScrollbar.GetVertScrollBar" link="#LCL.Forms.TControlScrollBar.GetVertScrollBar">
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TMemoScrollbar.GetVertScrollBar.Result">
        <short/>
      </element>
      <!-- property Visibility: public -->
      <element name="TMemoScrollbar.Increment" link="#LCL.Forms.TControlScrollBar.Increment"/>
      <element name="TMemoScrollbar.Page" link="#LCL.Forms.TControlScrollBar.Page"/>
      <element name="TMemoScrollbar.Smooth" link="#LCL.Forms.TControlScrollBar.Smooth"/>
      <element name="TMemoScrollbar.Position" link="#LCL.Forms.TControlScrollBar.Position"/>
      <element name="TMemoScrollbar.Range" link="#LCL.Forms.TControlScrollBar.Range"/>
      <element name="TMemoScrollbar.Size" link="#LCL.Forms.TControlScrollBar.Size"/>
      <element name="TMemoScrollbar.Visible" link="#LCL.Forms.TControlScrollBar.Visible"/>
<!-- object Visibility: default -->
      <element name="TCustomMemo">
        <short>The base class for multi-line text controls.</short>
        <descr>
          <p>
            The text in a multi-line control can be accessed in two ways:
          </p>
          <ul>
            <li><var>Lines</var> allows access to every single line.</li>
            <li><var>Lines.Text</var> represents the entire text as one string.</li>
          </ul>
          <p>The overhead involved with every property depends on the internal representation representation of the text, in the widget.
            In either case multiple changes to the Text property should be done in a local copy,
            written back after all changes have been applied.
          </p>
          <p>
            The logical lines (paragraphs) in <var>Lines</var> do not always match the displayed lines.
            When WordWrap is True, every paragraph can wrap into multiple display lines.
          </p>
        </descr>
        <seealso>
          <link id="TCustomMemo.Lines"/>
        </seealso>
      <notes><note>really?</note>
        </notes>
      </element>
      <!-- variable Visibility: private -->
      <element name="TCustomMemo.FHorzScrollBar" link="TCustomMemo.HorzScrollBar"/>
      <element name="TCustomMemo.FLines" link="TCustomMemo.Lines"/>
      <element name="TCustomMemo.FScrollBars" link="TCustomMemo.ScrollBars"/>
      <element name="TCustomMemo.FVertScrollBar" link="TCustomMemo.VertScrollBar"/>
      <element name="TCustomMemo.FWantReturns" link="TCustomMemo.WantReturns"/>
      <element name="TCustomMemo.FWantTabs" link="TCustomMemo.WantTabs"/>
      <element name="TCustomMemo.FWordWrap" link="TCustomMemo.WordWrap"/>
      <!-- procedure Visibility: private -->
      <element name="TCustomMemo.SetHorzScrollBar" link="TCustomMemo.HorzScrollBar"/>
      <element name="TCustomMemo.SetHorzScrollBar.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomMemo.SetVertScrollBar" link="TCustomMemo.VertScrollBar"/>
      <element name="TCustomMemo.SetVertScrollBar.AValue">
        <short/>
      </element>
      <element name="TCustomMemo.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomMemo.CreateParams"/>
      <element name="TCustomMemo.CreateParams.Params">
        <short/>
      </element>
      <element name="TCustomMemo.InitializeWnd"/>
      <element name="TCustomMemo.FinalizeWnd"/>
      <!-- function Visibility: protected -->
      <element name="TCustomMemo.RealGetText">
        <short>Returns the contents of <var>Lines.Text</var>
        </short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TControl.RealGetText">TControl.RealGetText</link>
          <link id="#rtl.Classes.TStrings.Text"/>
        </seealso>
      <notes><note>NewLine?</note>
        </notes>
      </element>
      <element name="TCustomMemo.RealGetText.Result">
        <short>The entire text in one string.</short>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomMemo.RealSetText">
        <short>Replaces <var>Lines.Text</var>.</short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TControl.RealSetText">TControl.RealSetText</link>
        </seealso>
      </element>
      <element name="TCustomMemo.RealSetText.Value">
        <short>The entire text in one string. Lines are separated by LineFeed (LF) and/or CarriageReturn (CR) characters.</short>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomMemo.GetCachedText" link="#LCL.Controls.TControl.GetCachedText">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomMemo.GetCachedText.Result">
        <short>Always False, a cache is not implemented.</short>
      </element>
      <element name="TCustomMemo.GetCachedText.CachedText">
        <short>The <var>CachedText</var> of type TCaption that is being fetched</short>
      </element>
      <element name="TCustomMemo.GetCaretPos" link="#LCL.StdCtrls.TCustomEdit.GetCaretPos"/>
      <element name="TCustomMemo.GetCaretPos.Result">
        <short>Returns the position of the cursor marker or caret</short>
      </element>
      <element name="TCustomMemo.SetCaretPos" link="#LCL.StdCtrls.TCustomEdit.SetCaretPos"/>
      <element name="TCustomMemo.SetCaretPos.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomMemo.SetLines" link="TCustomMemo.Lines"/>
      <element name="TCustomMemo.SetLines.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomMemo.SetSelText" link="#LCL.StdCtrls.TCustomEdit.SelText"/>
      <element name="TCustomMemo.SetSelText.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomMemo.SetWantReturns" link="TCustomMemo.WantReturns"/>
      <element name="TCustomMemo.SetWantReturns.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomMemo.SetWantTabs" link="TCustomMemo.WantTabs"/>
      <element name="TCustomMemo.SetWantTabs.NewWantTabs">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomMemo.SetWordWrap" link="TCustomMemo.WordWrap"/>
      <element name="TCustomMemo.SetWordWrap.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomMemo.SetScrollBars" link="TCustomMemo.ScrollBars"/>
      <element name="TCustomMemo.SetScrollBars.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomMemo.Loaded"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomMemo.ControlKeyDown" link="#LCL.Controls.TWinControl.ControlKeyDown"/>
      <element name="TCustomMemo.ControlKeyDown.Key">
        <short/>
      </element>
      <element name="TCustomMemo.ControlKeyDown.Shift">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomMemo.CNChar" link="#LCL.Controls.TWinControl.CNChar"/>
      <element name="TCustomMemo.CNChar.Message">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomMemo.GetControlClassDefaultSize"/>
      <element name="TCustomMemo.GetControlClassDefaultSize.Result">
        <short>Returns the default size, stored as a TPoint</short>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCustomMemo.Create"/>
      <element name="TCustomMemo.Create.AOwner">
        <short/>
      </element>
      <!-- destructor Visibility: public -->
      <element name="TCustomMemo.Destroy"/>
      <!-- procedure Visibility: public -->
      <element name="TCustomMemo.Append">
        <short>Appends a line to the text.</short>
      </element>
      <element name="TCustomMemo.Append.Value">
        <short>The text in the line.</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomMemo.Lines">
        <short>An array with one string for every line (paragraph) in the control. Whilst it type is TStrings you cannot store Objects inside it.</short>
        <descr/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomMemo.HorzScrollBar">
        <short>The horizontal scroll bar for this control.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomMemo.VertScrollBar">
        <short>The vertical scroll bar for this control.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomMemo.ScrollBars">
        <short>Adds vertical and/or horizontal scrollbars to the control.</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomMemo.WantReturns">
        <short>Allows the user to insert Return characters (line breaks) into the text.</short>
        <descr>
          <p>
            The Enter key typically is used to press the default button in a form,
            so that it cannot be used to add line breaks into the text.
          </p><p>
            Setting WantReturns to True allows one to enter line breaks, when the control has the focus.
          </p><p>
            Even if WantReturns is False, CTRL-Enter inserts an line break.
          </p>
        </descr>
        <seealso>
          <link id="TCustomMemo.WantTabs"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomMemo.WantTabs">
        <short>Allows to enter Tab characters into the text.</short>
        <descr>
          <p>
            The Tab key is normally used to move the focus to the next control,
            so that it cannot be used to add Tabs to the text.
          </p><p>
            When WantTabs is True, the Tab key inserts a Tab character into the text,
            instead of moving the focus to then next control.
          </p><p>
            Even if WantTabs is True, the user can Tab into the control, but not out again.
          </p>
        </descr>
        <seealso>
          <link id="TCustomMemo.WantReturns"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomMemo.WordWrap">
        <short>Allows long logical lines (paragraphs) to wrap into multiple display lines.</short>
        <descr>
          When False, long lines are truncated at the right margin of the control,
          unless the text can be scrolled horizontally.
        </descr>
          <link id="TCustomMemo.ScrollBars"/>
      </element>
<!-- object Visibility: default -->
      <element name="TEdit">
        <short>A control with a single line of editable text.</short>
        <seealso>
          <link id="HowToUseStdCtrls"/>
          <link id="TMemo"/>
        </seealso>
      </element>
      <!-- property Visibility: public -->
      <element name="TEdit.Action" link="#LCL.Controls.TControl.Action"/>
      <element name="TEdit.Align" link="#LCL.Controls.TControl.Align"/>
      <element name="TEdit.Alignment" link="#LCL.StdCtrls.TCustomEdit.Alignment"/>
      <element name="TEdit.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TEdit.AutoSelect" link="#LCL.StdCtrls.TCustomEdit.AutoSelect"/>
      <element name="TEdit.AutoSelected" link="#LCL.StdCtrls.TCustomEdit.AutoSelected"/>
      <element name="TEdit.AutoSize" link="#LCL.Controls.TControl.AutoSize"/>
      <element name="TEdit.BidiMode" link="#LCL.Controls.TControl.BiDiMode"/>
      <element name="TEdit.BorderSpacing" link="#LCL.Controls.TControl.BorderSpacing"/>
      <element name="TEdit.BorderStyle" link="#LCL.Controls.TWinControl.BorderStyle"/>
      <element name="TEdit.Color" link="#LCL.Controls.TControl.Color"/>
      <element name="TEdit.Constraints" link="#LCL.Controls.TControl.Constraints"/>
      <element name="TEdit.CharCase" link="#LCL.StdCtrls.TCustomEdit.CharCase"/>
      <element name="TEdit.DragCursor" link="#LCL.Controls.TControl.DragCursor"/>
      <element name="TEdit.DragMode" link="#LCL.Controls.TControl.DragMode"/>
      <element name="TEdit.DragKind" link="#LCL.Controls.TControl.DragKind"/>
      <element name="TEdit.EchoMode" link="#LCL.StdCtrls.TCustomEdit.EchoMode"/>
      <element name="TEdit.Enabled" link="#LCL.Controls.TControl.Enabled"/>
      <element name="TEdit.Font" link="#LCL.Controls.TControl.Font"/>
      <element name="TEdit.HideSelection" link="#LCL.StdCtrls.TCustomEdit.HideSelection"/>
      <element name="TEdit.MaxLength" link="#LCL.StdCtrls.TCustomEdit.MaxLength"/>
      <element name="TEdit.OnChange" link="#LCL.StdCtrls.TCustomEdit.OnChange"/>
      <element name="TEdit.OnChangeBounds" link="#LCL.Controls.TControl.OnChangeBounds"/>
      <element name="TEdit.OnClick" link="#LCL.Controls.TControl.OnClick"/>
      <element name="TEdit.OnContextPopup" link="#LCL.Controls.TControl.OnContextPopup"/>
      <element name="TEdit.OnDblClick" link="#LCL.Controls.TControl.OnDblClick"/>
      <element name="TEdit.OnDragDrop" link="#LCL.Controls.TControl.OnDragDrop"/>
      <element name="TEdit.OnDragOver" link="#LCL.Controls.TControl.OnDragOver"/>
      <element name="TEdit.OnEditingDone" link="#LCL.Controls.TControl.OnEditingDone"/>
      <element name="TEdit.OnEndDrag" link="#LCL.Controls.TControl.OnEndDrag"/>
      <element name="TEdit.OnEnter" link="#LCL.Controls.TWinControl.OnEnter"/>
      <element name="TEdit.OnExit" link="#LCL.Controls.TWinControl.OnExit"/>
      <element name="TEdit.OnKeyDown" link="#LCL.Controls.TWinControl.OnKeyDown"/>
      <element name="TEdit.OnKeyPress" link="#LCL.Controls.TWinControl.OnKeyPress"/>
      <element name="TEdit.OnKeyUp" link="#LCL.Controls.TWinControl.OnKeyUp"/>
      <element name="TEdit.OnMouseDown" link="#LCL.Controls.TControl.OnMouseDown"/>
      <element name="TEdit.OnMouseEnter" link="#LCL.Controls.TControl.OnMouseEnter"/>
      <element name="TEdit.OnMouseLeave" link="#LCL.Controls.TControl.OnMouseLeave"/>
      <element name="TEdit.OnMouseMove" link="#LCL.Controls.TControl.OnMouseMove"/>
      <element name="TEdit.OnMouseUp" link="#LCL.Controls.TControl.OnMouseUp"/>
      <element name="TEdit.OnResize" link="#LCL.Controls.TControl.OnResize"/>
      <element name="TEdit.OnStartDrag" link="#LCL.Controls.TControl.OnStartDrag"/>
      <element name="TEdit.ParentBidiMode" link="#LCL.Controls.TControl.ParentBiDiMode"/>
      <element name="TEdit.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <element name="TEdit.ParentFont" link="#LCL.Controls.TControl.ParentFont"/>
      <element name="TEdit.ParentShowHint" link="#LCL.Controls.TControl.ParentShowHint"/>
      <element name="TEdit.PasswordChar" link="#LCL.StdCtrls.TCustomEdit.PasswordChar"/>
      <element name="TEdit.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <element name="TEdit.ReadOnly" link="#LCL.StdCtrls.TCustomEdit.ReadOnly"/>
      <element name="TEdit.ShowHint" link="#LCL.Controls.TControl.ShowHint"/>
      <element name="TEdit.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TEdit.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <element name="TEdit.Text" link="#LCL.StdCtrls.TCustomEdit.Text"/>
      <element name="TEdit.OnUTF8KeyPress" link="#LCL.Controls.TWinControl.OnUTF8KeyPress"/>
      <element name="TEdit.Visible" link="#LCL.Controls.TControl.Visible"/>
<!-- object Visibility: default -->
      <element name="TMemo">
        <short>Control for editable multi-line text.</short>
        <descr>
          <p>The textual data is held as an array of strings in <var>Lines</var>, where it can be edited</p>
        </descr>
        <seealso>
          <link id="HowToUseStdCtrls"/>
          <link id="TEdit"/>
        </seealso>
      </element>
      <!-- property Visibility: published -->
      <element name="TMemo.Align" link="#LCL.Controls.TControl.Align"/>
      <element name="TMemo.Alignment" link="#LCL.Controls.TControl.Alignment"/>
      <element name="TMemo.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TMemo.BidiMode" link="#LCL.Controls.TControl.BiDiMode"/>
      <element name="TMemo.BorderSpacing" link="#LCL.Controls.TControl.BorderSpacing"/>
      <element name="TMemo.BorderStyle" link="#LCL.Controls.TWinControl.BorderStyle"/>
      <element name="TMemo.CharCase" link="TCustomEdit.CharCase"/>
      <element name="TMemo.Color" link="#LCL.Controls.TControl.Color"/>
      <element name="TMemo.Constraints" link="#LCL.Controls.TControl.Constraints"/>
      <element name="TMemo.DragCursor" link="#LCL.Controls.TControl.DragCursor"/>
      <element name="TMemo.DragKind" link="#LCL.Controls.TControl.DragKind"/>
      <element name="TMemo.DragMode" link="#LCL.Controls.TControl.DragMode"/>
      <element name="TMemo.Enabled" link="#LCL.Controls.TControl.Enabled"/>
      <element name="TMemo.Font" link="#LCL.Controls.TControl.Font"/>
      <element name="TMemo.HideSelection" link="TCustomMemo.HideSelection"/>
      <element name="TMemo.Lines" link="#LCL.StdCtrls.TCustomMemo.Lines"><short>The text of the memo.</short><seealso>TStrings</seealso>
      </element>
      <element name="TMemo.MaxLength" link="#LCL.StdCtrls.TCustomEdit.MaxLength"/>
      <element name="TMemo.OnChange" link="#LCL.StdCtrls.TCustomEdit.OnChange"/>
      <element name="TMemo.OnClick" link="#LCL.Controls.TControl.OnClick"/>
      <element name="TMemo.OnContextPopup" link="#LCL.Controls.TControl.OnContextPopup"/>
      <element name="TMemo.OnDblClick" link="#LCL.Controls.TControl.OnDblClick"/>
      <element name="TMemo.OnDragDrop" link="#LCL.Controls.TControl.OnDragDrop"/>
      <element name="TMemo.OnDragOver" link="#LCL.Controls.TControl.OnDragOver"/>
      <element name="TMemo.OnEditingDone" link="#LCL.Controls.TControl.OnEditingDone"/>
      <element name="TMemo.OnEndDrag" link="#LCL.Controls.TControl.OnEndDrag"/>
      <element name="TMemo.OnEnter" link="#LCL.Controls.TWinControl.OnEnter"/>
      <element name="TMemo.OnExit" link="#LCL.Controls.TWinControl.OnExit"/>
      <element name="TMemo.OnKeyDown" link="#LCL.Controls.TWinControl.OnKeyDown"/>
      <element name="TMemo.OnKeyPress" link="#LCL.Controls.TWinControl.OnKeyPress"/>
      <element name="TMemo.OnKeyUp" link="#LCL.Controls.TWinControl.OnKeyUp"/>
      <element name="TMemo.OnMouseDown" link="#LCL.Controls.TControl.OnMouseDown"/>
      <element name="TMemo.OnMouseEnter" link="#LCL.Controls.TControl.OnMouseEnter"/>
      <element name="TMemo.OnMouseLeave" link="#LCL.Controls.TControl.OnMouseLeave"/>
      <element name="TMemo.OnMouseMove" link="#LCL.Controls.TControl.OnMouseMove"/>
      <element name="TMemo.OnMouseUp" link="#LCL.Controls.TControl.OnMouseUp"/>
      <element name="TMemo.OnMouseWheel" link="#LCL.Controls.TControl.OnMouseWheel"/>
      <element name="TMemo.OnMouseWheelDown" link="#LCL.Controls.TControl.OnMouseWheelDown"/>
      <element name="TMemo.OnMouseWheelUp" link="#LCL.Controls.TControl.OnMouseWheelUp"/>
      <element name="TMemo.OnStartDrag" link="#LCL.Controls.TControl.OnStartDrag"/>
      <element name="TMemo.OnUTF8KeyPress" link="#LCL.Controls.TWinControl.OnUTF8KeyPress"/>
      <element name="TMemo.ParentBidiMode" link="#LCL.Controls.TControl.ParentBiDiMode"/>
      <element name="TMemo.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <element name="TMemo.ParentFont" link="#LCL.Controls.TControl.ParentFont"/>
      <element name="TMemo.ParentShowHint" link="#LCL.Controls.TControl.ParentShowHint"/>
      <element name="TMemo.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <element name="TMemo.ReadOnly" link="#LCL.StdCtrls.TCustomEdit.ReadOnly"/>
      <element name="TMemo.ScrollBars" link="#LCL.StdCtrls.TCustomMemo.ScrollBars"/>
      <element name="TMemo.ShowHint" link="#LCL.Controls.TControl.ShowHint"/>
      <element name="TMemo.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TMemo.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <element name="TMemo.Visible" link="#LCL.Controls.TControl.Visible"/>
      <element name="TMemo.WantReturns" link="#LCL.StdCtrls.TCustomMemo.WantReturns"/>
      <element name="TMemo.WantTabs" link="#LCL.StdCtrls.TCustomMemo.WantTabs"/>
      <element name="TMemo.WordWrap" link="#LCL.StdCtrls.TCustomMemo.WordWrap"/>
<!-- enumeration type Visibility: default -->
      <element name="TStaticBorderStyle">
        <short>The border style of static text controls.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TStaticBorderStyle.sbsNone">
        <short>No border.</short>
      </element>
      <element name="TStaticBorderStyle.sbsSingle">
        <short>Single line border.</short>
      </element>
      <element name="TStaticBorderStyle.sbsSunken">
        <short>Sunken 3-D border.</short>
      </element>
<!-- object Visibility: default -->
      <element name="TCustomStaticText">
        <short>The base class for <var>TStaticText</var>.</short>
      </element>
      <!-- variable Visibility: private -->
      <element name="TCustomStaticText.FAlignment" link="TCustomStaticText.Alignment"/>
      <element name="TCustomStaticText.FFocusControl" link="TCustomStaticText.FocusControl"/>
      <element name="TCustomStaticText.FShowAccelChar" link="TCustomStaticText.ShowAccelChar"/>
      <element name="TCustomStaticText.FStaticBorderStyle" link="TCustomStaticText.BorderStyle"/>
      <!-- function Visibility: private -->
      <element name="TCustomStaticText.GetTransparent" link="TCustomStaticText.Transparent"/>
      <element name="TCustomStaticText.GetTransparent.Result">
      <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomStaticText.SetAlignment" link="TCustomStaticText.Alignment"/>
      <element name="TCustomStaticText.SetAlignment.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomStaticText.SetStaticBorderStyle" link="TCustomStaticText.BorderStyle"/>
      <element name="TCustomStaticText.SetStaticBorderStyle.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomStaticText.SetTransparent" link="TCustomStaticText.Transparent"/>
      <element name="TCustomStaticText.SetTransparent.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomStaticText.WMActivate">
        <short>Defers the focus to FocusControl.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomStaticText.WMActivate.Message">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomStaticText.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <element name="TCustomStaticText.GetLabelText">
        <short>Returns the Caption of the control.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomStaticText.GetLabelText.Result">
        <short>The Caption text.</short>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomStaticText.RealSetText"/>
      <element name="TCustomStaticText.RealSetText.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomStaticText.Notification" link="#LCL.Controls.TControl.Notification"/>
      <element name="TCustomStaticText.Notification.AComponent">
        <short/>
      </element>
      <element name="TCustomStaticText.Notification.Operation">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomStaticText.SetFocusControl" link="TCustomStaticText.FocusControl"/>
      <element name="TCustomStaticText.SetFocusControl.Val">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomStaticText.SetShowAccelChar" link="TCustomStaticText.ShowAccelChar"/>
      <element name="TCustomStaticText.SetShowAccelChar.Val">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomStaticText.DialogChar" link="#LCL.Controls.TControl.DialogChar"/>
      <element name="TCustomStaticText.DialogChar.Result">
        <short/>
      </element>
      <element name="TCustomStaticText.DialogChar.Message">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomStaticText.GetControlClassDefaultSize" link="#LCL.Controls.TControl.GetControlClassDefaultSize"/>
      <element name="TCustomStaticText.GetControlClassDefaultSize.Result">
        <short/>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCustomStaticText.Create"/>
      <element name="TCustomStaticText.Create.AOwner">
        <short/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomStaticText.Alignment">
        <short>The horizontal adjustment of the text - centered, left- or right-justified.</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomStaticText.BorderStyle">
        <short>The border shown around the control.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomStaticText.FocusControl">
        <short>The control that shall receive the focus instead of this control.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomStaticText.ShowAccelChar">
        <short>Makes the accelerator character stand out (underlined) of the displayed text.</short>
        <descr>
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomStaticText.Transparent">
        <short>Makes the control either opaque or transparent.</short>
        <descr>
        </descr>
        <seealso>
        </seealso>
      </element>
<!-- object Visibility: default -->
      <element name="TStaticText">
        <short>Control to display an constant text.</short>
        <descr>
          <p>This control can be used instead of TLabel, when a TWinControl is required.
          </p>
        </descr>
        <seealso>
          <link id="HowToUseStdCtrls"/>
        </seealso>
      </element>
      <!-- property Visibility: published -->
      <element name="TStaticText.Align" link="#LCL.Controls.TControl.Align"/>
      <element name="TStaticText.Alignment" link="#LCL.StdCtrls.TCustomStaticText.Alignment"/>
      <element name="TStaticText.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TStaticText.AutoSize" link="#LCL.Controls.TControl.AutoSize"/>
      <element name="TStaticText.BidiMode" link="#LCL.Controls.TControl.BiDiMode"/>
      <element name="TStaticText.BorderSpacing" link="#LCL.Controls.TControl.BorderSpacing"/>
      <element name="TStaticText.BorderStyle" link="TCustomStaticText.BorderStyle"/>
      <element name="TStaticText.Caption">
        <short>The text to show.</short>
      </element>
      <element name="TStaticText.Color" link="#LCL.Controls.TControl.Color"/>
      <element name="TStaticText.Constraints" link="#LCL.Controls.TControl.Constraints"/>
      <element name="TStaticText.DragCursor" link="#LCL.Controls.TControl.DragCursor"/>
      <element name="TStaticText.DragKind" link="#LCL.Controls.TControl.DragKind"/>
      <element name="TStaticText.DragMode" link="#LCL.Controls.TControl.DragMode"/>
      <element name="TStaticText.FocusControl" link="#LCL.StdCtrls.TCustomStaticText.FocusControl"/>
      <element name="TStaticText.Font" link="#LCL.Controls.TControl.Font"/>
      <element name="TStaticText.OnChangeBounds" link="#LCL.Controls.TControl.OnChangeBounds"/>
      <element name="TStaticText.OnClick" link="#LCL.Controls.TControl.OnClick"/>
      <element name="TStaticText.OnContextPopup" link="#LCL.Controls.TControl.OnContextPopup"/>
      <element name="TStaticText.OnDblClick" link="#LCL.Controls.TControl.OnDblClick"/>
      <element name="TStaticText.OnDragDrop" link="#LCL.Controls.TControl.OnDragDrop"/>
      <element name="TStaticText.OnDragOver" link="#LCL.Controls.TControl.OnDragOver"/>
      <element name="TStaticText.OnEndDrag" link="#LCL.Controls.TControl.OnEndDrag"/>
      <element name="TStaticText.OnMouseDown" link="#LCL.Controls.TControl.OnMouseDown"/>
      <element name="TStaticText.OnMouseEnter" link="#LCL.Controls.TControl.OnMouseEnter"/>
      <element name="TStaticText.OnMouseLeave" link="#LCL.Controls.TControl.OnMouseLeave"/>
      <element name="TStaticText.OnMouseMove" link="#LCL.Controls.TControl.OnMouseMove"/>
      <element name="TStaticText.OnMouseUp" link="#LCL.Controls.TControl.OnMouseUp"/>
      <element name="TStaticText.OnResize" link="#LCL.Controls.TControl.OnResize"/>
      <element name="TStaticText.OnStartDrag" link="#LCL.Controls.TControl.OnStartDrag"/>
      <element name="TStaticText.ParentBidiMode" link="#LCL.Controls.TControl.ParentBiDiMode"/>
      <element name="TStaticText.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <element name="TStaticText.ParentFont" link="#LCL.Controls.TControl.ParentFont"/>
      <element name="TStaticText.ShowAccelChar" link="#LCL.StdCtrls.TCustomStaticText.ShowAccelChar"/>
      <element name="TStaticText.ShowHint"/>
      <element name="TStaticText.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TStaticText.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <element name="TStaticText.Transparent" link="TCustomStaticText.Transparent"/>
      <element name="TStaticText.Visible" link="#LCL.Controls.TControl.Visible"/>
<!-- object Visibility: default -->
      <element name="TButtonControl">
        <short>The base class for various button controls.</short>
      </element>
      <!-- variable Visibility: private -->
      <element name="TButtonControl.FClicksDisabled" link="TButtonControl.ClicksDisabled"/>
      <element name="TButtonControl.FOnChange" link="TButtonControl.OnChange"/>
      <!-- function Visibility: private -->
      <element name="TButtonControl.IsCheckedStored" link="TButtonControl.Checked"/>
      <element name="TButtonControl.IsCheckedStored.Result">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TButtonControl.WMDefaultClicked">
        <short/>
        <descr>
        </descr>
        <errors>
        </errors>
        <seealso>
        </seealso>
      </element>
      <element name="TButtonControl.WMDefaultClicked.Message">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TButtonControl.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <element name="TButtonControl.GetChecked" link="TButtonControl.Checked"/>
      <element name="TButtonControl.GetChecked.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TButtonControl.SetChecked" link="TButtonControl.Checked"/>
      <element name="TButtonControl.SetChecked.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TButtonControl.DoOnChange">
        <short>Invokes the OnChange handler.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TButtonControl.Click" link="#LCL.Controls.TControl.Click"/>
      <element name="TButtonControl.CMWantSpecialKey" link="#LCL.Controls.TControl.CMWantSpecialKey"/>
      <element name="TButtonControl.CMWantSpecialKey.Message">
        <short/>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TButtonControl.Create"/>
      <element name="TButtonControl.Create.TheOwner">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TButtonControl.Checked">
        <short>The state of the check mark. Here always False, can be implemented in derived classes.</short>
      </element>
      <!-- property Visibility: protected -->
      <element name="TButtonControl.ClicksDisabled">
        <short>Allows to disable clicks, without showing the button as disabled.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: protected -->
      <element name="TButtonControl.OnChange">
        <short>Handler for any change in properties of the control.</short>
      <notes><note>which?</note>
        </notes>
      </element>
<!-- object Visibility: default -->
      <element name="TButtonActionLink">
        <short>Links an button to an action.</short>
        <descr/>
      </element>
      <!-- variable Visibility: protected -->
      <element name="TButtonActionLink.FClientButton">
        <short>The button to which this action applies.</short>
        <descr/>
        <seealso/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TButtonActionLink.AssignClient">
        <short>Installs the client button.</short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#rtl.Classes.TBasicActionLink.AssignClient">TBasicActionLink.AssignClient</link>
        </seealso>
      </element>
      <element name="TButtonActionLink.AssignClient.AClient">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TButtonActionLink.SetChecked">
        <short>Sets the Checked property of the linked button.</short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#LCL.ActnList.TActionLink.SetChecked">TActionLink.SetChecked</link>
        </seealso>
      </element>
      <element name="TButtonActionLink.SetChecked.Value">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TButtonActionLink.IsCheckedLinked" link="#LCL.ActnList.TActionLink.IsCheckedLinked"/>
      <element name="TButtonActionLink.IsCheckedLinked.Result">
        <short/>
      </element>
<!-- "class of" type Visibility: default -->
      <element name="TButtonActionLinkClass" link="TButtonActionLink">
        <short>class of <var>TButtonActionLink</var>
        </short>
        <descr/>
        <seealso/>
      </element>
<!-- object Visibility: default -->
      <element name="TCustomButton">
        <short>The base class for clickable buttons (<var>TButton</var> and <var>TBitBtn</var>).
        </short>
      </element>
      <!-- variable Visibility: private -->
      <element name="TCustomButton.FModalResult" link="TCustomButton.ModalResult"/>
      <element name="TCustomButton.FShortCut" link="TCustomButton.ShortCut"/>
      <element name="TCustomButton.FShortCutKey2" link="TCustomButton.ShortCutKey2"/>
      <element name="TCustomButton.FCancel" link="TCustomButton.Cancel"/>
      <element name="TCustomButton.FDefault" link="TCustomButton.Default"/>
      <element name="TCustomButton.FActive" link="TCustomButton.Active"/>
      <!-- procedure Visibility: private -->
      <element name="TCustomButton.SetCancel" link="TCustomButton.Cancel"/>
      <element name="TCustomButton.SetCancel.NewCancel">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomButton.SetDefault" link="TCustomButton.Default"/>
      <element name="TCustomButton.SetDefault.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomButton.SetModalResult" link="TCustomButton.ModalResult"/>
      <element name="TCustomButton.SetModalResult.AValue">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomButton.CMUIActivate">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomButton.CMUIActivate.Message">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomButton.WMSetFocus">
        <short/>
        <descr>
        </descr>
        <errors>
        </errors>
        <seealso>
        </seealso>
      </element>
      <element name="TCustomButton.WMSetFocus.Message">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomButton.WMKillFocus">
        <short/>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomButton.WMKillFocus.Message">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomButton.UpdateFocus">
        <short>Notifies Parent of focus changes.</short>
        <descr>
        </descr>
        <errors>
        </errors>
        <seealso>
        </seealso>
      </element>
      <element name="TCustomButton.UpdateFocus.AFocused">
        <short/>
      </element>
      <element name="TCustomButton.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomButton.Click">
        <short>Propagates ModalResult to the parent form, before further processing.
        </short>
        <descr>
        </descr>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TControl.Click">TControl.Click</link>
        </seealso>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomButton.CreateWnd"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomButton.CreateParams"/>
      <element name="TCustomButton.CreateParams.Params">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomButton.ControlKeyDown" link="#LCL.Controls.TWinControl.ControlKeyDown"/>
      <element name="TCustomButton.ControlKeyDown.Key">
        <short/>
      </element>
      <element name="TCustomButton.ControlKeyDown.Shift">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomButton.ControlKeyUp" link="#LCL.Controls.TWinControl.ControlKeyUp"/>
      <element name="TCustomButton.ControlKeyUp.Key">
        <short/>
      </element>
      <element name="TCustomButton.ControlKeyUp.Shift">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomButton.DialogChar" link="#LCL.Controls.TControl.DialogChar"/>
      <element name="TCustomButton.DialogChar.Result">
        <short/>
      </element>
      <element name="TCustomButton.DialogChar.Message">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomButton.ChildClassAllowed" link="#LCL.Controls.TWinControl.ChildClassAllowed"/>
      <element name="TCustomButton.ChildClassAllowed.Result">
        <short/>
      </element>
      <element name="TCustomButton.ChildClassAllowed.ChildClass">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomButton.GetControlClassDefaultSize"/>
      <element name="TCustomButton.GetControlClassDefaultSize.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomButton.WSSetDefault">
        <short>Notify the widget of dynamic changes of the Default property.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomButton.WSSetText">
        <short>Notify the widgetset of changes in the Caption and/or accelerator.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomButton.WSSetText.AText">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomButton.TextChanged" link="#LCL.Controls.TControl.TextChanged"/>
      <element name="TCustomButton.Loaded"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomButton.UpdateDefaultCancel">
        <short>Update the parent form's Default and Cancel properties.</short>
        <descr>
        </descr>
        <errors>
        </errors>
        <seealso>
        </seealso>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCustomButton.Create"/>
      <element name="TCustomButton.Create.TheOwner">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomButton.ExecuteDefaultAction">
        <short>Invoke Click if the control is Active or Default.</short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TControl.ExecuteDefaultAction">TControl.ExecuteDefaultAction</link>
        </seealso>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomButton.ExecuteCancelAction">
        <short>Invoke Click if the control is the <var>Cancel</var> button.</short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TControl.ExecuteCancelAction">TControl.ExecuteCancelAction</link>
        </seealso>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomButton.ActiveDefaultControlChanged" link="#LCL.Controls.TControl.ActiveDefaultControlChanged"/>
      <element name="TCustomButton.ActiveDefaultControlChanged.NewControl">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomButton.UpdateRolesForForm" link="#LCL.Controls.TControl.UpdateRolesForForm"/>
      <!-- function Visibility: protected -->
      <element name="TCustomButton.UseRightToLeftAlignment" link="#LCL.Controls.TControl.UseRightToLeftAlignment"/>
      <element name="TCustomButton.UseRightToLeftAlignment.Result">
        <short/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomButton.Active">
        <short>True if this control is the Cancel or Default button.</short>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomButton.Cancel">
        <short>True if this is the modal Cancel button.</short>
        <descr>
          <p>Pressing ESC in a modal form is equivalent to pressing the Cancel button.</p>
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomButton.Color" link="#LCL.Controls.TControl.Color"/>
      <!-- property Visibility: public -->
      <element name="TCustomButton.Default">
        <short>True if this is the modal Default button.</short>
        <descr>
          <p>Pressing ENTER in a modal form is equivalent to pressing the Default button.</p>
        </descr>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomButton.ModalResult">
        <short>When clicked, the button will close the form and return its ModalResult. (unless mrNone)</short>
        <descr/>
        <seealso/>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomButton.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <!-- property Visibility: public -->
      <element name="TCustomButton.ShortCut">
        <short/>
        <descr>
        </descr>
        <seealso>
        </seealso>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomButton.ShortCutKey2">
        <short/>
        <descr>
        </descr>
        <seealso>
        </seealso>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomButton.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
<!-- object Visibility: default -->
      <element name="TButton" link="TCustomButton">
        <short>A push button control.</short>
        <descr/>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TButton.Click" link="#LCL.Controls.TControl.Click"/>
      <!-- property Visibility: published -->
      <element name="TButton.Action" link="#LCL.Controls.TControl.Action"/>
      <element name="TButton.Align" link="#LCL.Controls.TControl.Align"/>
      <element name="TButton.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TButton.AutoSize" link="#LCL.Controls.TControl.AutoSize"/>
      <element name="TButton.BidiMode" link="#LCL.Controls.TControl.BiDiMode"/>
      <element name="TButton.BorderSpacing" link="#LCL.Controls.TControl.BorderSpacing"/>
      <element name="TButton.Cancel" link="#LCL.StdCtrls.TCustomButton.Cancel"/>
      <element name="TButton.Caption" link="#LCL.Controls.TControl.Caption"/>
      <element name="TButton.Color" link="#LCL.Controls.TControl.Color"/>
      <element name="TButton.Constraints" link="#LCL.Controls.TControl.Constraints"/>
      <element name="TButton.Default" link="#LCL.StdCtrls.TCustomButton.Default"/>
      <element name="TButton.DragCursor" link="#LCL.Controls.TControl.DragCursor"/>
      <element name="TButton.DragKind"/>
      <element name="TButton.DragMode" link="#LCL.Controls.TControl.DragMode"/>
      <element name="TButton.Enabled" link="#LCL.Controls.TControl.Enabled"/>
      <element name="TButton.Font" link="#LCL.Controls.TControl.Font"/>
      <element name="TButton.ParentBidiMode" link="#LCL.Controls.TControl.ParentBiDiMode"/>
      <element name="TButton.ModalResult" link="#LCL.StdCtrls.TCustomButton.ModalResult"/>
      <element name="TButton.OnChangeBounds" link="#LCL.Controls.TControl.OnChangeBounds"/>
      <element name="TButton.OnClick" link="#LCL.Controls.TControl.OnClick"/>
      <element name="TButton.OnContextPopup" link="#LCL.Controls.TControl.OnContextPopup"/>
      <element name="TButton.OnDragDrop" link="#LCL.Controls.TControl.OnDragDrop"/>
      <element name="TButton.OnDragOver" link="#LCL.Controls.TControl.OnDragOver"/>
      <element name="TButton.OnEndDrag" link="#LCL.Controls.TControl.OnEndDrag"/>
      <element name="TButton.OnEnter" link="#LCL.Controls.TWinControl.OnEnter"/>
      <element name="TButton.OnExit" link="#LCL.Controls.TWinControl.OnExit"/>
      <element name="TButton.OnKeyDown" link="#LCL.Controls.TWinControl.OnKeyDown"/>
      <element name="TButton.OnKeyPress" link="#LCL.Controls.TWinControl.OnKeyPress"/>
      <element name="TButton.OnKeyUp" link="#LCL.Controls.TWinControl.OnKeyUp"/>
      <element name="TButton.OnMouseDown" link="#LCL.Controls.TControl.OnMouseDown"/>
      <element name="TButton.OnMouseEnter" link="#LCL.Controls.TControl.OnMouseEnter"/>
      <element name="TButton.OnMouseLeave" link="#LCL.Controls.TControl.OnMouseLeave"/>
      <element name="TButton.OnMouseMove" link="#LCL.Controls.TControl.OnMouseMove"/>
      <element name="TButton.OnMouseUp" link="#LCL.Controls.TControl.OnMouseUp"/>
      <element name="TButton.OnResize" link="#LCL.Controls.TControl.OnResize"/>
      <element name="TButton.OnStartDrag" link="#LCL.Controls.TControl.OnStartDrag"/>
      <element name="TButton.OnUTF8KeyPress" link="#LCL.Controls.TWinControl.OnUTF8KeyPress"/>
      <element name="TButton.ParentFont" link="#LCL.Controls.TControl.ParentFont"/>
      <element name="TButton.ParentShowHint" link="#LCL.Controls.TControl.ParentShowHint"/>
      <element name="TButton.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <element name="TButton.ShowHint" link="#LCL.Controls.TControl.ShowHint"/>
      <element name="TButton.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TButton.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <element name="TButton.Visible" link="#LCL.Controls.TControl.Visible"/>
<!-- enumeration type Visibility: default -->
      <element name="TCheckBoxState">
        <short>The states of a checkbox - Unchecked, Checked or Greyed.</short>
        <descr>
        </descr>
        <seealso/>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TCheckBoxState.cbUnchecked">
        <short/>
        <descr>The check box has no check mark, indicating that the item is not selected.</descr>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TCheckBoxState.cbChecked">
        <short/>
        <descr>The check box has a check mark in it, indicating that the item is selected.</descr>
      </element>
      <!-- enumeration value Visibility: default -->
      <element name="TCheckBoxState.cbGrayed">
        <short/>
        <descr>The check box state cannot be changed by the user.</descr>
      </element>
      <!-- object Visibility: default -->
      <element name="TCustomCheckBox">
        <short>The base class for checkbox components.</short>
        <descr>
          <p>Check boxes present the user with options that can be selected (checked) or deselected (unchecked).</p>
        </descr>
        <seealso>
          <link id="TCheckBox"/>
        </seealso>
      </element>
      <!-- variable Visibility: private -->
      <element name="TCustomCheckBox.FAllowGrayed" link="TCustomCheckBox.AllowGrayed"/>
      <element name="TCustomCheckBox.FState" link="TCustomCheckBox.State"/>
      <element name="TCustomCheckBox.FShortCut" link="TCustomCheckBox.ShortCut"/>
      <element name="TCustomCheckBox.FShortCutKey2" link="TCustomCheckBox.ShortCutKey2"/>
      <!-- procedure Visibility: private -->
      <element name="TCustomCheckBox.SetState" link="TCustomCheckBox.State"/>
      <element name="TCustomCheckBox.SetState.Value">
        <short/>
      </element>
      <!-- function Visibility: private -->
      <element name="TCustomCheckBox.GetState" link="TCustomCheckBox.State"/>
      <element name="TCustomCheckBox.GetState.Result">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomCheckBox.DoChange">
        <short>Invokes either the OnClick or OnChange handler.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomCheckBox.DoChange.Msg">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomCheckBox.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <element name="TCustomCheckBox.Click" link="#LCL.Controls.TControl.Click">
        <descr>Overridden to do nothing.
        </descr>
        <errors/>
        <seealso/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomCheckBox.DoClickOnChange">
        <short>Invokes either the OnClick or OnChange handler.</short>
        <descr>
        </descr>
        <errors>
        </errors>
        <seealso>
        </seealso>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomCheckBox.RetrieveState">
        <short>Retrieves the checkbox state from the widget.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomCheckBox.RetrieveState.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomCheckBox.InitializeWnd"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomCheckBox.Toggle">
        <short>Alternate between checked and unchecked state.</short>
        <descr/>
        <errors/>
        <seealso/>
      <notes><note>What about disabled state?</note>
        </notes>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomCheckBox.DialogChar" link="#LCL.Controls.TControl.DialogChar"/>
      <element name="TCustomCheckBox.DialogChar.Result">
        <short/>
      </element>
      <element name="TCustomCheckBox.DialogChar.Message">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomCheckBox.GetChecked" link="#LCL.StdCtrls.TButtonControl.Checked"/>
      <element name="TCustomCheckBox.GetChecked.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomCheckBox.SetChecked" link="#LCL.StdCtrls.TButtonControl.Checked"/>
      <element name="TCustomCheckBox.SetChecked.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomCheckBox.RealSetText" link="#LCL.Controls.TControl.RealSetText"/>
      <element name="TCustomCheckBox.RealSetText.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomCheckBox.ApplyChanges">
        <short>Asks the widget to update the visual appearance of the object.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomCheckBox.GetControlClassDefaultSize"/>
      <element name="TCustomCheckBox.GetControlClassDefaultSize.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomCheckBox.Loaded"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomCheckBox.WSSetText" link="#LCL.Controls.TWinControl.WSSetText"/>
      <element name="TCustomCheckBox.WSSetText.AText">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomCheckBox.TextChanged" link="#LCL.Controls.TControl.TextChanged"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomCheckBox.CreateParams"/>
      <element name="TCustomCheckBox.CreateParams.Params">
        <short/>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCustomCheckBox.Create"/>
      <element name="TCustomCheckBox.Create.TheOwner">
        <short/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomCheckBox.AllowGrayed">
        <short>Allows the check box to be in a "grayed" state.</short>
        <descr>
          <p>If <var>AllowGrayed</var> is set to True, the check box has three possible states: checked, unchecked and grayed. If <var>AllowGrayed</var> is set to False, the check box has only two possible states: checked and unchecked.</p>
        </descr>
        <example file="stdctrls/tcustomcheckbox_allowgrayed.pas"/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomCheckBox.State">
        <short>Indicates whether the check box is checked (selected), unchecked (deselected) or grayed (disabled).</short>
        <descr>
          <p>See <link id="#lcl.StdCtrls.TCheckBoxState">TCheckBoxState</link> for possible values of <var>State</var>.</p>
        </descr>
        <example file="stdctrls/tcustomcheckbox_allowgrayed.pas"/>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomCheckBox.ShortCut">
        <short/>
        <descr>
        </descr>
        <seealso>
        </seealso>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomCheckBox.ShortCutKey2">
        <short/>
        <descr>
        </descr>
        <seealso>
        </seealso>
      <notes><note>?</note>
        </notes>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomCheckBox.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <element name="TCustomCheckBox.OnChange" link="#LCL.StdCtrls.TButtonControl.OnChange"/>
<!-- object Visibility: default -->
      <element name="TCheckBox">
        <short>A label with a box which can contain a check mark.</short>
        <descr>
        </descr>
        <seealso>
          <link id="HowToUseStdCtrls"/>
        </seealso>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCheckBox.Create"/>
      <element name="TCheckBox.Create.TheOwner">
        <short/>
      </element>
      <!-- property Visibility: published -->
      <element name="TCheckBox.Action" link="#LCL.Controls.TControl.Action"/>
      <element name="TCheckBox.Align" link="#LCL.Controls.TControl.Align"/>
      <element name="TCheckBox.AllowGrayed" link="#LCL.StdCtrls.TCustomCheckBox.AllowGrayed"/>
      <element name="TCheckBox.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TCheckBox.AutoSize"><short>TCheckBox default is True</short>
      </element>
      <element name="TCheckBox.BidiMode" link="#LCL.Controls.TControl.BiDiMode"/>
      <element name="TCheckBox.BorderSpacing" link="#LCL.Controls.TControl.BorderSpacing"/>
      <element name="TCheckBox.Caption" link="#LCL.Controls.TControl.Caption"/>
      <element name="TCheckBox.Checked" link="#LCL.StdCtrls.TButtonControl.Checked"/>
      <element name="TCheckBox.Color" link="#LCL.Controls.TControl.Color"/>
      <element name="TCheckBox.Constraints" link="#LCL.Controls.TControl.Constraints"/>
      <element name="TCheckBox.DragCursor" link="#LCL.Controls.TControl.DragCursor"/>
      <element name="TCheckBox.DragKind" link="#LCL.Controls.TControl.DragKind"/>
      <element name="TCheckBox.DragMode" link="#LCL.Controls.TControl.DragMode"/>
      <element name="TCheckBox.Enabled" link="#LCL.Controls.TControl.Enabled"/>
      <element name="TCheckBox.Font" link="#LCL.Controls.TControl.Font"/>
      <element name="TCheckBox.Hint" link="#LCL.Controls.TControl.Hint"/>
      <element name="TCheckBox.OnChange" link="#LCL.StdCtrls.TButtonControl.OnChange"/>
      <element name="TCheckBox.OnChangeBounds" link="#LCL.Controls.TControl.OnChangeBounds"/>
      <element name="TCheckBox.OnClick" link="#LCL.Controls.TControl.OnClick"/>
      <element name="TCheckBox.OnContextPopup" link="#LCL.Controls.TControl.OnContextPopup"/>
      <element name="TCheckBox.OnDragDrop" link="#LCL.Controls.TControl.OnDragDrop"/>
      <element name="TCheckBox.OnDragOver" link="#LCL.Controls.TControl.OnDragOver"/>
      <element name="TCheckBox.OnEditingDone" link="#LCL.Controls.TControl.OnEditingDone"/>
      <element name="TCheckBox.OnEndDrag" link="#LCL.Controls.TControl.OnEndDrag"/>
      <element name="TCheckBox.OnEnter" link="#LCL.Controls.TWinControl.OnEnter"/>
      <element name="TCheckBox.OnExit" link="#LCL.Controls.TWinControl.OnExit"/>
      <element name="TCheckBox.OnKeyDown" link="#LCL.Controls.TWinControl.OnKeyDown"/>
      <element name="TCheckBox.OnKeyPress" link="#LCL.Controls.TWinControl.OnKeyPress"/>
      <element name="TCheckBox.OnKeyUp" link="#LCL.Controls.TWinControl.OnKeyUp"/>
      <element name="TCheckBox.OnMouseDown" link="#LCL.Controls.TControl.OnMouseDown"/>
      <element name="TCheckBox.OnMouseEnter" link="#LCL.Controls.TControl.OnMouseEnter"/>
      <element name="TCheckBox.OnMouseLeave" link="#LCL.Controls.TControl.OnMouseLeave"/>
      <element name="TCheckBox.OnMouseMove" link="#LCL.Controls.TControl.OnMouseMove"/>
      <element name="TCheckBox.OnMouseUp" link="#LCL.Controls.TControl.OnMouseUp"/>
      <element name="TCheckBox.OnResize" link="#LCL.Controls.TControl.OnResize"/>
      <element name="TCheckBox.OnStartDrag" link="#LCL.Controls.TControl.OnStartDrag"/>
      <element name="TCheckBox.OnUTF8KeyPress" link="#LCL.Controls.TWinControl.OnUTF8KeyPress"/>
      <element name="TCheckBox.ParentBidiMode" link="#LCL.Controls.TControl.ParentBiDiMode"/>
      <element name="TCheckBox.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <element name="TCheckBox.ParentFont" link="#LCL.Controls.TControl.ParentFont"/>
      <element name="TCheckBox.ParentShowHint" link="#LCL.Controls.TControl.ParentShowHint"/>
      <element name="TCheckBox.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <element name="TCheckBox.ShowHint" link="#LCL.Controls.TControl.ShowHint"/>
      <element name="TCheckBox.State" link="#LCL.StdCtrls.TCustomCheckBox.State"/>
      <element name="TCheckBox.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TCheckBox.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <element name="TCheckBox.Visible" link="#LCL.Controls.TControl.Visible"/>
<!-- object Visibility: default -->
      <element name="TToggleBox">
        <short>A labelled box capable of being checked or unchecked</short>
        <descr>
          <p>The Application Programmer is responsible for ensuring that the <var>OnClick</var> event handler recognises the <var>State</var> of the box,
            takes the appropriate <var>Action</var> and places the <var>State</var> into the next appropriate value</p>
        </descr>
        <seealso>
          <link id="HowToUseStdCtrls"/>
        </seealso>
      <notes><note>???</note>
        </notes>
      </element>
      <element name="TToggleBox.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <!-- procedure Visibility: protected -->
      <element name="TToggleBox.CreateParams"/>
      <element name="TToggleBox.CreateParams.Params">
        <short/>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TToggleBox.Create"/>
      <element name="TToggleBox.Create.TheOwner">
        <short/>
      </element>
      <!-- property Visibility: published -->
      <element name="TToggleBox.AllowGrayed" link="#LCL.StdCtrls.TCustomCheckBox.AllowGrayed"/>
      <element name="TToggleBox.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TToggleBox.AutoSize" link="#LCL.Controls.TControl.AutoSize"/>
      <element name="TToggleBox.BidiMode"/>
      <element name="TToggleBox.BorderSpacing" link="#LCL.Controls.TControl.BorderSpacing"/>
      <element name="TToggleBox.Caption" link="#LCL.Controls.TControl.Caption"/>
      <element name="TToggleBox.Checked" link="#LCL.StdCtrls.TButtonControl.Checked"/>
      <element name="TToggleBox.Color"/>
      <element name="TToggleBox.Constraints"/>
      <element name="TToggleBox.DragCursor" link="#LCL.Controls.TControl.DragCursor"/>
      <element name="TToggleBox.DragKind" link="#LCL.Controls.TControl.DragKind"/>
      <element name="TToggleBox.DragMode" link="#LCL.Controls.TControl.DragMode"/>
      <element name="TToggleBox.Enabled" link="#LCL.Controls.TControl.Enabled"/>
      <element name="TToggleBox.Font"/>
      <element name="TToggleBox.Hint" link="#LCL.Controls.TControl.Hint"/>
      <element name="TToggleBox.OnChange" link="#LCL.StdCtrls.TButtonControl.OnChange"/>
      <element name="TToggleBox.OnClick" link="#LCL.Controls.TControl.OnClick"/>
      <element name="TToggleBox.OnDragDrop" link="#LCL.Controls.TControl.OnDragDrop"/>
      <element name="TToggleBox.OnDragOver" link="#LCL.Controls.TControl.OnDragOver"/>
      <element name="TToggleBox.OnEndDrag" link="#LCL.Controls.TControl.OnEndDrag"/>
      <element name="TToggleBox.OnEnter" link="#LCL.Controls.TWinControl.OnEnter"/>
      <element name="TToggleBox.OnExit" link="#LCL.Controls.TWinControl.OnExit"/>
      <element name="TToggleBox.OnMouseDown" link="#LCL.Controls.TControl.OnMouseDown"/>
      <element name="TToggleBox.OnMouseEnter"/>
      <element name="TToggleBox.OnMouseLeave"/>
      <element name="TToggleBox.OnMouseMove" link="#LCL.Controls.TControl.OnMouseMove"/>
      <element name="TToggleBox.OnMouseUp" link="#LCL.Controls.TControl.OnMouseUp"/>
      <element name="TToggleBox.OnStartDrag" link="#LCL.Controls.TControl.OnStartDrag"/>
      <element name="TToggleBox.ParentBidiMode"/>
      <element name="TToggleBox.ParentFont"/>
      <element name="TToggleBox.ParentShowHint" link="#LCL.Controls.TControl.ParentShowHint"/>
      <element name="TToggleBox.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <element name="TToggleBox.ShowHint" link="#LCL.Controls.TControl.ShowHint"/>
      <element name="TToggleBox.State" link="#LCL.StdCtrls.TCustomCheckBox.State"/>
      <element name="TToggleBox.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TToggleBox.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <element name="TToggleBox.Visible" link="#LCL.Controls.TControl.Visible"/>
<!-- object Visibility: default -->
      <element name="TRadioButton">
        <short>A selection button that works with other Radio Buttons in a mutually exclusive way - if one button is selected, none of the others in the group can be selected.</short>
        <descr>
          <p>The Application Programmer is responsible for ensuring that the <var>OnClick</var> event handler for each button has a unique <var>Action</var>,
            and that the Actions of the other (deselected and therefore inactive) buttons are turned off.</p>
          <p>
            <var>TRadioGroup</var> behaves differently from a group of <var>TRadioButton</var> controls placed arbitrarily around a form. </p>
          <p>In the case of <var>TRadioButton</var>, the mutual exclusivity is a feature that applies to any <var>RadioButton</var> anywhere in the Form,
            and the <var>RadioButtons</var> can be rearranged in any order or placed anywhere within the containing <var>Form</var>,
            while in <var>TRadioGroup</var> the exclusivity applies only to buttons within the Group,
            which are ordered strictly according to their <var>ItemIndex</var> within the <var>Items</var> stringlist. </p>
          <p>
            <var>TRadioButton</var> is an entity in itself, with a number of additional properties, whereas the buttons within <var>TRadioGroup</var>  are not separate entities,
            but rather are simply entries in a list of strings, each of which is associated with the on-screen image of a <var>RadioButton</var>. </p>
          <p>The example shows the difference between the use of <var>TRadioButton</var> and <var>TRadioGroup</var>
          </p>
        </descr>
        <seealso>
          <link id="HowToUseStdCtrls"/>
          <link id="#lcl.ExtCtrls.TRadioGroup">TRadioGroup</link>
        </seealso>
        <example file="extctrls/radiobutton.pas"/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TRadioButton.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <!-- procedure Visibility: protected -->
      <element name="TRadioButton.ApplyChanges" link="#LCL.StdCtrls.TCustomCheckBox.ApplyChanges"/>
      <element name="TRadioButton.DialogChar" link="#LCL.Controls.TControl.DialogChar"/>
      <element name="TRadioButton.DialogChar.Result">
        <short/>
      </element>
      <element name="TRadioButton.DialogChar.Message">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TRadioButton.RealSetText" link="#LCL.Controls.TControl.RealSetText"/>
      <element name="TRadioButton.RealSetText.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TRadioButton.DoClickOnChange"/>
      <!-- procedure Visibility: protected -->
      <element name="TRadioButton.CreateParams"/>
      <element name="TRadioButton.CreateParams.Params">
        <short/>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TRadioButton.Create"/>
      <element name="TRadioButton.Create.TheOwner">
        <short/>
      </element>
      <!-- property Visibility: published -->
      <element name="TRadioButton.Align" link="#LCL.Controls.TControl.Align"/>
      <element name="TRadioButton.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TRadioButton.AutoSize" link="#LCL.Controls.TControl.AutoSize"><short>TRadioButton default is True</short>
      </element>
      <element name="TRadioButton.BidiMode" link="#LCL.Controls.TControl.BiDiMode"/>
      <element name="TRadioButton.BorderSpacing" link="#LCL.Controls.TControl.BorderSpacing"/>
      <element name="TRadioButton.Caption" link="#LCL.Controls.TControl.Caption"/>
      <element name="TRadioButton.Checked" link="#LCL.StdCtrls.TButtonControl.Checked"/>
      <element name="TRadioButton.Color" link="#LCL.Controls.TControl.Color"/>
      <element name="TRadioButton.Constraints" link="#LCL.Controls.TControl.Constraints"/>
      <element name="TRadioButton.DragCursor" link="#LCL.Controls.TControl.DragCursor"/>
      <element name="TRadioButton.DragKind" link="#LCL.Controls.TControl.DragKind"/>
      <element name="TRadioButton.DragMode" link="#LCL.Controls.TControl.DragMode"/>
      <element name="TRadioButton.Enabled" link="#LCL.Controls.TControl.Enabled"/>
      <element name="TRadioButton.Font" link="#LCL.Controls.TControl.Font"/>
      <element name="TRadioButton.Hint" link="#LCL.Controls.TControl.Hint"/>
      <element name="TRadioButton.OnChange" link="#LCL.StdCtrls.TButtonControl.OnChange"/>
      <element name="TRadioButton.OnChangeBounds" link="#LCL.Controls.TControl.OnChangeBounds"/>
      <element name="TRadioButton.OnClick" link="#LCL.Controls.TControl.OnClick"/>
      <element name="TRadioButton.OnContextPopup" link="#LCL.Controls.TControl.OnContextPopup"/>
      <element name="TRadioButton.OnDragDrop" link="#LCL.Controls.TControl.OnDragDrop"/>
      <element name="TRadioButton.OnDragOver" link="#LCL.Controls.TControl.OnDragOver"/>
      <element name="TRadioButton.OnEndDrag" link="#LCL.Controls.TControl.OnEndDrag"/>
      <element name="TRadioButton.OnEnter" link="#LCL.Controls.TWinControl.OnEnter"/>
      <element name="TRadioButton.OnExit" link="#LCL.Controls.TWinControl.OnExit"/>
      <element name="TRadioButton.OnKeyDown"/>
      <element name="TRadioButton.OnKeyPress"/>
      <element name="TRadioButton.OnKeyUp"/>
      <element name="TRadioButton.OnMouseDown" link="#LCL.Controls.TControl.OnMouseDown"/>
      <element name="TRadioButton.OnMouseEnter" link="#LCL.Controls.TControl.OnMouseEnter"/>
      <element name="TRadioButton.OnMouseLeave" link="#LCL.Controls.TControl.OnMouseLeave"/>
      <element name="TRadioButton.OnMouseMove" link="#LCL.Controls.TControl.OnMouseMove"/>
      <element name="TRadioButton.OnMouseUp" link="#LCL.Controls.TControl.OnMouseUp"/>
      <element name="TRadioButton.OnResize" link="#LCL.Controls.TControl.OnResize"/>
      <element name="TRadioButton.OnStartDrag" link="#LCL.Controls.TControl.OnStartDrag"/>
      <element name="TRadioButton.ParentBidiMode" link="#LCL.Controls.TControl.ParentBiDiMode"/>
      <element name="TRadioButton.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <element name="TRadioButton.ParentFont" link="#LCL.Controls.TControl.ParentFont"/>
      <element name="TRadioButton.ParentShowHint" link="#LCL.Controls.TControl.ParentShowHint"/>
      <element name="TRadioButton.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <element name="TRadioButton.ShowHint" link="#LCL.Controls.TControl.ShowHint"/>
      <element name="TRadioButton.TabOrder" link="#LCL.Controls.TWinControl.TabOrder"/>
      <element name="TRadioButton.TabStop" link="#LCL.Controls.TWinControl.TabStop"/>
      <element name="TRadioButton.Visible" link="#LCL.Controls.TControl.Visible"/>
<!-- object Visibility: default -->
      <element name="TCustomLabel">
        <short>The base class for <var>TLabel</var>.</short>
        <descr/>
      </element>
      <!-- variable Visibility: private -->
      <element name="TCustomLabel.FAlignment" link="TCustomLabel.Alignment"/>
      <element name="TCustomLabel.FFocusControl" link="TCustomLabel.FocusControl"/>
      <element name="TCustomLabel.FOptimalFill" link="TCustomLabel.OptimalFill"/>
      <element name="TCustomLabel.FShowAccelChar" link="TCustomLabel.ShowAccelChar"/>
      <element name="TCustomLabel.FWordWrap" link="TCustomLabel.WordWrap"/>
      <element name="TCustomLabel.FLayout" link="TCustomLabel.Layout"/>
      <element name="TCustomLabel.FInternalSetBounds">
        <short/>
        <descr>
        </descr>
        <seealso>
        </seealso>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.SetAlignment" link="TCustomLabel.Alignment"/>
      <element name="TCustomLabel.SetAlignment.Value">
        <short/>
      </element>
      <!-- procedure Visibility: private -->
      <element name="TCustomLabel.SetOptimalFill" link="TCustomLabel.OptimalFill"/>
      <element name="TCustomLabel.SetOptimalFill.AValue">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomLabel.WSRegisterClass" link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass"/>
      <element name="TCustomLabel.CanTab">
        <short>Always False, as you can't tab to a label.</short>
        <descr/>
        <errors/>
        <seealso>
          <link id="#LCL.Controls.TControl.CanTab">TControl.CanTab</link>
        </seealso>
      </element>
      <element name="TCustomLabel.CanTab.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.DoMeasureTextPosition">
        <short>Determines the origin of the text, within the control.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomLabel.DoMeasureTextPosition.TextTop">
        <short/>
      </element>
      <element name="TCustomLabel.DoMeasureTextPosition.TextLeft">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomLabel.HasMultiLine">
        <short>Searches for newline characters in the text.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomLabel.HasMultiLine.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.CalculatePreferredSize" link="#LCL.Controls.TControl.CalculatePreferredSize"/>
      <element name="TCustomLabel.CalculatePreferredSize.PreferredWidth">
        <short/>
      </element>
      <element name="TCustomLabel.CalculatePreferredSize.PreferredHeight">
        <short/>
      </element>
      <element name="TCustomLabel.CalculatePreferredSize.WithThemeSpace">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.CalculateSize">
        <short>Determines the text extent, base on a maximum field width.</short>
        <descr>
        </descr>
        <errors>
        </errors>
        <seealso>
        </seealso>
      </element>
      <element name="TCustomLabel.CalculateSize.MaxWidth">
        <short>Where wordwrap may start.</short>
      </element>
      <element name="TCustomLabel.CalculateSize.NeededWidth">
        <short/>
      </element>
      <element name="TCustomLabel.CalculateSize.NeededHeight">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.DoAutoSize" link="#LCL.Controls.TControl.DoAutoSize"/>
      <!-- function Visibility: protected -->
      <element name="TCustomLabel.DialogChar" link="#LCL.Controls.TControl.DialogChar"/>
      <element name="TCustomLabel.DialogChar.Result">
        <short/>
      </element>
      <element name="TCustomLabel.DialogChar.Message">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.TextChanged" link="#LCL.Controls.TControl.TextChanged"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.DoSetBounds"/>
      <element name="TCustomLabel.DoSetBounds.ALeft">
        <short/>
      </element>
      <element name="TCustomLabel.DoSetBounds.ATop">
        <short/>
      </element>
      <element name="TCustomLabel.DoSetBounds.AWidth">
        <short/>
      </element>
      <element name="TCustomLabel.DoSetBounds.AHeight">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.FontChanged" link="#LCL.Controls.TControl.FontChanged"/>
      <element name="TCustomLabel.FontChanged.Sender">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomLabel.GetControlClassDefaultSize"/>
      <element name="TCustomLabel.GetControlClassDefaultSize.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.WMActivate">
        <short>Defers the focus to the FocusControl.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomLabel.WMActivate.Message">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.Notification" link="#LCL.Controls.TControl.Notification"/>
      <element name="TCustomLabel.Notification.AComponent">
        <short/>
      </element>
      <element name="TCustomLabel.Notification.Operation">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomLabel.GetLabelText">
        <short>Returns the Caption string.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomLabel.GetLabelText.Result">
        <short/>
      </element>
      <!-- function Visibility: protected -->
      <element name="TCustomLabel.GetTransparent" link="TCustomLabel.Transparent"/>
      <element name="TCustomLabel.GetTransparent.Result">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.SetColor" link="#LCL.Controls.TControl.SetColor"/>
      <element name="TCustomLabel.SetColor.NewColor">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.SetFocusControl" link="TCustomLabel.FocusControl"/>
      <element name="TCustomLabel.SetFocusControl.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.SetLayout" link="TCustomLabel.Layout"/>
      <element name="TCustomLabel.SetLayout.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.SetShowAccelChar" link="TCustomLabel.ShowAccelChar"/>
      <element name="TCustomLabel.SetShowAccelChar.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.SetTransparent" link="TCustomLabel.Transparent"/>
      <element name="TCustomLabel.SetTransparent.NewTransparent">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.SetWordWrap" link="TCustomLabel.WordWrap"/>
      <element name="TCustomLabel.SetWordWrap.Value">
        <short/>
      </element>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.Loaded"/>
      <!-- procedure Visibility: protected -->
      <element name="TCustomLabel.UpdateSize">
        <short>Handles OptimalFill.</short>
        <descr>
        </descr>
        <errors>
        </errors>
        <seealso>
        </seealso>
      </element>
      <!-- constructor Visibility: public -->
      <element name="TCustomLabel.Create"/>
      <element name="TCustomLabel.Create.TheOwner">
        <short/>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomLabel.CalcFittingFontHeight">
        <short>Calculate the maximum height of the font needed to fit the available space,
          given the MaxWidth and MaxHeight constraints</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomLabel.CalcFittingFontHeight.Result">
        <short/>
      </element>
      <element name="TCustomLabel.CalcFittingFontHeight.TheText">
        <short/>
      </element>
      <element name="TCustomLabel.CalcFittingFontHeight.MaxWidth">
        <short/>
      </element>
      <element name="TCustomLabel.CalcFittingFontHeight.MaxHeight">
        <short/>
      </element>
      <element name="TCustomLabel.CalcFittingFontHeight.FontHeight">
        <short/>
      </element>
      <element name="TCustomLabel.CalcFittingFontHeight.NeededWidth">
        <short/>
      </element>
      <element name="TCustomLabel.CalcFittingFontHeight.NeededHeight">
        <short/>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomLabel.ColorIsStored" link="TCustomLabel.Color"/>
      <element name="TCustomLabel.ColorIsStored.Result">
        <short/>
      </element>
      <!-- function Visibility: public -->
      <element name="TCustomLabel.AdjustFontForOptimalFill">
        <short>If True, attempts to adjust font for an optimal fill of the space available.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <element name="TCustomLabel.AdjustFontForOptimalFill.Result">
        <short/>
      </element>
      <!-- procedure Visibility: public -->
      <element name="TCustomLabel.Paint" link="#LCL.Controls.TGraphicControl.Paint"/>
      <!-- procedure Visibility: public -->
      <element name="TCustomLabel.SetBounds"/>
      <element name="TCustomLabel.SetBounds.aLeft">
        <short/>
      </element>
      <element name="TCustomLabel.SetBounds.aTop">
        <short/>
      </element>
      <element name="TCustomLabel.SetBounds.aWidth">
        <short/>
      </element>
      <element name="TCustomLabel.SetBounds.aHeight">
        <short/>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomLabel.Alignment">
        <short>Horizontal text justification (centered, left- or right-justified).</short>
        <seealso><link id="TCustomLabel.Layout"/>
        </seealso>
      </element>
      <element name="TCustomLabel.AutoSize" link="#LCL.Controls.TControl.AutoSize"><short>TCustomLabel default is True</short>
      </element>
      <!-- property Visibility: public -->
      <element name="TCustomLabel.Color" link="#LCL.Controls.TControl.Color"/>
      <!-- property Visibility: protected -->
      <element name="TCustomLabel.FocusControl">
        <short>The control associated with the label and its accelerator key (AccelChar).</short>
        <descr>
          <p>
            Set FocusControl to the control that shall receive the focus,
            when the label's accelerator key is pressed.
          </p><p>
            A label control cannot receive the focus (it's read-only), but can display an accelerator key indicator, just as menu entries can do.
            <br/>A windowed control (Edit...) can receive focus, but cannot indicate an accelerator key.
          </p><p>
            Using a combination of both an label and another control allows one to specify both the accelerator key, in the label's caption,
            and make the other control receive the focus when the user presses that accelerator key.
          </p><p>
            An accelerator key is marked by an ampersand '&amp;' in the label's caption,
            immediately preceding the character to be used as the accelerator key.
            The marked character appears underlined on screen, when ShowAccelChar=True.
          </p><p>
            E.g. when you have a NameEdit1 control on a form, preceded by a label NameLabel1,
            you can set NameLabel1.FocusControl to NameEdit1, and NameLabel1.Caption to '&amp;Name'.
            This makes the NameLabel1 displayed as '<b>N</b>ame'.
            <!-- should be underlined, but fpdoc errors on '<u>N</u>ame' -->
          </p>
        </descr>
        <seealso>
          <link id="TCustomLabel.ShowAccelChar"/>
        </seealso>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomLabel.Layout">
        <short>Vertical alignment of the text (at top, bottom or centered).</short>
        <seealso><link id="TCustomLabel.Alignment"/>
        </seealso>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomLabel.OptimalFill">
        <short>If True, the font size is adjusted for optimal fill of the available space.</short>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomLabel.ShowAccelChar">
        <short>Underlines the character in the label that acts as an accelerator with a shortcut key.</short>
        <descr>
          <p>
            When False, ampersands '&amp;' in the label's caption are displayed as ordinary characters (as in the Object Inspector).
          </p><p>
            When True, the character following the ampersand appears underlined,
            and when the user presses the accelerator key (CTRL+character),
            the text cursor jumps to the associated FocusControl.
          </p>
        </descr>
        <seealso><link id="TCustomLabel.FocusControl"/>
        </seealso>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomLabel.Transparent">
        <short>Whether the viewer can see through the control. The default value is true</short>
        <descr>
          <p>
            Opaque Labels have their enclosing rectangle filled with the background color of the label.
            This can be the color of the Parent control, when ParentColor is True. Setting Transparent 
            to True makes the label transparent, not hiding any background details.
          </p><p>
            Note that the default value of this property in the LCL is true, which is different from the
            default value in Delphi.
          </p>
        </descr>
        <seealso><link id="#LCL.Controls.TControl.ParentColor"/>
        </seealso>
      <notes><note>Delphi: False?</note>
        </notes>
      </element>
      <!-- property Visibility: protected -->
      <element name="TCustomLabel.WordWrap">
        <short>Allows text to wrap into multiple lines, when the text is too long for the available Width.</short>
        <descr>
          <p>
            When False, the text is truncated at the right margin of the control.
          </p><p>
            WordWrap=true and AutoSize=true requires that the Width is fixed,
            e.g. by anchoring the left and right side.
          </p>
        </descr>
      </element>
<!-- object Visibility: default -->
      <element name="TLabel">
        <short>Control to show static text, possibly in multiple lines.</short>
        <seealso>
          <link id="HowToUseStdCtrls"/>
          <link id="TStaticText"/>
        </seealso>
      </element>
      <!-- property Visibility: published -->
      <element name="TLabel.Align" link="#LCL.Controls.TControl.Align"/>
      <element name="TLabel.Alignment" link="#LCL.StdCtrls.TCustomLabel.Alignment"/>
      <element name="TLabel.Anchors" link="#LCL.Controls.TControl.Anchors"/>
      <element name="TLabel.AutoSize" link="#LCL.Controls.TControl.AutoSize"/>
      <element name="TLabel.BidiMode" link="#LCL.Controls.TControl.BiDiMode"/>
      <element name="TLabel.BorderSpacing" link="#LCL.Controls.TControl.BorderSpacing"/>
      <element name="TLabel.Caption" link="#LCL.Controls.TControl.Caption"/>
      <element name="TLabel.Color" link="#LCL.Controls.TControl.Color"/>
      <element name="TLabel.Constraints" link="#LCL.Controls.TControl.Constraints"/>
      <element name="TLabel.DragCursor" link="#LCL.Controls.TControl.DragCursor"/>
      <element name="TLabel.DragKind" link="#LCL.Controls.TControl.DragKind"/>
      <element name="TLabel.DragMode" link="#LCL.Controls.TControl.DragMode"/>
      <element name="TLabel.Enabled" link="#LCL.Controls.TControl.Enabled"/>
      <element name="TLabel.FocusControl" link="#LCL.StdCtrls.TCustomLabel.FocusControl"/>
      <element name="TLabel.Font" link="#LCL.Controls.TControl.Font"/>
      <element name="TLabel.Layout" link="#LCL.StdCtrls.TCustomLabel.Layout"/>
      <element name="TLabel.OnChangeBounds" link="#LCL.Controls.TControl.OnChangeBounds"/>
      <element name="TLabel.OnClick" link="#LCL.Controls.TControl.OnClick"/>
      <element name="TLabel.OnContextPopup" link="#LCL.Controls.TControl.OnContextPopup"/>
      <element name="TLabel.OnDblClick" link="#LCL.Controls.TControl.OnDblClick"/>
      <element name="TLabel.OnDragDrop" link="#LCL.Controls.TControl.OnDragDrop"/>
      <element name="TLabel.OnDragOver" link="#LCL.Controls.TControl.OnDragOver"/>
      <element name="TLabel.OnEndDrag" link="#LCL.Controls.TControl.OnEndDrag"/>
      <element name="TLabel.OnMouseDown" link="#LCL.Controls.TControl.OnMouseDown"/>
      <element name="TLabel.OnMouseEnter" link="#LCL.Controls.TControl.OnMouseEnter"/>
      <element name="TLabel.OnMouseLeave" link="#LCL.Controls.TControl.OnMouseLeave"/>
      <element name="TLabel.OnMouseMove" link="#LCL.Controls.TControl.OnMouseMove"/>
      <element name="TLabel.OnMouseUp" link="#LCL.Controls.TControl.OnMouseUp"/>
      <element name="TLabel.OnResize" link="#LCL.Controls.TControl.OnResize"/>
      <element name="TLabel.OnStartDrag" link="#LCL.Controls.TControl.OnStartDrag"/>
      <element name="TLabel.OptimalFill" link="#LCL.StdCtrls.TCustomLabel.OptimalFill"/>
      <element name="TLabel.ParentBidiMode" link="#LCL.Controls.TControl.ParentBiDiMode"/>
      <element name="TLabel.ParentColor" link="#LCL.Controls.TControl.ParentColor"/>
      <element name="TLabel.ParentFont" link="#LCL.Controls.TControl.ParentFont"/>
      <element name="TLabel.ParentShowHint" link="#LCL.Controls.TControl.ParentShowHint"/>
      <element name="TLabel.PopupMenu" link="#LCL.Controls.TControl.PopupMenu"/>
      <element name="TLabel.ShowAccelChar" link="#LCL.StdCtrls.TCustomLabel.ShowAccelChar"/>
      <element name="TLabel.ShowHint" link="#LCL.Controls.TControl.ShowHint"/>
      <element name="TLabel.Transparent" link="#LCL.StdCtrls.TCustomLabel.Transparent"/>
      <element name="TLabel.Visible" link="#LCL.Controls.TControl.Visible"/>
      <element name="TLabel.WordWrap" link="#LCL.StdCtrls.TCustomLabel.WordWrap"/>
      <!-- procedure Visibility: default -->
      <element name="Register">
        <short>Registers the components declared in this unit.</short>
        <descr/>
        <errors/>
        <seealso/>
      </element>
      <topic name="HowToUseStdCtrls">
        <short>How to use <var>StdCtrls</var>, <var>ComCtrls</var> or <var>ExtCtrls</var>
        </short>
        <descr>
          <p>
            The Units <var>StdCtrls</var>, <var>ComCtrls</var> and <var>ExtCtrls</var> contain definitions and descriptions
            of many of the most commonly used controls for constructing Forms and other objects in Lazarus GUI applications.
          </p><p>
            Most controls are split into a final class, such as <var>TButton</var>, <var>TMemo</var>, <var>TScrollBar</var> etc.,
            and a corresponding ancestor class such as <var>TCustomButton</var>, <var>TCustomMemo</var> or <var>TCustomScrollBar</var>.
            The final class is designed for immediate use, it almost only publishes the properties of the control.
            The corresponding custom ancestor class (<var>TCustomXXX</var>) can be used to derive controls with special (customized) appearance or behaviour.
          </p><p>
            If you drop a component from the component palette on the form editor you don't need to add code explicitly to create it.
            The component is automatically created by the IDE together with the form, and destroyed when the form is destroyed.
          </p><p>
            However, if you create the component yourself by code, and don't specify an Owner for it (Create(Nil)),
            you are responsible for freeing the component when it is no longer needed.
            You better construct it with Create(Self), where Self means the containing Form or Parent control.
          </p><p>
            A control also must have a Parent control, maybe the Form, so that it can become visible within the client area of its Parent.
            The Top and Left properties specify the placement of the control within its <b>Parent</b>.
            The Object Tree reflects the Parent-Client relationships of all controls on the form.
          </p><p>
            Unlike controls, mere <var>components</var> are invisible at runtime (Open Dialogs...).
            Controls can be made invisible at runtime as well, by setting their Visible property to False.
          </p><p>
            If you place a component on the Form Designer and look at the Object Inspector,
            you can observe the Top and Left properties change as you move the component around.
            The same for the Width and Height properties, when you resize a control by dragging it's size grips.
          </p><p>
            When you modify the properties in the Object Inspector, the control on the form will reflect the changes as well.
          </p><p>
            You can also explicitly change the properties of the object in code by typing (in the appropriate Implementation section of the Source editor), for example
          </p>
          <code>Form1.Button1.Height := 48;</code>
          <p>In summary, there are usually about three different ways to determine each property of a component:</p>
          <ul>
            <li>by using the mouse,</li>
            <li>by setting the values in the Object Inspector,</li>
            <li>or explicitly by writing code.</li>
          </ul>
          <p>
            The components defined in these Units have several properties that are common to most of them,
            and other properties that are specific to the individual components.
            We shall describe the most common ones here.
            Unusual or control-specific properties will be described for the individual controls.
          </p><p>
            Additional Help can always be obtained by selecting a property or keyword,  in either the Object Inspector or the Source Editor, and pressing <b>F1</b>.
            You will be taken by your Help browser to the appropriate page in the documentation.
          </p><p>
            If the description of a property on that page is insufficient, you can navigate to the corresponding description in the ancestor classes,
            by selecting the links in the Inheritance listing or by selecting the ancestor Type in the declaration of the object.</p>
          <table>
            <caption>Some commonly listed properties</caption>
            <th>
              <td>Property</td>
              <td>Meaning</td>
            </th>
            <tr>
              <td>Action</td>
              <td>Use Action when e.g. a button and a menu entry shall perform the same task, e.g. the <var>Close</var> action.
              </td>
            </tr>
            <tr>
              <td>Align</td>
              <td>Defines how a control is lined up within its parent control. Possible values are
                alTop, alBottom (stacked at the top or bottom, using the full available width),
                alLeft, alRight (placed at the left or right, using the full available height),
                alNone (place anywhere on parent control) or
                alClient (takes all available space left over by other controls).
              </td>
            </tr>
            <tr>
              <td>Anchor</td>
              <td>Used to keep a control at a fixed distance from the edges of its Parent control, when the Parent is resized.
                For example <b>[akBottom, akRight]</b> will keep the control a fixed distance from the bottom right corner.
                Anchoring both [akLeft, akRight] will make the control extend or shrink in Width, together with its Parent.
              </td>
            </tr>
            <tr>
              <td>AutoSelect</td>
              <td>When True, a text control will select all its text when it receives focus or when the Enter key is pressed.</td>
            </tr>
            <tr>
              <td>AutoSelected</td>
              <td>True indicate that the edit or combobox control has performed an AutoSelect operation,
                so that subsequent mouse-clicks and keystrokes proceed normally without selecting the text.
            </td>
            </tr>
            <tr>
              <td>BorderSpacing</td>
              <td>The space around the edge between an control and its siblings.</td>
            </tr>
            <tr>
              <td>Caption</td>
              <td>The text that is displayed on the control; it should preferably give some clue as to the function of the control,
                or an instruction such as 'Close' or 'Execute'.
                By default Caption is set to be the same as the 'Name' property, and the application designer should substitute meaningful text instead of the default values.</td>
            </tr>
            <tr>
              <td>CharCase</td>
              <td>Indicates how text is displayed in a text editing control:
                Normal (retaining the case of the letters typed by the user),
                converted to uppercase, or converted to lowercase</td>
            </tr>
            <tr>
              <td>Constraints</td>
              <td>Sets the minimum and maximum sizes for a control.
                If a control is resized the new dimensions are always within the ranges given here.
                You should take care when setting these options that they do not conflict with the Anchors and Align settings.</td>
            </tr>
            <tr>
              <td>Color</td>
              <td>The Color to be used to draw the control's background.
              </td>
            </tr>
            <tr>
              <td>Enabled</td>
              <td>Determines whether a control can be selected or perform an action.
                If it is not <var>Enabled</var>, it is often <b>Grayed</b> out on the Form.</td>
            </tr>
            <tr>
              <td>Font</td>
              <td>The Font to be used for writing the text associated with the control - either the caption or label, or the text-strings contained within the control.
                The entry on the Object Inspector usually has a (+) box on the left, and selecting this box reveals further options such as character set, color and size.</td>
            </tr>
            <tr>
              <td>Hint</td>
              <td>A short informative pop-up text that appears when the mouse-cursor moves over the control.</td>
            </tr>
            <tr>
              <td>Items</td>
              <td>The list of 'Things' that the object contains, such as a group of images, a series of lines of text, a number of actions in an actionlist, etc</td>
            </tr>
            <tr>
              <td>Lines</td>
              <td>An array of strings, containing the paragraph texts in Memo controls.
                The array index is zero-based, ie the lines are numbered [0..numLines-1]</td>
            </tr>
            <tr>
              <td>Name</td>
              <td>The identifier by which the control is known in the program.
                The IDE gives it a default name based on the underlying type, for example successive instances of TBitButton would be named Form1.BitBitton1 and Form1.BitButton2;
                it is up to the application programmer to give them more meaningful names such as ExitButton or OKButton.
                By default the Name of the control is applied to the Caption for the control, but the text of the Caption may be changed separately.</td>
            </tr>
            <tr>
              <td>PopUpMenu</td>
              <td>A window containing context-sensitive menu entries, that pops up when the right mouse button is clicked on the object.</td>
            </tr>
            <tr>
              <td>Position (or Top, Left)</td>
              <td>Determines where the control is located on the parent form or control.</td>
            </tr>
            <tr>
              <td>ReadOnly</td>
              <td>If True, the user cannot change the text in the control.</td>
            </tr>
            <tr>
              <td>ShowHint</td>
              <td>Allows to enable or suppress <var>Hints</var>.
              </td>
            </tr>
            <tr>
              <td>Size (or Height and Width)</td>
              <td>The dimensions of the control</td>
            </tr>
            <tr>
              <td>Style</td>
              <td>The options available for Style depend upon the sort of Control being considered:
                for instance the Style may be defined by TFormStyle, TBorderStyle, TButtonStyle etc.</td>
            </tr>
            <tr>
              <td>TabOrder</td>
              <td>Specifies the sequence of controls, that are entered when the user presses the Tab key.
              </td>
            </tr>
            <tr>
              <td>TabStop</td>
              <td>Specifies whether the control can be reached (or is skipped) by pressing the Tab key.</td>
            </tr>
            <tr>
              <td>Text</td>
              <td>Like Caption, the <b>user editable</b> text that appears in the control.
                Applies particularly to Edit, Memo and ComboBox types of controls.
                Most of the editing operations (such as <var>Select</var>, <var>Clear</var>, <var>Cut</var>, <var>Copy</var>) are performed in this property.
                If the control contains more than a single line of text,
                then the textual elements are arranged as a zero-based array of strings in <var>Lines</var> (<var>TMemo</var>)
                or <var>Items</var> (<var>TListBox</var>, <var>TComboBox</var>).
              </td>
            </tr>
            <tr>
              <td>Visible</td>
              <td>If true, the control can be seen on the Form; if False, it is hidden.</td>
            </tr>
            <tr>
              <td>WordWrap</td>
              <td>Allows to wrap the Text into multiple lines.
                When False, the text is clipped at the right margin of the control, but it still can be inspected by moving the caret within the text.
              </td>
            </tr>
          </table>
          <p>The 'Events' tab in the Object Inspector contains a list with events, which can occur for this control.
            If you select an entry in the list, a ComboBox appears with a DropDown list showing any event handlers that have aleady been defined,
            and allowing you to choose one for this event.
            Alternatively you can select the ellipsis (three dots ...) and you will be taken to the Source Editor,
            where the Object Inspector created an new event handler method for you.
            You also can type the name of your handler in the Object Inspector and press Enter, to create a new handler method.
          </p>
          <p>While a large number of events is available for any given control, in practice it is only necessary to populate a few of them.
            For most controls, it is sufficient to provide coding for 'OnClick'; for more complex controls it may be necessary also to provide for
            'OnEntry' (when the control receives the focus) and
            'OnExit' (when the control looses the focus);
            or you may need to write an event handler for 'OnChange' or 'OnScroll', depending on the nature of the particular control with which you are dealing.
          </p>
          <p>
            Many controls have a default event, usually OnClick, for which an handler is created with a double click on the control.
            Or right click on the control, and select the first entry: 'Create default event'.
          </p>
          <p>A common strategy in Object-Oriented programming is to provide an <link id="#lcl.ActnList.TActionList">ActionList</link>
            with the facility for entering, removing or editing a number of pre-defined actions,
            from which the most appropriate can be selected to use in any particular instance.
          </p>
          <table>
            <caption>Some commonly listed Actions</caption>
            <th>
              <td>Event</td>
              <td>Meaning</td>
            </th>
            <tr>
              <td>OnChange</td>
              <td>Action to be taken if any change is detected (e.g. by mouse click, key press, edit text, etc)</td>
            </tr>
            <tr>
              <td>OnClick</td>
              <td>Action to be taken when the (left) mouse button is clicked.
                This is usually the main or default action of the control; for example clicking on a button or checkbox initiates the action associated with the checkbox.
                It may alternatively initate a process of selection, for instance in a TextBox or Memo.</td>
            </tr>
            <tr>
              <td>Click</td>
              <td>A method to emulate in code the effect of clicking on a control. This method is most often found in Button-type controls (TButton, TBitBtn, TSpeedButton etc). A procedure can be written that calls the same code as the OnClick action. This facility can be particularly useful if the activation of one control by clicking causes a cascade of other controls to be activated, and the Click method can be used to initiate the action rather than having the user explicitly click on a lot of controls.</td>
            </tr>
            <tr>
              <td>OnDragDrop</td>
              <td>Action to be taken when a dragged control has been dropped onto this control.
              </td>
            </tr>
            <tr>
              <td>OnEntry</td>
              <td>Action to be taken when the control receives the focus.
                This might include changes in the appearance of the object such as highlighting or raising the border.</td>
            </tr>
            <tr>
              <td>OnExit</td>
              <td>Action to be taken when control is about to loose the focus.
                This is the right place for validity checks of user input, with a chance to disallow moving to a different control when the input is invalid.
              </td>
            </tr>
            <tr>
              <td>OnKeyPress</td>
              <td>Action to be taken on an entered character. Checks...
              </td>
            </tr>
            <tr>
              <td>OnKeyDown</td>
              <td>Action to be taken if a key is down while focus is in this control.
                This allows one to filter or process control characters in a special way.
              </td>
            </tr>
            <tr>
              <td>OnKeyUp</td>
              <td>Action to be taken if a key goes up. This event occurs only once, while auto-repeated keystrokes trigger multiple OnKeyDown or OnKeyPress events.
              </td>
            </tr>
            <tr>
              <td>OnMouseMove</td>
              <td>Action to be taken if the mouse cursor moves over the control.
                This event fires with every small move, while OnMouseEnter and OnMouseLeave occur only when the mouse enters or leaves the control.
              </td>
            </tr>
            <tr>
              <td>OnMouseDown</td>
              <td>Action to be taken when a mouse button is pressed over the control.</td>
            </tr>
            <tr>
              <td>OnMouseUp</td>
              <td>Action to be taken if a mouse button goes up over the control.
              </td>
            </tr>
            <tr>
              <td>OnResize</td>
              <td>Action to be taken when the control is resized. Might include re-alignment of text or selection of a different font size etc.
                Do not mix up with AutoSize, or you ask for trouble!
              </td>
            </tr>
          </table>
          <p>
            <var>Constructors</var> such as <var>Create</var> allocate memory and system resources needed by the object.
            They also call the constructor of any sub-objects present in the class.
          </p>
          <p>
            <var>Destructors:</var> remove the object and de-allocate memory and other resources.
            If you call <var>Destroy</var> for an object which hasn't being initialized yet it will generate an error.
            Always use the <var>Free</var> method to deallocate objects, because it checks whether an object's value is <b>nil</b> before invoking <var>Destroy</var>.
          </p>
          <p>Take the following precautions when creating your own <var>Destroy</var> method:</p>
          <ul>
            <li>Declare <var>Destroy</var> with the <b>override</b> directive, because it is a <b>virtual</b> method.</li>
            <li>Always call '<var>inherited Destroy;</var>' as the last thing on the destructor code.</li>
            <li>Be aware that an <var>exception</var> may be raised on the <var>constructor</var> in case there is not enough memory to create an object,
              or something else goes wrong. If the <var>exception</var> is not handled inside the constructor, the object will destroyed immediately.
              In this case <var>Destroy</var> will be called with a partially initialized object,
              so your destructor must check if the resources were really allocated before disposing of them.</li>
            <li>Remember to call <var>Free</var> for all objects created on the constructor.</li>
          </ul>
        </descr>
      <notes><note>~remove this?</note><note>or to write the text it contains -&gt; Font.Color!???</note><note>of?</note><note>???</note><note>here???</note><note>OnDragOver?</note>
        </notes>
      </topic>
    </module>
    <!-- StdCtrls -->
  </package>
</fpdoc-descriptions>
