<?xml version="1.0" encoding="UTF-8"?>
<fpdoc-descriptions>
  <package name="lcl">
    <!--
      ====================================================================
        Dialogs
      ====================================================================
    -->
    <module name="Dialogs">
      <short>Contains common dialogs used in Lazarus LCL applications.</short>
      <descr>
        <p>
          <file>dialogs.pp</file> contains classes, types, and routines used to implement common dialogs in an application. This file is part of the Lazarus Component Library (<b>LCL</b>).
        </p>
        <p>
          The following components are added to the Lazarus IDE component palette:
        </p>
        <p>
          <b>Dialogs</b> Tab
        </p>
        <ul>
          <li>TOpenDialog</li>
          <li>TSaveDialog</li>
          <li>TSelectDirectoryDialog</li>
          <li>TColorDialog</li>
          <li>TFontDialog</li>
          <li>TFindDialog</li>
          <li>TReplaceDialog</li>
          <li>TTaskDialog</li>
        </ul>
        <p>
          <b>Misc</b> Tab
        </p>
        <ul>
          <li>TColorButton</li>
        </ul>
      </descr>

      <element name="Types"/>
      <element name="TypInfo"/>
      <element name="Classes"/>
      <element name="SysUtils"/>
      <element name="LMessages"/>
      <element name="LResources"/>
      <element name="LCLIntf"/>
      <element name="InterfaceBase"/>
      <element name="LCLStrConsts"/>
      <element name="LCLType"/>
      <element name="Forms"/>
      <element name="Controls"/>
      <element name="Themes"/>
      <element name="Graphics"/>
      <element name="Buttons"/>
      <element name="ButtonPanel"/>
      <element name="StdCtrls"/>
      <element name="ExtCtrls"/>
      <element name="LCLClasses"/>
      <element name="ClipBrd"/>
      <element name="Menus"/>
      <element name="LCLTaskDialog"/>
      <element name="GraphType"/>
      <element name="UITypes"/>
      <element name="FileUtil"/>
      <element name="LazFileUtils"/>
      <element name="LazStringUtils"/>
      <element name="LazLoggerBase"/>

      <element name="TMsgDlgType">
        <short>Identifies a dialog type or style.</short>
        <descr>
          <p>
            <var>TMsgDlgType</var> is an alias to the <var>TMsgDlgType</var> type in <file>uitypes.pas</file>.
          </p>
        </descr>
        <seealso>
          <link id="#lazutils.uitypes.TMsgDlgType">UITypes.TMsgDlgType</link>
        </seealso>
      </element>

      <element name="TMsgDlgBtn">
        <short>Identifies dialog button types.</short>
        <descr>
          <p>
            <var>TMsgDlgBtn</var> is an alias to the <var>TMsgDlgBtn</var> type in <file>uitypes.pas</file>.
          </p>
        </descr>
        <seealso>
          <link id="#lazutils.uitypes.TMsgDlgBtn">UITypes.TMsgDlgBtn</link>
        </seealso>
      </element>

      <element name="TMsgDlgButtons">
        <short>Set with button messages for dialogs.</short>
        <descr>
          <p>
            <var>TMsgDlgButtons</var> is an alias to the <var>TMsgDlgButtons</var> type in <file>uitypes.pas</file>.
          </p>
        </descr>
        <seealso>
          <link id="#lazutils.uitypes.TMsgDlgButtons">UITypes.TMsgDlgButtons</link>
        </seealso>
      </element>

      <element name="mtWarning">
        <short>Alias to the TMsgDlgType enumeration value in uitypes.</short>
      </element>
      <element name="mtError">
        <short>Alias to the TMsgDlgType enumeration value in uitypes.</short>
      </element>
      <element name="mtInformation">
        <short>Alias to the TMsgDlgType enumeration value in uitypes.</short>
      </element>
      <element name="mtConfirmation">
        <short>Alias to the TMsgDlgType enumeration value in uitypes.</short>
      </element>
      <element name="mtCustom">
        <short>Alias to the TMsgDlgType enumeration value in uitypes.</short>
      </element>

      <element name="mbYes">
        <short>Alias to the TMsgDlgBtn enumeration value in uitypes.</short>
      </element>
      <element name="mbNo">
        <short>Alias to the TMsgDlgBtn enumeration value in uitypes.</short>
      </element>
      <element name="mbOK">
        <short>Alias to the TMsgDlgBtn enumeration value in uitypes.</short>
      </element>
      <element name="mbCancel">
        <short>Alias to the TMsgDlgBtn enumeration value in uitypes.</short>
      </element>
      <element name="mbAbort">
        <short>Alias to the TMsgDlgBtn enumeration value in uitypes.</short>
      </element>
      <element name="mbRetry">
        <short>Alias to the TMsgDlgBtn enumeration value in uitypes.</short>
      </element>
      <element name="mbIgnore">
        <short>Alias to the TMsgDlgBtn enumeration value in uitypes.</short>
      </element>
      <element name="mbAll">
        <short>Alias to the TMsgDlgBtn enumeration value in uitypes.</short>
      </element>
      <element name="mbNoToAll">
        <short>Alias to the TMsgDlgBtn enumeration value in uitypes.</short>
      </element>
      <element name="mbYesToAll">
        <short>Alias to the TMsgDlgBtn enumeration value in uitypes.</short>
      </element>
      <element name="mbHelp">
        <short>Alias to the TMsgDlgBtn enumeration value in uitypes.</short>
      </element>
      <element name="mbClose">
        <short>Alias to the TMsgDlgBtn enumeration value in uitypes.</short>
      </element>

      <element name="mbYesNoCancel">
        <short>A set constant with Yes, No, Cancel buttons.</short>
        <descr>
          A set constant used to show Yes, No, and Cancel buttons on a message dialog.
        </descr>
        <seealso/>
      </element>

      <element name="mbYesNo">
        <short>A set constant with Yes, No buttons.</short>
        <descr>
          A set constant used to show Yes and No buttons on a message dialog.
        </descr>
        <seealso/>
      </element>

      <element name="mbOKCancel">
        <short>A set constant to show an OK and a Cancel button on a message dialog.</short>
        <descr>A set constant to show an OK and a Cancel button on a message dialog.</descr>
        <seealso/>
      </element>

      <element name="mbAbortRetryIgnore">
        <short>
          A set constant to show an Abort, Retry , Ignore buttons on a message dialog.
        </short>
        <descr>
          A set constant to show an Abort, Retry and Ignore buttons on a message dialog.
        </descr>
        <seealso/>
      </element>

      <element name="MsgDlgBtnToBitBtnKind">
        <short>
          A constant array used to convert the kind of message buttons to the kind of BitButton.
        </short>
        <descr>
          <p>
            This array gives you for each possible button type in a messagebox the corresponding kind of BitButton.
          </p>
          <p>
            For instance MsgDlgBtnToBitBtnKind[mbYes] has the value of bkYes.
          </p>
          <p>
            It is the reverse of BitBtnKindToMsgDlgBtn.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="BitBtnKindToMsgDlgBtn">
        <short>
          A constant array used to convert the kind of BitButton to the kind of message buttons.
        </short>
        <descr>
          <p>
            This array gives you for each BitButton the corresponding type of button on a message dialog. For instance BitBtnKindToMsgDlgBtn[bkOK] has the value of mbOK. It is the reverse if MsgDlgBtnToBitBtnKind.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TCDWSEventCapability">
        <short>Represents events handled in a custom-drawn widgetset.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCDWSEventCapability.cdecWSPerformsDoShow">
        <short/>
      </element>
      <element name="TCDWSEventCapability.cdecWSPerformsDoCanClose">
        <short/>
      </element>
      <element name="TCDWSEventCapability.cdecWSPerformsDoClose">
        <short/>
      </element>
      <element name="TCDWSEventCapability.cdecWSNOCanCloseSupport">
        <short/>
      </element>

      <element name="TCDWSEventCapabilities">
        <short>Set type used to store values from the TCDWSEventCapability enumeration.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TDialogResultEvent">
        <short>Specifies an event signalled when a result is returned in a dialog.</short>
        <descr>
          <p>
            <var>TDialogResultEvent</var> is the type used to implement the <var>OnDialogResult</var> event handler in <var>TCommonDialog</var>.
          </p>
        </descr>
        <seealso>
          <link id="TCommonDialog.OnDialogResult"/>
        </seealso>
      </element>
      <element name="TDialogResultEvent.Sender">
        <short>Object for the event notification.</short>
      </element>
      <element name="TDialogResultEvent.Success">
        <short>True if the dialog was successfully executed.</short>
      </element>

      <element name="TCommonDialog">
        <short>The base type from which other dialogs are derived.</short>
        <descr>
          <p>
            TCommonDialog is the base type from which all other dialogs are derived.
          </p>
          <p>
            Use Create to make an instance of the dialog, and the Execute method to show it to the user. Use the Close method to release it and free the used resources.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TCommonDialog.FAttachTo"/>
      <element name="TCommonDialog.FHandle"/>
      <element name="TCommonDialog.FHeight"/>
      <element name="TCommonDialog.FOnDialogResult"/>
      <element name="TCommonDialog.FWidth"/>
      <element name="TCommonDialog.FOnCanClose"/>
      <element name="TCommonDialog.FOnShow"/>
      <element name="TCommonDialog.FTitle"/>
      <element name="TCommonDialog.FUserChoice"/>
      <element name="TCommonDialog.FHelpContext"/>
      <element name="TCommonDialog.FDoCanCloseCalled"/>
      <element name="TCommonDialog.FDoShowCalled"/>
      <element name="TCommonDialog.FDoCloseCalled"/>
      <element name="TCommonDialog.FClosing"/>
      <element name="TCommonDialog.FWSEventCapabilities"/>

      <element name="TCommonDialog.SetHandle">
        <short>Sets the value for the Handle property.</short>
        <descr/>
        <seealso>
          <link id="TCommonDialog.Handle"/>
        </seealso>
      </element>
      <element name="TCommonDialog.SetHandle.AValue">
        <short>New value for the property.</short>
      </element>

      <element name="TCommonDialog.IsTitleStored">
        <short>Implements the storage specifier for the the Title property.</short>
        <descr>
          <p>
            Returns <b>True</b> when <var>Title</var> contains a value other than <var>DefaultTitle</var>.
          </p>
        </descr>
        <seealso>
          <link id="TCommonDialog.Title"/>
          <link id="TCommonDialog.DefaultTitle"/>
        </seealso>
      </element>
      <element name="TCommonDialog.IsTitleStored.Result">
        <short>True when an explicit value has been assigned to Title.</short>
      </element>

      <element name="TCommonDialog.WSRegisterClass" link="#lcl.lclclasses.TLCLComponent.WSRegisterClass"/>

      <element name="TCommonDialog.DoExecute">
        <short>The function that actually takes care of executing the dialog.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCommonDialog.DoExecute.Result">
        <short>Returns True if the correct exit button was pressed.</short>
      </element>

      <element name="TCommonDialog.DefaultTitle">
        <short>
          <var>DefaultTitle</var> returns the default title for a dialog.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TCommonDialog.DefaultTitle.Result">
        <short/>
      </element>

      <element name="TCommonDialog.GetHeight">
        <short>Gets the value for the Height property.</short>
        <descr/>
        <seealso>
          <link id="TCommonDialog.Height"/>
        </seealso>
      </element>
      <element name="TCommonDialog.GetHeight.Result">
        <short>Value for the property.</short>
      </element>

      <element name="TCommonDialog.GetWidth">
        <short>Gets the value for the Width property.</short>
        <descr/>
        <seealso>
          <link id="TCommonDialog.Width"/>
        </seealso>
      </element>
      <element name="TCommonDialog.GetWidth.Result">
        <short>Value for the property.</short>
      </element>

      <element name="TCommonDialog.SetHeight">
        <short>Sets the value for the Height property.</short>
        <descr/>
        <seealso>
          <link id="TCommonDialog.Height"/>
        </seealso>
      </element>
      <element name="TCommonDialog.SetHeight.AValue">
        <short>New value for the property.</short>
      </element>

      <element name="TCommonDialog.SetWidth">
        <short>Sets the value for the Width property.</short>
        <descr/>
        <seealso>
          <link id="TCommonDialog.Width"/>
        </seealso>
      </element>
      <element name="TCommonDialog.SetWidth.AValue">
        <short>New value for the property.</short>
      </element>

      <element name="TCommonDialog.ResetShowCloseFlags">
        <short>Resets the values in internal state flags for the dialog.</short>
        <descr>
          <p>
            Called from the <var>Execute</var> method before the widgetset handle is allocated and the dialog is displayed.
          </p>
        </descr>
        <seealso>
          <link id="TCommonDialog.Execute"/>
          <link id="TCommonDialog.DoExecute"/>
        </seealso>
      </element>

      <element name="TCommonDialog.AttachTo">
        <short/>
        <descr>
          <p>
            AttachTo is a platform-specific property which provides the form instance which created the dialog. It is used primarily for the MacOS Cocoa interface to provide the window handle needed for the platform.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TCommonDialog.OnDialogResult">
        <short>Event handler signalled when a result is available for the dialog.</short>
        <descr>
          <p>
            <var>OnDialogResult</var> is a <var>TDialogResultEvent</var> property with the event handler signalled when a result is available for the dialog.
          </p>
          <p>
            OnDialogResult is a platform-specific  property, and may not be used in all widgetsets. It provides a way for platforms which use native dialogs in their  implementation to notify the dialog that a result is availabile.
          </p>
        </descr>
        <seealso>
          <link id="TDialogResultEvent"/>
        </seealso>
      </element>

      <element name="TCommonDialog.FCompStyle">
        <short>Internal member used to store component style flags.</short>
      </element>

      <element name="TCommonDialog.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the constructor for <var>TCommonDialog</var>, and calls the inherited <var>Create</var> method and adds default Title.
          </p>
        </descr>
        <seealso>
          <link id="#rtl.Classes.TComponent.Create">TComponent.Create</link>
        </seealso>
      </element>
      <element name="TCommonDialog.Create.TheOwner">
        <short>The owner of the dialog: the component that called it.</short>
      </element>

      <element name="TCommonDialog.Execute">
        <short>Displays the dialog and captures the result.</short>
        <descr>
          <p>
            Use the Execute method to display the dialog and capture the result.
          </p>
          <p>
            Execute notifies the Application that a modal display is started, and disables the  current form. The widgetset handle is allocated for the dialog, and the <var>DoExecute</var> method is called to process the modal dialog. The form is re-enabled and its active control is re-selected. The Application is notified that the modal display is completed.
          </p>
          <p>
            The return value is set to <b>True</b> if the <b>OK</b> button was pressed to exit the dialog.
          </p>
        </descr>
        <seealso>
          <link id="TCommonDialog.DoExecute"/>
          <link id="#lcl.forms.Application">Application</link>
          <link id="#lcl.forms.TApplication.ModalStarted">TApplication.ModalStarted</link>
          <link id="#lcl.forms.TApplication.ModalFinished">TApplication.ModalFinished</link>
        </seealso>
      </element>
      <element name="TCommonDialog.Execute.Result">
        <short>Returns True if the user pressed the OK button.</short>
      </element>

      <element name="TCommonDialog.Handle">
        <short>Operating system <var>Handle</var> for the dialog.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCommonDialog.UserChoice">
        <short><var>UserChoice</var> - the value selected by the user.</short>
        <descr>
          <p>
            <var>UserChoice</var> is an <var>name</var> property which contains the modal result value returned for the dialog. It uses modal result constants like mrOk, mrCancel, et. al. as defined in the <file>UITypes</file> unit. Its value is updated by methods in the widgetset class when they display and process the dialog for the platform.
          </p>
        </descr>
        <seealso>
          <link id="TCommonDialog.Execute"/>
          <link id="TCommonDialog.DoExecute"/>
          <link id="#lazutils.uitypes.TModalResult"/>
        </seealso>
      </element>

      <element name="TCommonDialog.Close">
        <short>Closes the dialog and frees its resources.</short>
        <descr>
          <p>
            <var>Close</var> is a method used to perform actions needed to close the dialog. This can include signalling the <var>OnClose</var> event handler (when assigned and used for the platform). Close frees the widgetset <var>Handle</var> allocated for the dialog.
          </p>
          <p>
            No actions are performed in the method if a Handle is not allocated for the dialog, or the Close method has already been called.
          </p>
          <p>
            Close is called from the <var>Execute</var> method when the <var>DoExecute</var> method has been completed, and occurs before the active form is re-enabled  and focused.
          </p>
        </descr>
        <seealso>
          <link id="TCommonDialog.Execute"/>
          <link id="TCommonDialog.DoExecute"/>
          <link id="TCommonDialog.Handle"/>
          <link id="TCommonDialog.OnClose"/>
        </seealso>
      </element>

      <element name="TCommonDialog.DoShow">
        <short>Performs actions needed when the dialog is displayed.</short>
        <descr>
          <p>
            <var>DoShow</var> is a method used to perform actions needed when the form for the modal dialog is displayed. DoShow sets an internal flag to indicate that the dialog has been displayed, and signals the <var>OnShow</var> event handler (when assigned).
          </p>
          <p>
            No actions are performed in the method if the dialog has already been displayed.
          </p>
          <p>
            DoShow is called from the <var>DoExecute</var> method.
          </p>
        </descr>
        <seealso>
          <link id="TCommonDialog.Execute"/>
          <link id="TCommonDialog.DoExecute"/>
          <link id="TCommonDialog.OnShow"/>
        </seealso>
      </element>

      <element name="TCommonDialog.DoCanClose">
        <short>Performs actions needed to determine if the dialog can be closed.</short>
        <descr>
          <p>
            <var>DoCanClose</var> is a method which determines if the dialog can be closed. It updates an internal flag which indicates the method has been called, and signals the <var>OnCanClose</var> event handler (when assigned and supported for the platform).
          </p>
          <p>
            Use the OnCanClose to implement any required logic to determine if the dialog can actually be closed. The value in the CanClose argument is updated in the event handler.
          </p>
          <p>
            DoCanClose is called from the <var>DoExecute</var> method when the widgetset class has attempted to close the dialog.
          </p>
        </descr>
        <seealso>
          <link id="TCommonDialog.OnCanClose"/>
          <link id="TCommonDialog.Execute"/>
          <link id="TCommonDialog.DoExecute"/>
        </seealso>
      </element>
      <element name="TCommonDialog.DoCanClose.CanClose">
        <short>True if the OnCanClose event handler determines the dialog can be closed.</short>
      </element>

      <element name="TCommonDialog.DoClose">
        <short>Performs actions needed when the dialog is closed.</short>
        <descr>
          <p>
            <var>DoClose</var> is a method used to perform actions needed when the dialog is closed. It updates an internal flag which indicates the method has been called, and signals the <var>OnClose</var> event handler (when assigned).
          </p>
          <p>
            DoClose is called from the <var>Close</var> method, and occurs before the widgetset <var>Handle</var> for the dialog is freed.
          </p>
        </descr>
        <seealso>
          <link id="TCommonDialog.OnClose"/>
          <link id="TCommonDialog.Execute"/>
          <link id="TCommonDialog.DoExecute"/>
          <link id="TCommonDialog.Close"/>
          <link id="TCommonDialog.Handle"/>
        </seealso>
      </element>

      <element name="TCommonDialog.HandleAllocated">
        <short>Returns True if a widgetset handle has been allocated for the dialog.</short>
        <descr/>
        <seealso>
          <link id="TCommonDialog.Handle"/>
        </seealso>
      </element>
      <element name="TCommonDialog.HandleAllocated.Result">
        <short>True if a widgetset handle has been allocated for the dialog.</short>
      </element>

      <element name="TCommonDialog.Width">
        <short>The width of the dialog.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCommonDialog.Height">
        <short>The height of the dialog.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCommonDialog.OnClose">
        <short>Event handler signalled when the dialog is closed.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCommonDialog.OnCanClose">
        <short>Event handler signalled to determine if the dialog can be closed.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCommonDialog.OnShow">
        <short>Event handler signalled when the dialog is displayed.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCommonDialog.HelpContext">
        <short>Help context identifier for the help message displayed for the dialog.</short>
        <descr/>
        <seealso>
          <link id="#lcl.forms.TApplication.HelpContext">TApplication.HelpContext</link>
          <link id="#lcl.forms.TCustomForm.HelpFile">TCustomForm.HelpFile</link>
        </seealso>
      </element>

      <element name="TCommonDialog.Title">
        <short>The Title or Caption displayed for the dialog.</short>
        <descr>
          <p>
            <var>Title</var> can be used to provide a usage context for the re-usable dialog. The default value for the property is provided by the <var>DefaultTitle</var> method, and assigned in the <var>Create</var> constructor.
          </p>
        </descr>
        <seealso>
          <link id="TCommonDialog.DefaultTitle"/>
          <link id="TCommonDialog.Create"/>
        </seealso>
      </element>

      <element name="TFileDialog">
        <short>
          <var>TFileDialog</var> allows selection of a file from the current directory.
        </short>
        <descr>
          <p>
            <var>TFileDialog</var> allows selection of a file from the current directory. This is also the base class for the Open and Save (As) dialogs.
          </p>
        </descr>
      </element>

      <element name="TFileDialog.FInternalFilterIndex"/>
      <element name="TFileDialog.FDefaultExt"/>
      <element name="TFileDialog.FFileName"/>
      <element name="TFileDialog.FFiles"/>
      <element name="TFileDialog.FFilter"/>
      <element name="TFileDialog.FFilterIndex"/>
      <element name="TFileDialog.FHistoryList"/>
      <element name="TFileDialog.FInitialDir"/>
      <element name="TFileDialog.FOnHelpClicked"/>
      <element name="TFileDialog.FOnTypeChange"/>

      <element name="TFileDialog.SetDefaultExt">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFileDialog.SetDefaultExt.AValue">
        <short/>
      </element>

      <element name="TFileDialog.SetFilterIndex">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFileDialog.SetFilterIndex.AValue">
        <short/>
      </element>

      <element name="TFileDialog.WSRegisterClass" link="#lcl.lclclasses.TLCLComponent.WSRegisterClass"/>

      <element name="TFileDialog.GetFilterIndex">
        <short>
          <var>GetFilterIndex</var> - returns the Index value for the filename filter.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TFileDialog.GetFilterIndex.Result">
        <short/>
      </element>

      <element name="TFileDialog.SetFileName">
        <short>
          <var>SetFileName</var> - specifies the filename in the file dialog.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TFileDialog.SetFileName.Value">
        <short/>
      </element>

      <element name="TFileDialog.SetFilter">
        <short>
          <var>SetFilter</var> - specifies the Filter for use in filename searching.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TFileDialog.SetFilter.Value">
        <short/>
      </element>

      <element name="TFileDialog.SetHistoryList">
        <short>
          <var>SetHistoryList</var> - specifies a list of strings that have been used in searching.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TFileDialog.SetHistoryList.AValue">
        <short/>
      </element>

      <element name="TFileDialog.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the constructor for <var>TFileDialog</var>, and calls the inherited <var>Create</var> method. It  allocates resources needed for the files and history, and initializes the filter index.
          </p>
        </descr>
        <seealso>
          <link id="#LCL.Dialogs.TCommonDialog.Create">TCommonDialog.Create</link>
        </seealso>
      </element>
      <element name="TFileDialog.Create.TheOwner">
        <short>Owner of the class instance.</short>
      </element>

      <element name="TFileDialog.Destroy">
        <short>Destructor for the class instance.</short>
        <descr>
          <p>
            <var>Destroy</var> is the destructor for <var>TFileDialog</var>, and frees file and history lists then calls the inherited <var>Destroy</var> method.
          </p>
        </descr>
        <seealso>
        </seealso>
      </element>

      <element name="TFileDialog.DoCanClose">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFileDialog.DoCanClose.CanClose">
        <short/>
      </element>

      <element name="TFileDialog.DoTypeChange">
        <short>
          <var>DoTypeChange</var> - perform the code for the <var>OnTypeChange</var> event.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFileDialog.Files">
        <short>Stringlist which stores the names of the selected files.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFileDialog.HistoryList">
        <short>
          <var>HistoryList</var> - stringlist containing the names of files recently accessed.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFileDialog.IntfFileTypeChanged">
        <short>
          <var>IntfFileTypeChanged</var> - interface method for file type change.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TFileDialog.IntfFileTypeChanged.NewFilterIndex">
        <short/>
      </element>

      <element name="TFileDialog.Title" link="#lcl.dialogs.TCommonDialog.Title"/>

      <element name="TFileDialog.DefaultExt">
        <short>Sets the default file extension for the file dialog box.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFileDialog.FileName">
        <short>String storing the name of the file chosen by the user as UTF8</short>
        <descr>
          <p>
            If you need the filename as system encoded, you can use UTF8ToSys from the unit FileUtil.
          </p>
        </descr>
      </element>

      <element name="TFileDialog.Filter">
        <short>A string which contains possible filename filters (e.g. .doc, .xmp, .pas etc).</short>
        <descr>
          <p>
            This is a string which contains the filters a user can choose from. The available filters and their description are separated by pipe symbols.
          </p>
          <p>
            To set this property at run-time assign a value like:
          </p>
          <code>"All files|*.*|Lazarus Project files|*.lpr"</code>
          <p>
            An entry can contain multiple masks separated by semicolon, like:
          </p>
          <code>"Pascal units|*.pas;*.pp;*.p"</code>
        </descr>
      </element>

      <element name="TFileDialog.FilterIndex">
        <short>This property sets which file filter is the default.</short>
        <descr>
          <p>
            This property sets which file filter is the default. For example, set this property to 2 to set the second filter as default.
          </p>
        </descr>
      </element>

      <element name="TFileDialog.InitialDir">
        <short>Set the directory the dialog shows on opening.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFileDialog.OnHelpClicked">
        <short>Event handler when the Help button is clicked.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFileDialog.OnTypeChange">
        <short>Event Handler when the selected file type is changed.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TOpenOption">
        <short>Options which can be used in OpenDialog.</short>
        <descr>
          <p>
            <var>TOpenOption</var> contains a list of possible options which can be used in an Open dialog.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="TOpenOption.ofReadOnly">
        <short/>
      </element>
      <element name="TOpenOption.ofOverwritePrompt">
        <short>If selected file exists shows a message, that file will be overwritten.</short>
      </element>
      <element name="TOpenOption.ofHideReadOnly">
        <short>hide read only file.</short>
      </element>
      <element name="TOpenOption.ofNoChangeDir">
        <short>do not change current directory.</short>
      </element>
      <element name="TOpenOption.ofShowHelp">
        <short>show a help button.</short>
      </element>
      <element name="TOpenOption.ofNoValidate">
        <short/>
      </element>
      <element name="TOpenOption.ofAllowMultiSelect">
        <short>allow multiselection.</short>
      </element>
      <element name="TOpenOption.ofExtensionDifferent">
        <short/>
      </element>
      <element name="TOpenOption.ofPathMustExist">
        <short>shows an error message if selected path does not exist.</short>
      </element>
      <element name="TOpenOption.ofFileMustExist">
        <short>shows an error message if selected file does not exist.</short>
      </element>
      <element name="TOpenOption.ofCreatePrompt">
        <short/>
      </element>
      <element name="TOpenOption.ofShareAware">
        <short/>
      </element>
      <element name="TOpenOption.ofNoReadOnlyReturn">
        <short>do not return filenames that are readonly.</short>
      </element>
      <element name="TOpenOption.ofNoTestFileCreate">
        <short/>
      </element>
      <element name="TOpenOption.ofNoNetworkButton">
        <short/>
      </element>
      <element name="TOpenOption.ofNoLongNames">
        <short/>
      </element>
      <element name="TOpenOption.ofOldStyleDialog">
        <short/>
      </element>
      <element name="TOpenOption.ofNoDereferenceLinks">
        <short>do not resolve links while dialog is shown (only on Windows, see OFN_NODEREFERENCELINKS).</short>
      </element>
      <element name="TOpenOption.ofNoResolveLinks">
        <short>do not resolve links after Execute.</short>
      </element>
      <element name="TOpenOption.ofEnableIncludeNotify">
        <short/>
      </element>
      <element name="TOpenOption.ofEnableSizing">
        <short>dialog can be resized, e.g. via the mouse.</short>
      </element>
      <element name="TOpenOption.ofDontAddToRecent">
        <short>do not add the path to the history list.</short>
      </element>
      <element name="TOpenOption.ofForceShowHidden">
        <short>show hidden files.</short>
      </element>
      <element name="TOpenOption.ofViewDetail">
        <short>details are OS and interface dependent.</short>
      </element>
      <element name="TOpenOption.ofAutoPreview">
        <short>OS and interface dependent.</short>
      </element>

      <element name="TOpenOptions">
        <short>
          Set used to store <var>TOpenOption</var> enumeration values.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="DefaultOpenDialogOptions">
        <short>Set constant with the default Open Dialog options.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TOpenDialog">
        <short>Opens a file in the current directory, selected by File Dialog.</short>
        <descr>
          <p>
            <var>TOpenDialog</var> opens a file in the current directory, selected by File Dialog. If the required file is not in the current directory, another directory can be selected with SelectDirectory.
          </p>
        </descr>
      </element>

      <element name="TOpenDialog.FOnFolderChange"/>
      <element name="TOpenDialog.FOnSelectionChange"/>
      <element name="TOpenDialog.FOptions"/>
      <element name="TOpenDialog.FLastSelectionChangeFilename"/>

      <element name="TOpenDialog.WSRegisterClass" link="#lcl.lclclasses.TLCLComponent.WSRegisterClass"/>

      <element name="TOpenDialog.ResolveLinks">
        <short>
          Gets physical file names for file references or symbolic links.
        </short>
        <descr>
          <p>
            <var>ResolveLinks</var> is a procedure used to get physical file names for file references or symbolic links used in the <var>Filename</var> and <var>Files</var> properties.
          </p>
          <p>
            Called from <var>DereferenceLinks</var> when the dialog is executed and <var>ofNoResolveLinks</var> is <b>NOT</b> included in the <var>Options</var> property.
          </p>
        </descr>
        <seealso>
          <link id="TOpenDialog.DoExecute"/>
          <link id="TOpenDialog.DereferenceLinks"/>
          <link id="TOpenDialog.Options"/>
          <link id="TFileDialog.Filename"/>
          <link id="TFileDialog.Files"/>
          <link id="TOpenOption"/>
        </seealso>
      </element>

      <element name="TOpenDialog.DereferenceLinks">
        <short>Resolves referential links.</short>
        <descr>
          <p>
            Deprecated since LCL version 1.9. Use or override ResolveLinks instead.
          </p>
        </descr>
        <seealso>
          <link id="TOpenDialog.ResolveLinks"/>
        </seealso>
      </element>

      <element name="TOpenDialog.CheckFile">
        <short>
          Determines if the specified file name meets the requirements for the dialog.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TOpenDialog.CheckFile.Result">
        <short/>
      </element>
      <element name="TOpenDialog.CheckFile.AFilename">
        <short/>
      </element>

      <element name="TOpenDialog.CheckFileMustExist">
        <short>
          <var>CheckFileMustExist</var> returns True if a file with the specified name exists.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TOpenDialog.CheckFileMustExist.Result">
        <short/>
      </element>
      <element name="TOpenDialog.CheckFileMustExist.AFileName">
        <short/>
      </element>

      <element name="TOpenDialog.CheckAllFiles">
        <short>
          Calls <var>CheckFile</var> for each selected file, returns True if all are OK.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TOpenDialog.CheckAllFiles.Result">
        <short/>
      </element>

      <element name="TOpenDialog.DoExecute" link="#lcl.dialogs.TCommonDialog.DoExecute">
        <descr/>
        <seealso/>
      </element>
      <element name="TOpenDialog.DoExecute.Result">
        <short/>
      </element>

      <element name="TOpenDialog.DefaultTitle">
        <short>Gets the default title used for the Open Dialog.</short>
        <descr>
          <p>
            <var>DefaultTitle</var> is overridden in <var>TOpenDialog</var> to return the default title for the dialog. Uses the value in <var>rsfdOpenFile</var> as the return value.
          </p>
          <p>
            Used in the inherited constructor to set the default value for the <var>Title</var> property.
          </p>
        </descr>
        <seealso>
          <link id="TFileDialog.Title"/>
          <link id="TCommonDialog.Create"/>
          <link id="#lcl.lclstrconsts.rsfdOpenFile">rsfdOpenFile</link>
        </seealso>
      </element>
      <element name="TOpenDialog.DefaultTitle.Result">
        <short>Default title for the dialog.</short>
      </element>

      <element name="TOpenDialog.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the constructor for <var>TOpenDialog</var>, and calls the inherited <var>Create</var> method then loads the default options for the dialog.
          </p>
        </descr>
        <seealso>
          <link id="#LCL.Dialogs.TFileDialog.Create">TFileDialog.Create</link>
        </seealso>
      </element>
      <element name="TOpenDialog.Create.TheOwner">
        <short>Owner of the class instance.</short>
      </element>

      <element name="TOpenDialog.DoCanClose">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TOpenDialog.DoCanClose.CanClose">
        <short/>
      </element>

      <element name="TOpenDialog.DoFolderChange">
        <short>
          <var>DoFolderChange</var> - execute the code for a folder change.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TOpenDialog.DoSelectionChange">
        <short>
          <var>DoSelectionChange</var> - execute the code for a change in selection.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TOpenDialog.IntfSetOption">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TOpenDialog.IntfSetOption.AOption">
        <short/>
      </element>
      <element name="TOpenDialog.IntfSetOption.AValue">
        <short/>
      </element>

      <element name="TOpenDialog.Options">
        <short>Options to be used for this dialog.</short>
        <descr>
          <p>
            Options to be used for the Open File dialog. A full list of available options is found in <link id="TOpenOptions"/>.
          </p>
        </descr>
        <seealso>
          <link id="TOpenOptions"/>
        </seealso>
      </element>

      <element name="TOpenDialog.OnFolderChange">
        <short>Event triggered when the user changes the folder in the OpenDialog.</short>
        <descr>
          <p>
            This event is called when the user changes the folder (directory) in the OpenDialog.
          </p>
          <p>
            Note: changing the folder will also trigger the OnSelectionChange event.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TOpenDialog.OnSelectionChange">
        <short>
          Event triggered when the user changes the selection made in the OpenDialog.
        </short>
        <descr>
          <p>
            This event is triggered when the user changes the selected file in the OpenDialog.
          </p>
          <p>
            Note: When the user changes the folder OnSelectionChange will be called first.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TSaveDialog">
        <short>
          <var>TSaveDialog</var> - Dialog for saving the current buffer to a file.
        </short>
        <descr>
          <p>
            Save Dialog:  invoked when the application requires to save a file.
          </p>
          <p>
            If the file is already open or a filename has been specified, then the current buffer is written to that file. If no file is specified, the Save File As dialog is invoked and the buffer is saved to that file.
          </p>
        </descr>
      </element>

      <element name="TSaveDialog.WSRegisterClass" link="#lcl.lclclasses.TLCLComponent.WSRegisterClass"/>

      <element name="TSaveDialog.DefaultTitle" link="#lcl.dialogs.TOpenDialog.DefaultTitle">
        <short/>
        <descr/>
        <seealso>
          <link id="TOpenDialog.DefaultTitle"/>
        </seealso>
      </element>
      <element name="TSaveDialog.DefaultTitle.Result">
        <short>Default title for the dialog.</short>
      </element>

      <element name="TSaveDialog.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the overridden constructor for the class instance, and calls the inherited constructor on entry. Create update the component style flags to the value used for the dialog type.
          </p>
        </descr>
        <seealso>
          <link id="TOpenDialog.Create"/>
        </seealso>
      </element>
      <element name="TSaveDialog.Create.AOwner">
        <short>Owner of the class instance.</short>
      </element>

      <element name="TSelectDirectoryDialog">
        <short>Select Directory Dialog.</short>
        <descr>
          <p>
            SelectDirectoryDialog allows the user to select a directory when the directory structure is displayed as a tree.
          </p>
        </descr>
        <seealso>
          <link id="#lcl.editbtn.TDirectoryEdit">TDirectoryEdit</link>
        </seealso>
      </element>

      <element name="TSelectDirectoryDialog.WSRegisterClass" link="#lcl.lclclasses.TLCLComponent.WSRegisterClass"/>

      <element name="TSelectDirectoryDialog.CheckFileMustExist" link="#lcl.dialogs.TOpenDialog.CheckFileMustExist">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TSelectDirectoryDialog.CheckFileMustExist.Result">
        <short/>
      </element>
      <element name="TSelectDirectoryDialog.CheckFileMustExist.AFilename">
        <short/>
      </element>

      <element name="TSelectDirectoryDialog.DefaultTitle" link="#lcl.dialogs.TCommonDialog.DefaultTitle"/>

      <element name="TSelectDirectoryDialog.Create" link="#lcl.dialogs.TOpenDialog.Create">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TSelectDirectoryDialog.Create.AOwner">
        <short/>
      </element>

      <element name="TColorDialog">
        <short>
          <var>TColorDialog</var> - dialog for selecting a color to use in graphics and text.
        </short>
        <descr>
          <p>
            <var>TColorDialog</var> presents a palette of colors to allow the user to select the required color for text or graphics.
          </p>
          <p>
            Call the <var>Execute</var> method to display the color dialog.
          </p>
        </descr>
        <seealso>
          <link id="TCommonDialog"/>
          <link id="TCommonDialog.Execute"/>
        </seealso>
      </element>

      <element name="TColorDialog.FColor">
        <short>Internal member used to store the value for he selected  color.</short>
      </element>

      <element name="TColorDialog.FCustomColors">
        <short>Internal member used to store user-specified colors.</short>
      </element>

      <element name="TColorDialog.SetCustomColors">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TColorDialog.SetCustomColors.AValue">
        <short/>
      </element>

      <element name="TColorDialog.AddDefaultColor">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TColorDialog.AddDefaultColor.s">
        <short/>
      </element>

      <element name="TColorDialog.WSRegisterClass" link="#lcl.lclclasses.TLCLComponent.WSRegisterClass"/>

      <element name="TColorDialog.DefaultTitle" link="#lcl.dialogs.TCommonDialog.DefaultTitle"/>

      <element name="TColorDialog.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the constructor for <var>TColorDialog</var>, and calls the inherited <var>Create</var> method. Create allocates resources and initializes  the Color and CustomColors properties.
          </p>
        </descr>
        <seealso>
          <link id="#LCL.Dialogs.TCommonDialog.Create">TCommonDialog.Create</link>
        </seealso>
      </element>
      <element name="TColorDialog.Create.TheOwner">
        <short>Owner of the class instance.</short>
      </element>

      <element name="TColorDialog.Destroy">
        <short>Destructor for the class instance.</short>
        <descr>
          <p>
            <var>Destroy</var> is the destructor for <var>TColorDialog</var>, and frees custom colors then calls the inherited <var>Destroy</var> method.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TColorDialog.Title">
        <short>The Title or Caption displayed in the title bar for the dialog.</short>
        <descr>
          <p>
            Title can be used to provide a usage context for the re-usable dialog. The default value for the property is provided by the DefaultTitle method, which is an empty string in TColorDialog. Set the value for the property before calling the Execute method.
          </p>
        </descr>
        <seealso>
          <link id="#lcl.dialogs.TCommonDialog.Title">TCommonDialog.Title</link>
        </seealso>
      </element>

      <element name="TColorDialog.Color">
        <short>Color selected by the user in the color dialog.</short>
        <descr>
          <p>
            <var>Color</var>  is a TColor property with the color selected using the dialog. A value can be pre-set and may be accepted, but a new value may also be chosen. When the Color dialog is displayed and the user pressed OK, the Color property contains the chosen color.
          </p>
          <p>
            Use CustomColors to define a palette with color names and their hexadecimal values available in the dialog.
          </p>
        </descr>
        <seealso>
          <link id="TColorDialog.CustomColors"/>
          <link id="TCommonDialog.Execute"/>
        </seealso>
      </element>

      <element name="TColorDialog.CustomColors">
        <short>Defines the color names and values available in the color dialog.</short>
        <descr>
          <p>
            <var>CustomColors</var> is a <var>TStrings</var> property which contains the color names and hexadecimal values available in the color dialog. It allows a custom color palette to be used in place of the default colors for the platform.
          </p>
          <p>
            Values added to CustomColors are in the "name=hexvalue" format. For example:
          </p>
<code>
ADialog.CustomColors.Add('ColorA=FFFF00');
// or
ADialog.CustomColors.Values['ColorA'] := 'FFFF00';
</code>
          <p>
            The hexadecimal color value is 6-digits representing the RGB components for the color.
          </p>
          <p>
            The default values in CustomColors are assigned in the Create constructor to the standard and extended colors for the platform. It does not include the equivalents for clDefault and clNone.
          </p>
          <p>
            Use Color to get the TColor value selected using the dialog when the Execute method was called.
          </p>
        </descr>
        <seealso>
          <link id="TColorDialog.Color"/>
          <link id="TCommonDialog.Execute"/>
        </seealso>
      </element>

      <element name="TColorButton">
        <short>
          <var>TColorButton</var> - a SpeedButton designed to be used with the Color dialog, allowing a color to be selected for text or graphics.
        </short>
        <descr>
          <p>
            <var>TColorButton</var> - a SpeedButton designed to be used with the Color dialog, allowing a color to be selected for text or graphics.
          </p>
          <p>
            To use the ColorButton, first select the ColorButton icon from the Component Palette and place it on the Form Designer in the location you want it to occupy, then place a TColorDialog on the Form Designer, give it a name (or accept the default name) and select this named dialog as the ColorDialog property in the Object Inspector for the ColorButton.
          </p>
          <p>
            The default appearance of the ColorButton is a rectangle containing a color; if you wish to include a caption beside the block of color, you may need to adjust the size of the control to accommodate the text, and you can then enter some text in the Caption property of the ColorButton; this text will appear next to the color block.
          </p>
          <p>
            At run-time the ColorButton is visible with a default or preselected ButtonColor in the block, and any optional caption beside it; the ColorDialog is not visible until the ColorButton is clicked, when the ColorDialog pops up and offers a choice of colors, either from a list or a palette, and if the user makes a selection and closes the dialog by pressing OK, the ColorButton will display the color that was chosen in the ColorDialog.
          </p>
          <p>
            Note that in the context of ColorButton, properties with the name ButtonColor refer to the color that has been selected and is displayed in the color block; properties entitled Color without 'Button' attached refer to the color of the control itself, usually the same as the background or the default button face color.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TColorButton.FBorderWidth"/>
      <element name="TColorButton.FButtonColorAutoSize"/>
      <element name="TColorButton.FButtonColorSize"/>
      <element name="TColorButton.FButtonColor"/>
      <element name="TColorButton.FColorDialog"/>
      <element name="TColorButton.FOnColorChanged"/>
      <element name="TColorButton.FDisabledPattern"/>

      <element name="TColorButton.IsButtonColorAutoSizeStored">
        <short>Implements the storage specifier for the ButtonColorAutoSize property.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TColorButton.IsButtonColorAutoSizeStored.Result">
        <short>True when ButtonColorAutoSize is set to False.</short>
      </element>

      <element name="TColorButton.SetBorderWidth">
        <short>Sets the value for the BorderWidth property.</short>
        <descr/>
        <seealso>
          <link id="TColorButton.BorderWidth"/>
        </seealso>
      </element>
      <element name="TColorButton.SetBorderWidth.AValue">
        <short>New value for the BorderWidth property.</short>
      </element>

      <element name="TColorButton.SetButtonColor">
        <short>Sets the value for the ButtonColor property.</short>
        <descr/>
        <seealso>
          <link id="TColorButton.ButtonColor"/>
        </seealso>
      </element>
      <element name="TColorButton.SetButtonColor.AValue">
        <short>New value for the ButtonColor property.</short>
      </element>

      <element name="TColorButton.SetButtonColorAutoSize">
        <short>Sets the value for the ButtonColorAutoSize property.</short>
        <descr/>
        <seealso>
          <link id="TColorButton.ButtonColorAutoSize"/>
        </seealso>
      </element>
      <element name="TColorButton.SetButtonColorAutoSize.AValue">
        <short>New value for the ButtonColorAutoSize property.</short>
      </element>

      <element name="TColorButton.SetButtonColorSize">
        <short>Sets the value for the ButtonColorSize property.</short>
        <descr/>
        <seealso>
          <link id="TColorButton.ButtonColorSize"/>
        </seealso>
      </element>
      <element name="TColorButton.SetButtonColorSize.AValue">
        <short>New value for the ButtonColorSize property.</short>
      </element>

      <element name="TColorButton.WSRegisterClass" link="#lcl.lclclasses.TLCLComponent.WSRegisterClass"/>

      <element name="TColorButton.DrawGlyph">
        <short>
          Re-implements drawing the glyph for the control to use the selected color.
        </short>
        <descr>
          <p>
            <var>DrawGlyph</var> is an overridden method in <var>TColorButton</var>. It re-implements the ancestor method to draw the button face and color block (or swatch) for the control using the arguments passed to the method.
          </p>
          <p>
            The value in AState determines the appearance for the glyph (color swatch). When set to bsDisabled, a bitmap with a disabled pattern (dotted lines) is drawn using the Color for the button face. Otherwise, the value in ButtonColor is used to draw the glyph. GetGlyphSize is called to get the dimensions for the glyph based on the settings in ButtonColorAutoSize and ButtonColorSize.
          </p>
          <p>
            The return value is a TRect instance with the bounds affected in the drawing operation.
          </p>
          <p>
            DrawGlyph calls the Rectangle method for the TCanvas instance in the Canvas argument using the return value for the method as an argument.
          </p>
          <p>
            DrawGlyph does <b>not</b> call the inherited method which draws the glyph image for the speed button.
          </p>
          <p>
            DrawGlyph is called from the MeasureDraw method in the ancestor class.
          </p>
        </descr>
        <seealso>
          <link id="TColorButton.Color"/>
          <link id="TColorButton.ButtonColor"/>
          <link id="TColorButton.ButtonColorAutoSize"/>
          <link id="TColorButton.ButtonColorSize"/>
          <link id="TColorButton.GetGlyphSize"/>
          <link id="#lcl.buttons.TCustomSpeedButton.DrawGlyph">TCustomSpeedButton.DrawGlyph</link>
          <link id="#lcl.buttons.TCustomSpeedButton.DrawGlyph">TCustomSpeedButton.MeasureDraw</link>
          <link id="#lcl.buttons.TButtonState">TButtonState</link>
        </seealso>
      </element>
      <element name="TColorButton.DrawGlyph.Result">
        <short>Rectangle where the color block is drawn for the control.</short>
      </element>
      <element name="TColorButton.DrawGlyph.ACanvas">
        <short>Drawing surface where the control is drawn.</short>
      </element>
      <element name="TColorButton.DrawGlyph.AClient">
        <short>Client rectangle where the button face / color block is rendered.</short>
      </element>
      <element name="TColorButton.DrawGlyph.AOffset">
        <short>
          TPoint with horizontal and vertical offsets in AClient where the glyph is drawn.
        </short>
      </element>
      <element name="TColorButton.DrawGlyph.AState">
        <short>Button state for the glyph; bsDisabled draws the disabled pattern for the button control.</short>
      </element>
      <element name="TColorButton.DrawGlyph.ATransparent">
        <short>Not used in the method.</short>
      </element>
      <element name="TColorButton.DrawGlyph.BiDiFlags">
        <short>Not used in the method.</short>
      </element>

      <element name="TColorButton.GetDisabledPattern">
        <short>Gets a bitmap with the disabled pattern for the control.</short>
        <descr>
          <p>
            GetDisabledPattern is a TBitmap function used to get the bitmap with the disabled pattern drawn on the control. It is used when the Enabled property (in the control or one of its parents) is set to False.
          </p>
          <p>
            GetDisabledPattern ensures that a TBitmap instance has been created and assigned to an internal member for the class instance. The bitmap contains a pattern with dotted lines that indicate the control cannot accept input values. The allocated bitmap is freed (when assigned) in the destructor for the class instance.
          </p>
          <p>
            GetDisabledPattern is called from the DrawGlyph method when its button state argument is set to bsDisabled.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="TColorButton.GetDisabledPattern.Result">
        <short>TBitmap instance with the disabled pattern drawn for the control.</short>
      </element>

      <element name="TColorButton.GetGlyphSize">
        <short>
          Gets the size for the glyph (color block / swatch) on the button control.
        </short>
        <descr>
          <p>
            <var>GetGlyphSize</var> is an overridden  <var>TSize</var> function used to get the dimensions for the glyph (color block / swatch) displayed on the button control. Values in ButtonColorAutoSize and ButtonColorSize determine the height and width used for the color block displayed on the control.
          </p>
          <p>
            When ButtonColorAutoSize is set to True, the color block is auto-sized to fill the unused client area for the control specified in the PaintRect argument. Space is reserved for the Caption (color name), Spacing, BorderWidth, and Margin properties assigned to the control.
          </p>
          <p>
            When ButtonColorAutoSize is False, ButtonColorSize is used as both the width and height for the color block.
          </p>
          <p>
            The return value is a TSize instance where the width and height for the color block are stored in the CX and CY members (respectively). Layout determines whether spacing is reserved in the horizontal (blGlyphLeft, blGlyphRight) or vertical (blGlyphTop, blGlyphBottom) dimensions.
          </p>
        </descr>
        <seealso>
          <link id="TColorButton.ButtonColorAutoSize"/>
          <link id="TColorButton.ButtonColorSize"/>
          <link id="TColorButton.BorderWidth"/>
          <link id="TCustomSpeedButton.GetTextSize"/>
          <link id="TCustomSpeedButton.Spacing"/>
          <link id="TCustomSpeedButton.Layout"/>
          <link id="TCustomSpeedButton.Margin"/>
          <link id="#lcl.controls.TControl.Caption"/>
        </seealso>
      </element>
      <element name="TColorButton.GetGlyphSize.Result">
        <short>TSize instance with the dimensions for the glyph (color block).</short>
      </element>
      <element name="TColorButton.GetGlyphSize.Drawing">
        <short>True if a drawing operation is active; never set to False in LCL code.</short>
      </element>
      <element name="TColorButton.GetGlyphSize.PaintRect">
        <short>TRect instance with the display area for the button control.</short>
      </element>

      <element name="TColorButton.GetControlClassDefaultSize" link="#lcl.controls.TControl.GetControlClassDefaultSize"/>
      <element name="TColorButton.GetControlClassDefaultSize.Result" link="#lcl.controls.TControl.GetControlClassDefaultSize.Result"/>

      <element name="TColorButton.Notification">
        <short>
          Performs actions when the specified component is added to or removed from the control.
        </short>
        <descr>
          <p>
            <var>Notification</var> is an overridden method in <var>TColorButton</var>, and calls the inherited method on entry. It ensures that the <var>ColorDialog</var> property is set to <b>Nil</b> when <var>AComponent</var> and <var>Operation</var> indicate the dialog class instance has been removed from the control.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="TColorButton.Notification.AComponent">
        <short>Component for the notification.</short>
      </element>
      <element name="TColorButton.Notification.Operation">
        <short>Operation performed for the specified component.</short>
      </element>

      <element name="TColorButton.ShowColorDialog">
        <short>Displays a Color dialog and captures its result.</short>
        <descr>
          <p>
            <var>ShowColorDialog</var> is a method used to display a <var>TColorDialog</var> and capture its result.
          </p>
          <p>
            ShowColorDialog uses an existing dialog instance in <var>ColorDialog</var> when assigned. Otherwise, a new <var>TColorDialog</var> instance is created and temporarily stored in the property. The value in <var>ButtonColor</var> is used as the default color value in the dialog. The <var>Execute</var> method in the dialog is called to get the selected TColor value, and it is stored in the <var>ButtonColor</var> property.
          </p>
        </descr>
        <seealso>
          <link id="TColorButton.ButtonColor"/>
          <link id="TColorButton.ColorDialog"/>
          <link id="TCommonDialog.Execute"/>
        </seealso>
      </element>

      <element name="TColorButton.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the constructor for <var>TColorButton</var>, and calls the inherited <var>Create</var> method. Create sets the initial bounds for the controls to their default values, and sets the values for properties including:
          </p>
          <ul>
            <li>ButtonColorSize (16)</li>
            <li>BorderWidth (2)</li>
            <li>ButtonColorAutoSize (True)</li>
          </ul>
        </descr>
        <seealso>
          <link id="#lcl.buttons.TCustomSpeedButton.Create">TCustomSpeedButton.Create</link>
        </seealso>
      </element>
      <element name="TColorButton.Create.AnOwner">
        <short>Owner of the class instance.</short>
      </element>

      <element name="TColorButton.Destroy">
        <short>Destructor for the class instance.</short>
        <descr>
          <p>
            Destroy is the overridden destructor for the class instance. It ensures that the internal bitmap with the pattern displayed for the disabled control is freed (when assigned). Destroy calls the inherited destructor prior to exiting from the method.
          </p>
        </descr>
        <seealso>
          <link id="#lcl.buttons.TCustomSpeedButton.Destroy">TCustomSpeedButton.Destroy</link>
        </seealso>
      </element>

      <element name="TColorButton.Click">
        <short>Performs actions needed when the control is clicked.</short>
        <descr>
          <p>
            Click is an overridden method in TColorButton used to perform actions needed when the control is clicked or the Space key is pressed when the control has focus. It calls the inherited method on entry to execute the Action for the control, or signal its OnClick event handler (when assigned). It calls the ShowColorDialog method to configure, display, and execute the ColorDialog for the control. ButtonColor is updated to contain the new color selected when the dialog was executed.
          </p>
        </descr>
        <seealso>
          <link id="#lcl.buttons.TCustomSpeedButton.Click">TCustomSpeedButton.Click</link>
          <link id="#lcl.controls.TControl.Click">TControl.Click</link>
        </seealso>
      </element>

      <element name="TColorButton.Action" link="#lcl.controls.TControl.Action"/>
      <element name="TColorButton.Align" link="#lcl.controls.TControl.Align"/>
      <element name="TColorButton.Anchors" link="#lcl.controls.TControl.Anchors"/>
      <element name="TColorButton.AllowAllUp" link="#lcl.buttons.TCustomSpeedButton.AllowAllUp"/>
      <element name="TColorButton.BorderSpacing" link="#lcl.controls.TControl.BorderSpacing"/>

      <element name="TColorButton.BorderWidth">
        <short>Width for the borders on the button control.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TColorButton.ButtonColorAutoSize">
        <short>
          True if the color block for the button can be automatically resized to fill the unused client area.
        </short>
        <descr>
          <p>
            <var>ButtonColorAutoSize</var> is a <var>Boolean</var> property which indicates if the color block for the button can be automatically resized to fill the unused client area in the button control.
          </p>
          <p>
            When set to <b>True</b>, the client area is examined to determine the dimensions for the color block. Space is reserved using the Caption, BorderWidth, Spacing, and Margin properties defined for the control. The unused area in the client rectangle is drawn using a frame filled with the selected ButtonColor for the control.
          </p>
          <p>
            When set to False, the value in ButtonColorSize is used as both the height and width for the color block or swatch.
          </p>
          <p>
            The default value for the property is True as assigned in the constructor for the class instance. Setting a new value for the property causes the control to be redrawn. When ButtonColorAutoSize is True, setting a new value for BorderWidth also causes the control to be redrawn.
          </p>
          <p>
            ButtonColorAutoSize and ButtonColorSize are used in the GetGlyphSize method.
          </p>
        </descr>
        <seealso>
          <link id="TColorButton.Create"/>
          <link id="TColorButton.GetGlyphSize"/>
          <link id="TColorButton.ButtonColorSize"/>
          <link id="TColorButton.BorderWidth"/>
          <link id="TCustomSpeedButton.GetTextSize"/>
          <link id="TCustomSpeedButton.Spacing"/>
          <link id="TCustomSpeedButton.Layout"/>
          <link id="TCustomSpeedButton.Margin"/>
          <link id="#lcl.controls.TControl.Caption"/>
        </seealso>
      </element>

      <element name="TColorButton.ButtonColorSize">
        <short>
          Size of the color block (or swatch) on the button control.
        </short>
        <descr>
          <p>
            <var>ButtonColorSize</var> is an <var>Integer</var> property with the size for the color block (or swatch) displayed on the control. The default value for the property is 16 (pixels) as assigned in the constructor for the class instance. Its value is used in the <var>GetGlyphSize</var> method when <var>ButtonColorAutoSize</var> is set to <b>False</b>, and represents both the width and height returned for the button glyph.
          </p>
          <p>
            Changing the value for the property causes the control to be redrawn.
          </p>
        </descr>
        <seealso>
          <link id="TColorButton.ButtonColorAutoSize"/>
          <link id="TColorButton.GetGlyphSize"/>
          <link id="TColorButton.Create"/>
        </seealso>
      </element>

      <element name="TColorButton.ButtonColor">
        <short>
          The TColor value selected in the button control.
        </short>
        <descr>
          <p>
            ButtonColor is a TColor property which contains the selected color for the button control.
          </p>
          <p>
            The value in ButtonColor is used as the initial selected color value when the ColorDialog is displayed in the ShowColorDialog method. It is updated with the newly selected color value when the ColorDialog is executed.
          </p>
          <p>
            Setting a new value for the property causes the OnColorChanged event handler to be signalled (when assigned) and the control is redrawn.
          </p>
          <p>
            Use Color to set the color used for the button face on the control.
          </p>
        </descr>
        <seealso>
          <link id="TColorButton.ColorDialog"/>
          <link id="TColorButton.ShowColorDialog"/>
          <link id="TColorButton.OnColorChanged"/>
          <link id="TColorButton.Click"/>
          <link id="#lcl.graphics.TColor">TColor</link>
        </seealso>
      </element>

      <element name="TColorButton.ColorDialog">
        <short>
          The color selection dialog displayed when the control is clicked, or the ShowColorDialog method is called.
        </short>
        <descr>
          <p>
            ColorDialog is a TColorDialog property which contains the color selection dialog displayed for the button control. ColorDialog is used in the ShowColorDialog method. A TColorDialog instance is created if one has not already been assigned to the property. It is freed (when created) when the color selection dialog is closed. A TColorDialog instance not created by the button control is not freed prior to exiting from the method or destroying the control.
          </p>
          <p>
            The value in ButtonColor is assigned as the initial color selection for the dialog, and the Execute method in the dialog is called to capture the newly selected color value (when available). The new color selection is stored in the ButtonColor property.
          </p>
        </descr>
        <seealso>
          <link id="TColorButton.ShowColorDialog"/>
          <link id="TColorButton.Click"/>
          <link id="TColorButton.ButtonColor"/>
          <link id="TColorDialog"/>
        </seealso>
      </element>

      <element name="TColorButton.Constraints" link="#lcl.controls.TControl.Constraints"/>

      <element name="TColorButton.Caption">
        <short>Text displayed next to the color block on the button control.</short>
        <descr>
          <p>
            Caption is a String property with the text displayed beside the color block (or swatch) on the button control. When it has been assigned a non-empty value, space is reserved on the client area for the text plus the number of pixels in Spacing. When empty, no space is reserved for the text or the space between the text and the color block.
          </p>
          <p>
            In general, Caption can be used to provide a human-readable value for the selected color in ButtonColor. The value in Caption is not, however, automatically linked to the selected color value. Use the OnColorChanged event handler to update the value in Caption as needed when the color selection has been changed.
          </p>
          <p>
            The Layout property determines the order of the Caption and color block values on the button surface. Layout refers to the alignment for the glyph (color block).
          </p>
          <p>
            Set ButtonColorAutoSize to True to allow the color block to fill the unused client area for the control. Use ButtonColorSize to set the dimensions for the color block when ButtonColorAutoSize is False.
          </p>
        </descr>
        <seealso>
          <link id="TColorButton.ButtonColorAutoSize"/>
          <link id="TColorButton.ButtonColorSize"/>
          <link id="TColorButton.OnColorChanged"/>
          <link id="TCustomSpeedButton.Spacing"/>
          <link id="TCustomSpeedButton.Layout"/>
        </seealso>
      </element>

      <element name="TColorButton.Color">
        <short>
          The <var>Color</var> of the control itself, i.e. the parts that are not the color display block; edges, background etc.
        </short>
        <descr/>
        <seealso>
          <link id="#lcl.buttons.TCustomSpeedButton.Color">TCustomSpeedButton.Color</link>
        </seealso>
      </element>

      <element name="TColorButton.Down" link="#lcl.buttons.TCustomSpeedButton.Down"/>
      <element name="TColorButton.Enabled" link="#lcl.controls.TControl.Enabled"/>
      <element name="TColorButton.Flat" link="#lcl.buttons.TCustomSpeedButton.Flat"/>
      <element name="TColorButton.Font" link="#lcl.controls.TControl.Font"/>
      <element name="TColorButton.Hint" link="#lcl.controls.TControl.Hint"/>
      <element name="TColorButton.Layout" link="#lcl.buttons.TCustomSpeedButton.Layout"/>
      <element name="TColorButton.Margin" link="#lcl.buttons.TCustomSpeedButton.Margin"/>
      <element name="TColorButton.Spacing" link="#lcl.buttons.TCustomSpeedButton.Spacing"/>
      <element name="TColorButton.Transparent" link="#lcl.buttons.TCustomSpeedButton.Transparent"/>
      <element name="TColorButton.Visible" link="#lcl.controls.TControl.Visible"/>
      <element name="TColorButton.OnClick" link="#lcl.controls.TControl.OnClick"/>

      <element name="TColorButton.OnColorChanged">
        <short>
          Event handler signalled when the button color has been changed.
        </short>
        <descr>
          <p>
            <var>OnColorChanged</var> is a <var>TNotifyEvent</var> property with the event handler signalled when the selected color in ButtonColor has been changed. An application must implement and assign an object procedure to the property to respond to the event notification.
          </p>
          <p>
            OnColorChanged is signalled (when assigned) when a new TColor value is assigned to the ButtonColor property. A common use for the event handler is to update the value in Caption when the value in ButtonColor has been updated. OnColorchanged is not signalled during LCL component streaming (csLoading in ComponentState).
          </p>
        </descr>
        <seealso>
          <link id="TColorButton.ButtonColor"/>
          <link id="TColorButton.Caption"/>
          <link id="#rtl.classes.TNotifyEvent">TNotifyEvent</link>
        </seealso>
      </element>

      <element name="TColorButton.OnDblClick" link="#lcl.controls.TControl.OnDblClick"/>
      <element name="TColorButton.OnMouseDown" link="#lcl.controls.TControl.OnMouseDown"/>
      <element name="TColorButton.OnMouseEnter" link="#lcl.controls.TControl.OnMouseEnter"/>
      <element name="TColorButton.OnMouseLeave" link="#lcl.controls.TControl.OnMouseLeave"/>
      <element name="TColorButton.OnMouseMove" link="#lcl.controls.TControl.OnMouseMove"/>
      <element name="TColorButton.OnMouseUp" link="#lcl.controls.TControl.OnMouseUp"/>
      <element name="TColorButton.OnMouseUp" link="#lcl.controls.TControl.OnMouseUp"/>
      <element name="TColorButton.OnMouseWheel" link="#lcl.controls.TControl.OnMouseWheel"/>
      <element name="TColorButton.OnMouseWheelDown" link="#lcl.controls.TControl.OnMouseWheelDown"/>
      <element name="TColorButton.OnMouseWheelUp" link="#lcl.controls.TControl.OnMouseWheelUp"/>
      <element name="TColorButton.OnPaint" link="#lcl.controls.TGraphicControl.OnPaint"/>
      <element name="TColorButton.OnResize" link="#lcl.controls.TControl.OnResize"/>
      <element name="TColorButton.OnChangeBounds" link="#lcl.controls.TControl.OnChangeBounds"/>
      <element name="TColorButton.ShowHint" link="#lcl.controls.TControl.ShowHint"/>
      <element name="TColorButton.ParentFont" link="#lcl.controls.TControl.ParentFont"/>
      <element name="TColorButton.ParentShowHint" link="#lcl.controls.TControl.ParentShowHint"/>
      <element name="TColorButton.PopupMenu" link="#lcl.controls.TControl.PopupMenu"/>

      <element name="TFontDialogOption">
        <short>An enumerated list of constants to set the options of a Font dialog.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TFontDialogOption.fdAnsiOnly">
        <short>Limits the font name selection list to font using ANSI character sets.</short>
      </element>
      <element name="TFontDialogOption.fdTrueTypeOnly">
        <short>Limits the font name selection list to TrueType fonts.</short>
      </element>
      <element name="TFontDialogOption.fdEffects">
        <short>
          Displays check boxes for strikethrough, underline, et. al. font effects in the dialog.
        </short>
      </element>
      <element name="TFontDialogOption.fdFixedPitchOnly">
        <short>Limits the font name selection list to fixed-pitch (mono-spaced) fonts.</short>
      </element>
      <element name="TFontDialogOption.fdForceFontExist">
        <short/>
      </element>
      <element name="TFontDialogOption.fdNoFaceSel">
        <short>Hides the font name selection list in the dialog.</short>
      </element>
      <element name="TFontDialogOption.fdNoOEMFonts">
        <short>Excludes OEM fonts from the font selection list.</short>
      </element>
      <element name="TFontDialogOption.fdNoSimulations">
        <short>Excludes bitmapped fonts that emulate sizes by scaling.</short>
      </element>
      <element name="TFontDialogOption.fdNoSizeSel">
        <short>Hides the Size selection list in the dialog.</short>
      </element>
      <element name="TFontDialogOption.fdNoStyleSel">
        <short>Hides the style selection list in the dialog.</short>
      </element>
      <element name="TFontDialogOption.fdNoVectorFonts">
        <short>Excludes vector fonts from the list of font names.</short>
      </element>
      <element name="TFontDialogOption.fdShowHelp">
        <short>Makes the Help button visible in the dialog.</short>
      </element>
      <element name="TFontDialogOption.fdWysiwyg">
        <short>Displays font names using a WYSIWYG preview.</short>
      </element>
      <element name="TFontDialogOption.fdLimitSize">
        <short>Restricts font sizes to the range in MinFontSize and MaxFontSize.</short>
      </element>
      <element name="TFontDialogOption.fdScalableOnly">
        <short>Limits the font selection list to scalable fonts; no bitmapped fonts.</short>
      </element>
      <element name="TFontDialogOption.fdApplyButton">
        <short>Makes the Apply button visible in the dialog.</short>
      </element>

      <element name="TFontDialogOptions">
        <short>Set type used to store font dialog options.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFontDialog">
        <short>Dialog used to select a font typeface and size.</short>
        <descr>
          <p>
            <var>TFontDialog</var> is a <var>TCommonDialog</var> descendant which implements a font selection dialog.
          </p>
          <p>
            TFontDialog displays selection lists for font name, size, style, and color. It can be configured to limit the available typefaces, sizes, and visual presentations using the Options, MinFontSize and MaxFontSize properties.
          </p>
          <p>
            When the dialog is executed, the selected font is made available in the Font property. The OnApplyClicked event handler can be used to perform actions needed when the optional Apply button is clicked in the dialog.
          </p>
        </descr>
        <seealso>
          <link id="TCommonDialog"/>
          <link id="TFontDialogOption"/>
        </seealso>
      </element>

      <element name="TFontDialog.FFont"/>
      <element name="TFontDialog.FMaxFontSize"/>
      <element name="TFontDialog.FMinFontSize"/>
      <element name="TFontDialog.FOnApplyClicked"/>
      <element name="TFontDialog.FOptions"/>
      <element name="TFontDialog.FPreviewText"/>

      <element name="TFontDialog.SetFont">
        <short>Sets the value for the Font property.</short>
        <descr/>
        <seealso>
          <link id="TFontDialog.Font"/>
        </seealso>
      </element>
      <element name="TFontDialog.SetFont.AValue">
        <short>New value for the property.</short>
      </element>

      <element name="TFontDialog.WSRegisterClass" link="#lcl.lclclasses.TLCLComponent.WSRegisterClass"/>
      <element name="TFontDialog.DefaultTitle" link="#lcl.dialogs.TCommonDialog.DefaultTitle"/>

      <element name="TFontDialog.ApplyClicked">
        <short>Performs actions needed when a font is selected using the dialog.</short>
        <descr>
          <p>
            <var>ApplyClicked</var> is a used to perform actions needed when a font is applied using the Apply button in the dialog. The Apply button is made visible by a setting in Options, and must be enabled; the default buttons are Ok and Cancel.
          </p>
          <p>
            ApplyClicked signals the OnApplyClicked event handler (when assigned).
          </p>
          <remark>
            Widgetset classes in the current LCL implementaion do not call ApplyClicked; they signal the OnApplyClicked event handler directly.
          </remark>
        </descr>
        <seealso>
          <link id="TFontDialog.OnApplyClicked"/>
          <link id="TFontDialog.Options"/>
        </seealso>
      </element>

      <element name="TFontDialog.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the overridden constructor for the class instance, and calls the inherited constructor on entry. Create allocates resources needed for the <var>Font</var> property, and sets the default values in the <var>Options</var> property.
          </p>
        </descr>
        <seealso>
          <link id="TFontDialog.Font"/>
          <link id="TFontDialog.Options"/>
        </seealso>
      </element>
      <element name="TFontDialog.Create.AOwner">
        <short>Owner of the class instance.</short>
      </element>

      <element name="TFontDialog.Destroy">
        <short>Destructor for the class instance.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFontDialog.Title" link="#lcl.dialogs.TCommonDialog.Title"/>

      <element name="TFontDialog.Font">
        <short>Contains the Font selected in the dialog.</short>
        <descr>
          <p>
            <var>Font</var> is a <var>TFont</var> property with the font selected using the dialog. The value in Font is updated in widgetset classes when the <b>OK</b> or <b>Apply</b> button is clicked during execution of the dialog.
          </p>
          <p>
            Use the <var>OnApplyClicked</var> event handler to perform actions needed when the <b>Apply</b> button is enabled and clicked in the dialog.
          </p>
        </descr>
        <seealso>
          <link id="TFontDialog.Options"/>
          <link id="TFontDialog.OnApplyClicked"/>
          <link id="TFontDialog.ApplyClicked"/>
          <link id="#lcl.graphics.TFont">TFont</link>
        </seealso>
      </element>

      <element name="TFontDialog.MinFontSize">
        <short>Minimum font size allowed in the font selection dialog.</short>
        <descr>
          <p>
            <var>MinFontSize</var> is an Integer property which contains the minimum font size allowed in the font selection dialog. Limiting font size selection to the range in <var>MinFontSize</var> and <var>MaxFontSize</var> must be enabled by including <var>fdLimitSize</var> in the <var>Options</var> property.
          </p>
        </descr>
        <seealso>
          <link id="TFontDialog.MaxFontSize"/>
          <link id="TFontDialog.Options"/>
          <link id="TFontDialogOption"/>
        </seealso>
      </element>

      <element name="TFontDialog.MaxFontSize">
        <short>Maximum font size allowed in the font selection dialog.</short>
        <descr>
          <p>
            <var>MaxFontSize</var> is an Integer property which contains the maximum font size allowed in the font selection dialog. Limiting font size selection to the range in <var>MinFontSize</var> and <var>MaxFontSize</var> must be enabled by including <var>fdLimitSize</var> in the <var>Options</var> property.
          </p>
        </descr>
        <seealso>
          <link id="TFontDialog.MinFontSize"/>
          <link id="TFontDialog.Options"/>
          <link id="TFontDialogOption"/>
        </seealso>
      </element>

      <element name="TFontDialog.Options">
        <short>A set of TFontDialogOption options enabled for the dialog.</short>
        <descr>
          <p>
            <var>Options</var> is a <var>TFontDialogOptions</var> property which controls the options enabled for the font selection dialog. Options contains zero or more values from the <var>TFontDialogOption</var> enumeration. The default value for the property is <var>[fdEffects]</var>, and enables the font effects check boxes in the dialog.
          </p>
          <p>
            See <link id="TFontDialogOption">TFontDialogOption</link> for more information about the values in the enumeration and their usage.
          </p>
          <p>
            Include or Exclude values for the property prior to calling the <var>Execute</var> method.
          </p>
        </descr>
        <seealso>
          <link id="TFontDialogOptions"/>
          <link id="TFontDialogOption"/>
          <link id="TCommonDialog.Execute"/>
        </seealso>
      </element>

      <element name="TFontDialog.OnApplyClicked">
        <short>
          Event handler signalled when the Apply button is clicked in the font dialogs.
        </short>
        <descr>
          <p>
            <var>OnApplyClicked</var> is a <var>TNotifyEvent</var> property with the event handler signalled when the Apply button is clicked in the font dialog. The Apply button must be enabled in the Options property to receive the event notification.
          </p>
          <p>
            OnApplyClicked allows the application to perform actions needed when a Font has been applied. This can include assigning the value in Font to another control. SImilar actions need to be performed when the Execute method returns True, indicating that the OK button was clicked.
          </p>
          <p>
            OnApplyClicked is signalled from the ApplyClicked method, and triggered directly from methods in widgetset classes.
          </p>
        </descr>
        <seealso>
          <link id="TFontDialog.ApplyClicked"/>
          <link id="TFontDialog.Options"/>
          <link id="TFontDialog.Font"/>
          <link id="TCommonDialog.Execute"/>
          <link id="TFontDialogOption"/>
          <link id="TFontDialogOptions"/>
        </seealso>
      </element>

      <element name="TFontDialog.PreviewText">
        <short>
          A text snippet displayed as a preview for the selected font in the dialog.
        </short>
        <descr>
          <p>
            <var>PreviewText</var> is a <var>String</var> property with a short snippet of text to display using the currently selected font in the dialog. It acts as a WYSIWYG preview mechanism.
          </p>
          <p>
            Please note that use of PreviewText is dependent on platform / widgetset support. For instance, Windows does render PreviewText. It uses its own "Sample", and renders the font name in the selection list using the typeface. QT and QT5 have  the same behavior as Windows. It is implemented for the GTK, GTK2 and MUI widgetsets.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TFindOption">
        <short>A list of possible options which can be used in Find-dialogs.</short>
        <descr>A list of possible options which can be used in Find-dialogs.</descr>
        <seealso/>
      </element>
      <element name="TFindOption.frDown">
        <short>If set the "Down" radiobutton is selected.</short>
      </element>
      <element name="TFindOption.frFindNext">
        <short>This option will be set when the user presses "Find Next"</short>
      </element>
      <element name="TFindOption.frHideMatchCase">
        <short>If set the "Match case" checkbox is hidden from the Find dialog.</short>
      </element>
      <element name="TFindOption.frHideWholeWord">
        <short>If set the "Whole word" checkbox is hidden from the Find dialog.</short>
      </element>
      <element name="TFindOption.frHideUpDown">
        <short>If set the "Up" and "Down" radiobuttons are hidden from the Find dialog.</short>
      </element>
      <element name="TFindOption.frMatchCase">
        <short>This flag is set when the user checks the "Match case" checkbox.</short>
      </element>
      <element name="TFindOption.frDisableMatchCase">
        <short>If set the "Match case" checkbox is disabled in the Find dialog.</short>
      </element>
      <element name="TFindOption.frDisableUpDown">
        <short>If set the "Up" and "Down" radiobuttons are disabled in the Find dialog.</short>
      </element>
      <element name="TFindOption.frDisableWholeWord">
        <short>If set the "Whole word" checkbox is disabled in the Find dialog.</short>
      </element>
      <element name="TFindOption.frReplace">
        <short>This flag is set if only the first occurrence of the search string is to be replaced with the replace string.</short>
      </element>
      <element name="TFindOption.frReplaceAll">
        <short>This flag is set if all occurrences of the search string are to be replaced with the replace string.</short>
      </element>
      <element name="TFindOption.frWholeWord">
        <short>This flag is set when the user checks the "Whole word" checkbox.</short>
      </element>
      <element name="TFindOption.frShowHelp">
        <short>If set the dialog will display a help button.</short>
      </element>
      <element name="TFindOption.frPromptOnReplace">
        <short>This flag is set when the user checks the "Prompt on replace" checkbox.</short>
      </element>
      <element name="TFindOption.frHidePromptOnReplace">
        <short>If set the "Prompt on replace" checkbox is hidden from the Find dialog.</short>
      </element>

      <element name="TFindOptions">
        <short>A set of TFindOption.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog">
        <short>
          <var>TFindDialog</var> - a dialog used for finding text within the current editor or text buffer.
        </short>
        <descr>
          <p>
            Opens a dialog box allowing the user to enter text for searching, for example in a text editor.
          </p>
          <p>
            As TFindDialog is the parent class for the TReplaceDialog, it contains definitions for the Replace method, but the Replace option does not actually appear when the dialog is displayed: you need to use TReplaceDialog to do that.
          </p>
        </descr>
        <seealso>
          <link id="TReplaceDialog"/>
        </seealso>
      </element>

      <element name="TFindDialog.FFormLeft"/>
      <element name="TFindDialog.FFormTop"/>

      <element name="TFindDialog.GetReplaceText">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.GetReplaceText.Result">
        <short/>
      </element>

      <element name="TFindDialog.GetFindText">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.GetFindText.Result">
        <short/>
      </element>

      <element name="TFindDialog.GetLeft">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.GetLeft.Result">
        <short/>
      </element>

      <element name="TFindDialog.GetPosition">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.GetPosition.Result">
        <short/>
      </element>

      <element name="TFindDialog.GetTop">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.GetTop.Result">
        <short/>
      </element>

      <element name="TFindDialog.SetFindText">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.SetFindText.AValue">
        <short/>
      </element>

      <element name="TFindDialog.SetLeft">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.SetLeft.AValue">
        <short/>
      </element>

      <element name="TFindDialog.SetPosition">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.SetPosition.AValue">
        <short/>
      </element>

      <element name="TFindDialog.SetTop">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.SetTop.AValue">
        <short/>
      </element>

      <element name="TFindDialog.SetReplaceText">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.SetReplaceText.AValue">
        <short/>
      </element>

      <element name="TFindDialog.FFindForm">
        <short>
          <var>FFindForm</var> - local variable holding the form used for the Find dialog.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.FOnReplace">
        <short>
          <var>FOnReplace</var> - local variable identifying the event handler for replacing.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.FOnFind">
        <short>
          <var>FOnFind</var> - local variable identifying the event handler for finding.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.FOptions">
        <short>
          <var>FOptions</var> - local variable holding the set of current options.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.FOnHelpClicked">
        <short>
          <var>FOnHelpClicked</var> - local variable identifying the help event handler.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.FReplaceText">
        <short>
          <var>FReplaceText</var> - local variable holding the Replace text.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.FFindText">
        <short>
          <var>FFindText</var> - local variable containing the text to be found.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.DefaultTitle">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.DefaultTitle.Result">
        <short/>
      </element>

      <element name="TFindDialog.FindClick">
        <short>
          <var>FindClick</var> - method for execution when the Find button is clicked.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.FindClick.Sender">
        <short/>
      </element>

      <element name="TFindDialog.HelpClick">
        <short>
          <var>HelpClick</var> - method to execute when the Help button is clicked.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.HelpClick.Sender">
        <short/>
      </element>

      <element name="TFindDialog.CancelClick">
        <short>
          <var>CancelClick</var> - method to execute when the Cancel button is clicked.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.CancelClick.Sender">
        <short/>
      </element>

      <element name="TFindDialog.GetHeight">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.GetHeight.Result">
        <short/>
      </element>

      <element name="TFindDialog.GetWidth">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.GetWidth.Result">
        <short/>
      </element>

      <element name="TFindDialog.DoCloseForm">
        <short>
          <var>DoCloseForm</var> - execute the code for closing the Find/Replace dialog form.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.DoCloseForm.Sender">
        <short/>
      </element>
      <element name="TFindDialog.DoCloseForm.CloseAction">
        <short/>
      </element>

      <element name="TFindDialog.Find">
        <short>
          <var>Find</var> - software emulation of the <var>OnFind</var> event.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.Help">
        <short>
          <var>Help</var> - software emulation of the <var>OnHelpClicked</var> event.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.Replace">
        <short>
          <var>Replace</var> - software emulation of the <var>OnReplace</var> event.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.CreateForm">
        <short>
          <var>CreateForm</var> - function result returns the form that was created.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.CreateForm.Result">
        <short/>
      </element>

      <element name="TFindDialog.SetFormValues">
        <short>
          <var>SetFormValues</var> - specifies the values for the form.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.GetFormValues">
        <short>
          <var>GetFormValues</var> - finds the values for the form.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.CalcPosition">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TFindDialog.CalcPosition.AForm">
        <short/>
      </element>

      <element name="TFindDialog.ReplaceText">
        <short>
          <var>ReplaceText</var> - the text string that is to be substituted for the Find text.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.OnReplace">
        <short>
          <var>OnReplace</var> - event handler for replacing text.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the constructor for <var>TFindDialog</var>, and calls the inherited <var>Create</var> method. It sets the initial option values for Find only.
          </p>
        </descr>
        <seealso>
          <link id="#rtl.Classes.TComponent.Create">TComponent.Create</link>
          <link id="#LCL.Dialogs.TCommonDialog.Create">TCommonDialog.Create</link>
        </seealso>
      </element>
      <element name="TFindDialog.Create.AOwner">
        <short>Owner of the class instance.</short>
      </element>

      <element name="TFindDialog.Destroy">
        <short>Destructor for the class instance.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.CloseDialog">
        <short>
          <var>CloseDialog</var> and returns its resources.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.Execute" link="#lcl.dialogs.TCommonDialog.Execute">
        <short/>
        <descr/>
        <seealso>
          <link id="#lcl.dialogs.TCommonDialog.Execute">TCommonDialog.Execute</link>
        </seealso>
      </element>
      <element name="TFindDialog.Execute.Result">
        <short>True if the dialog was successfully completed.</short>
      </element>

      <element name="TFindDialog.Left">
        <short>The <var>Left</var> side of the dialog display.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.Position">
        <short>The <var>Position</var> of the dialog display.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.Top">
        <short>the <var>Top</var> of the dialog display.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.FindText">
        <short><var>FindText</var> - the text string that the dialog will try to find.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.Options">
        <short>The current <var>Options</var> for the seeking and replacing process.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.OnFind">
        <short><var>OnFind</var> - event handler for a click on the Find button.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TFindDialog.OnHelpClicked">
        <short><var>OnHelpClicked</var> - event handler for a click on the Help button.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TReplaceDialog">
        <short>A dialog allowing the user to replace text.</short>
        <descr>
          <p>
            The dialog appears and offers boxes for the user to enter text for searching and text to replace it, for example while editing a file or large piece of text.
          </p>
          <p>
            A number of buttons appear, offering the choice to replace this instance, find next, replace all.
          </p>
        </descr>
        <seealso>
          <link id="TFindDialog"/>
        </seealso>
      </element>

      <element name="TReplaceDialog.DefaultTitle">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TReplaceDialog.DefaultTitle.Result">
        <short/>
      </element>

      <element name="TReplaceDialog.ReplaceClick">
        <short>
          <var>ReplaceClick</var> - code to execute when the Replace button is clicked (replace just the current instance).
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TReplaceDialog.ReplaceClick.Sender">
        <short/>
      </element>

      <element name="TReplaceDialog.ReplaceAllClick">
        <short>
          <var>ReplaceAllClick</var> - code to execute when the Replace All button is clicked (replace all remaining instances).
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TReplaceDialog.ReplaceAllClick.Sender">
        <short/>
      </element>

      <element name="TReplaceDialog.CreateForm" link="#lcl.dialogs.TFindDialog.CreateForm">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TReplaceDialog.CreateForm.Result">
        <short/>
      </element>

      <element name="TReplaceDialog.SetFormValues" link="#lcl.dialogs.TFindDialog.SetFormValues">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TReplaceDialog.GetFormValues" link="#lcl.dialogs.TFindDialog.GetFormValues">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TReplaceDialog.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the constructor for <var>TReplaceDialog</var>, and calls the  inherited <var>Create</var> method. It sets the initial option values for find and replace.
          </p>
        </descr>
        <seealso>
          <link id="#LCL.Dialogs.TFindDialog.Create">TFindDialog.Create</link>
        </seealso>
      </element>
      <element name="TReplaceDialog.Create.AOwner">
        <short>Owner of the class instance.</short>
      </element>

      <element name="TReplaceDialog.ReplaceText" link="#lcl.dialogs.TFindDialog.ReplaceText">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TReplaceDialog.OnReplace" link="#lcl.dialogs.TFindDialog.OnReplace">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TCustomPrinterSetupDialog">
        <short>
          Base class for <var>TPrinterSetupDialog</var> and <var>TPageSetupDialog</var>.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TPrintRange">
        <short>Enumerated type which represents page ranges in a print dialog.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TPrintRange.prAllPages">
        <short>Print all pages.</short>
      </element>
      <element name="TPrintRange.prSelection">
        <short>Print the selected range of pages.</short>
      </element>
      <element name="TPrintRange.prPageNums">
        <short>Print the selection of individual pages.</short>
      </element>
      <element name="TPrintRange.prCurrentPage">
        <short>Print the current page.</short>
      </element>

      <element name="TPrintDialogOption">
        <short>Enumerated type with available options for a print dialog.</short>
        <descr/>
        <seealso>
          <link id="TPrintDialogOptions"/>
        </seealso>
      </element>
      <element name="TPrintDialogOption.poPrintToFile">
        <short>Enables and checks the print to a file check box.</short>
      </element>
      <element name="TPrintDialogOption.poPageNums">
        <short>Selects the Pages radio button in the dialog.</short>
      </element>
      <element name="TPrintDialogOption.poSelection">
        <short>Selects the Selection radio button in a print dialog.</short>
      </element>
      <element name="TPrintDialogOption.poWarning">
        <short>Displays a warning message for a print error.</short>
      </element>
      <element name="TPrintDialogOption.poHelp">
        <short>Displays a Help button in a print dialog.</short>
      </element>
      <element name="TPrintDialogOption.poDisablePrintToFile">
        <short>Disables the print to file check box in a print dialog.</short>
      </element>

      <element name="TPrintDialogOptions">
        <short>A set for options in a print dialog.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCustomPrintDialog">
        <short>
          <var>TCustomPrintDialog</var> - base class for <var>TPrintDialog</var>.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCustomPrintDialog.FFromPage"/>
      <element name="TCustomPrintDialog.FToPage"/>
      <element name="TCustomPrintDialog.FCollate"/>
      <element name="TCustomPrintDialog.FOptions"/>
      <element name="TCustomPrintDialog.FPrintToFile"/>
      <element name="TCustomPrintDialog.FPrintRange"/>
      <element name="TCustomPrintDialog.FMinPage"/>
      <element name="TCustomPrintDialog.FMaxPage"/>
      <element name="TCustomPrintDialog.FCopies"/>

      <element name="TCustomPrintDialog.Create" link="#rtl.classes.TComponent.Create">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TCustomPrintDialog.Create.TheOwner">
        <short/>
      </element>

      <element name="TCustomPrintDialog.Collate">
        <short>Enables page collation when multiple copies are produced.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCustomPrintDialog.Copies">
        <short>Number of <var>Copies</var> of the document.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCustomPrintDialog.FromPage">
        <short><var>FromPage</var> - first page of selection for printing.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCustomPrintDialog.MinPage">
        <short><var>MinPage</var> - smallest number of page in print range.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCustomPrintDialog.MaxPage">
        <short><var>MaxPage</var> - highest number of page in print range.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCustomPrintDialog.Options">
        <short>The set of <var>Options</var> for printing.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCustomPrintDialog.PrintToFile">
        <short>When True, printing is spooled to a file instead of the printer.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCustomPrintDialog.PrintRange">
        <short><var>PrintRange</var> - the range of pages for printing.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCustomPrintDialog.ToPage">
        <short><var>ToPage</var> - the final page number in the range for printing.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TTaskDialogFlag">
        <short>Represents options that can be enabled for TTaskDialog.</short>
        <descr>
          TTaskDialogFlag values are stored in the TTaskDialogFlags type, as used in the TCustomTaskDialog.Flags property.
        </descr>
        <seealso>
          <link id="TTaskDialogFlags"/>
          <link id="TCustomTaskDialog.Flags"/>
        </seealso>
      </element>
      <element name="TTaskDialogFlag.tfEnableHyperlinks">
        <short>
          Allows HTML-like hyperlinks in the dialog (in Text, Footer, and ExpandedText) using the <b>'&lt;a href="target"&gt;Target&lt;/a&gt;'</b> notation.
        </short>
      </element>
      <element name="TTaskDialogFlag.tfUseHiconMain">
        <short>
          Uses the handle to the image in MainIcon as the primary image for the Task dialog. Disables hyperlinks.
        </short>
      </element>
      <element name="TTaskDialogFlag.tfUseHiconFooter">
        <short>
          Uses the handle to the image in FooterIcon as the footer icon in the Task dialog. Disables hyperlinks.
        </short>
      </element>
      <element name="TTaskDialogFlag.tfAllowDialogCancellation">
        <short>
          Allow canceling the dialog by Esc key, or Alt+F4 (i.e. OS default hotkey).
        </short>
      </element>
      <element name="TTaskDialogFlag.tfUseCommandLinks">
        <short>
          Custom buttons will be shown as big buttons in the middle of the dialog. Use #10 to add info to buttons (shown in hint in emulated dialog). Disables hyperlinks.
        </short>
      </element>
      <element name="TTaskDialogFlag.tfUseCommandLinksNoIcon">
        <short>
          Hides glyphs for custom buttons in the "command links" mode. Disables hyperlinks.
        </short>
      </element>
      <element name="TTaskDialogFlag.tfExpandFooterArea">
        <short>Show ExpandedText in the footer, instead of inline after the main text.</short>
      </element>
      <element name="TTaskDialogFlag.tfExpandedByDefault">
        <short>Displays the dialog with ExpandedText in the expanded state.</short>
      </element>
      <element name="TTaskDialogFlag.tfVerificationFlagChecked">
        <short>
          Displays the verification check-box verification shows in the checked state.
        </short>
      </element>
      <element name="TTaskDialogFlag.tfShowProgressBar">
        <short>Shows a progress bar.</short>
      </element>
      <element name="TTaskDialogFlag.tfShowMarqueeProgressBar">
        <short>Shows a progress bar using the marquee style.</short>
      </element>
      <element name="TTaskDialogFlag.tfCallbackTimer">
        <short>Execute the timer callback event every 200 milliseconds.</short>
      </element>
      <element name="TTaskDialogFlag.tfPositionRelativeToWindow">
        <short>Form position will be poOwnerFormCenter, instead of poScreenCenter.</short>
      </element>
      <element name="TTaskDialogFlag.tfRtlLayout">
        <short>Use Right-to-Left layout for texts.</short>
      </element>
      <element name="TTaskDialogFlag.tfNoDefaultRadioButton">
        <short>Does not pre-select any of the radio buttons.</short>
      </element>
      <element name="TTaskDialogFlag.tfCanBeMinimized">
        <short>Allow the dialog to be minimized.</short>
      </element>

      <element name="TTaskDialogFlags">
        <short>Set type used to store values from the TTaskDialogFlag enumeration.</short>
        <descr>
          <p>
            TTaskDialogFlags is the type used for the TCustomTaskDialog.Flags property.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogFlag"/>
          <link id="TCustomTaskDialog.Flags"/>
        </seealso>
      </element>

      <element name="TTaskDialogCommonButton">
        <short>Identifier used for common buttons visible on a Task dialog.</short>
        <descr>
          <p>
            Values from <var>TTaskDialogCommonButton</var> are stored in the <var>TTaskDialogCommonButtons</var> set type, as used in the <var>TCustomTaskDialog.CommonButtons</var> property. When a value is included in the set, the corresponding button is visible on the task dialog.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogCommonButtons"/>
          <link id="TCustomTaskDialog.CommonButtons"/>
        </seealso>
      </element>
      <element name="TTaskDialogCommonButton.tcbOk">
        <short>The Ok button.</short>
      </element>
      <element name="TTaskDialogCommonButton.tcbYes">
        <short>The Yes button.</short>
      </element>
      <element name="TTaskDialogCommonButton.tcbNo">
        <short>The No button.</short>
      </element>
      <element name="TTaskDialogCommonButton.tcbCancel">
        <short>The Cancel button.</short>
      </element>
      <element name="TTaskDialogCommonButton.tcbRetry">
        <short>The Retry button.</short>
      </element>
      <element name="TTaskDialogCommonButton.tcbClose">
        <short>The Close button.</short>
      </element>

      <element name="TTaskDialogCommonButtons">
        <short>Set type used to store values from TTaskDialogCommonButton.</short>
        <descr>
          <p>
            <var>TTaskDialogCommonButtons</var> is the type used for the <var>CommonButtons</var> property  in <var>TCustomTaskDialog</var>.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.CommonButtons"/>
        </seealso>
      </element>

      <element name="TTaskDlgClickEvent">
        <short>
          Specifies an event handler signalled when a button is clicked in TCustomTaskDialog / TTaskDialog.
        </short>
        <descr>
          <p>
            TTaskDlgClickEvent is the type used for the OnButtonClicked event handler in TCustomTaskDialog.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.OnButtonClicked"/>
        </seealso>
      </element>
      <element name="TTaskDlgClickEvent.Sender">
        <short>Task dialog for the event notification.</short>
      </element>
      <element name="TTaskDlgClickEvent.AModalResult">
        <short>Modal result for the clicked button.</short>
      </element>
      <element name="TTaskDlgClickEvent.ACanClose">
        <short>True if the dialog can close.</short>
      </element>

      <element name="TTaskDialogIcon">
        <short>Identifier for an icon displayed on a Task dialog.</short>
        <descr>
          <p>
            TTaskDialogIcon is the type used for the FooterIcon and MainIcon properties in TCustomTaskDialog.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.FooterIcon"/>
          <link id="TCustomTaskDialog.MainIcon"/>
        </seealso>
      </element>
      <element name="TTaskDialogIcon.tdiNone">
        <short>No icon is displayed.</short>
      </element>
      <element name="TTaskDialogIcon.tdiWarning">
        <short>Displays the Warning icon (Amber triangle with an Exclamation mark).</short>
      </element>
      <element name="TTaskDialogIcon.tdiError">
        <short>Displays the Error icon (Red circle with an X).</short>
      </element>
      <element name="TTaskDialogIcon.tdiInformation">
        <short>Displays the Information icon (Blue circle with a Question Mark).</short>
      </element>
      <element name="TTaskDialogIcon.tdiShield">
        <short>Displays the Shield icon.</short>
      </element>
      <element name="TTaskDialogIcon.tdiQuestion">
        <short>Displays the Question icon (Blue circle with a Question Mark).</short>
      </element>

      <element name="TTaskDialogBaseButtonItem">
        <short>Defines the base class for a custom button displayed on a Task dialog.</short>
        <descr>
          <p>
            <var>TTaskDialogBaseButtonItem</var> is a <var>TCollectionItem</var> descendant which defines a custom button that can be displayed on a Task dialog. It provides properties that indicate the <var>Caption</var> for the button, its use as the <var>Default</var> button on a dialog, and its <var>ModalResult</var> value.
          </p>
          <p>
            TTaskDialogBaseButtonItem is the ancestor for <var>TTaskDialogBaseButtonItem</var>.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogBaseButtonItem"/>
        </seealso>
      </element>

      <element name="TTaskDialogBaseButtonItem.FCaption"/>
      <element name="TTaskDialogBaseButtonItem.FClient"/>
      <element name="TTaskDialogBaseButtonItem.FModalResult"/>

      <!-- private -->
      <element name="TTaskDialogBaseButtonItem.GetDefault"/>
      <element name="TTaskDialogBaseButtonItem.GetDefault.Result"/>
      <element name="TTaskDialogBaseButtonItem.SetCaption"/>
      <element name="TTaskDialogBaseButtonItem.SetCaption.ACaption"/>
      <element name="TTaskDialogBaseButtonItem.SetDefault"/>
      <element name="TTaskDialogBaseButtonItem.SetDefault.Value"/>

      <element name="TTaskDialogBaseButtonItem.Client">
        <short>TCustomTaskDialog where the button is used.</short>
        <descr>
          <p>
            <var>Client</var> is a read-only <var>TCustomTaskDialog</var> property with the dialog where the button is used. Its value is set to the Task dialog that is the owner of the collection where the button definition is stored.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogBaseButtonItem.Create"/>
          <link id="#rtl.classes.TCollection.Owner">TCollection.Owner</link>
        </seealso>
      </element>

      <element name="TTaskDialogBaseButtonItem.GetDisplayName">
        <short>Gets the value for the DisplayName property.</short>
        <descr>
          <p>
            <var>GetDisplayName</var> is an overridden method used to get the value for the
            <var>DisplayName</var> property. In TTaskDialogBaseButtonItem, the value in <var>Caption</var> is used (when assigned) for the property value. When Caption is empty, the inherited method is called to get the property value.
          </p>
        </descr>
        <seealso>
          <link id="#rtl.classes.TCollectionItem">TCollectionItem</link>
        </seealso>
      </element>
      <element name="TTaskDialogBaseButtonItem.GetDisplayName.Result">
        <short>Value for the DisplayName property.</short>
      </element>

      <element name="TTaskDialogBaseButtonItem.TaskButtonCollection">
        <short>
          Gets the collection where the button definition is stored.
        </short>
        <descr>
          <p>
            TaskButtonCollection is a TTaskDialogButtons function which retrieves the Collection where the button definition is stored. It allows the button definition to access properties and methods in the collection.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="TTaskDialogBaseButtonItem.TaskButtonCollection.Result">
        <short>Collection which owns the button cast to a TTaskDialogButtons type.</short>
      </element>

      <element name="TTaskDialogBaseButtonItem.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the overridden constructor for the class instance. It calls the inherited method on entry, and sets the value in the <var>Client</var> property to the dialog which is the owner for the Collection. The value in <var>ModalResult</var> is set to the <var>ID</var> value for the collection item + 100.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogBaseButtonItem.Client"/>
          <link id="TTaskDialogBaseButtonItem.ModalResult"/>
          <link id="#rtl.classes.TCollectionItem.Collection">TCollectionItem.Collection</link>
          <link id="#rtl.classes.TCollectionItem.ID">TCollectionItem.ID</link>
        </seealso>
      </element>
      <element name="TTaskDialogBaseButtonItem.Create.ACollection">
        <short>Collection which owns the button item.</short>
      </element>

      <element name="TTaskDialogBaseButtonItem.ModalResult">
        <short>Modal result value returned when the button is clicked.</short>
        <descr>
          <p>
            The default value for the property is assigned when the button item is created and is based in its ID value + 100. The value can  be changed to any reasonable value that is unique for the context.
          </p>
          <p>
            ModalResult is used when a Task dialog is executed and a button is clicked on the dialog. Its value for the clicked button is assigned to the ModalResult property in the TCustomTaskDialog instance.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.Execute"/>
          <link id="TCustomTaskDialog.ModalResult"/>
          <link id="TCustomTaskDialog.Buttons"/>
          <link id="TCustomTaskDialog.CommonButtons"/>
        </seealso>
      </element>

      <element name="TTaskDialogBaseButtonItem.Caption">
        <short>Caption text displayed on the button surface.</short>
        <descr>
          <p>
            <var>Caption</var> is a <var>TTranslateString</var> property with the caption text displayed on the button surface. It can be localized using the built-in translation facilities available in the LCL. When assigned, Caption also provides the DisplayName for the collection item in the object inspector.
          </p>
        </descr>
        <seealso>
          <link id="#rtl.classes.TCollectionItem.DisplayName">TCollectionItem.DisplayName</link>
        </seealso>
      </element>

      <element name="TTaskDialogBaseButtonItem.Default">
        <short>Indicates if the button is the default button on a Task dialog.</short>
        <descr>
          <p>
            <var>Default</var> is a <var>Boolean</var> property which indicates if the button is the default button for a Task dialog. The default value for the property is <b>False</b>.
          </p>
          <p>
            Changing the value in the property causes the <var>DefaultButton</var> property in the Collection to be updated. When set to <b>True</b>, the button instance is assigned to the DefaultButton property in the collection. When set to <b>False</b>, the DefaultButton in the collection is set to <b>Nil</b>.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogBaseButtonItem.TaskButtonCollection"/>
          <link id="TTaskDialogButtons.DefaultButton"/>
          <link id="#rtl.classes.TCollectionItem.Collection">TCollectionItem.Collection</link>
        </seealso>
      </element>

      <element name="TTaskDialogButtonItem">
        <short>
          Implements a button definition used for a button in TCustomTaskDialog.
        </short>
        <descr>
          <p>
            <var>TTaskDialogButtonItem</var> is a <var>TTaskDialogBaseButtonItem</var> descendant used to define and store buttons created in <var>TCustomTaskDialog</var> / <var>TTaskDialog</var>. It provides an overridden constructor which creates an object inspector-friendly name for the button item. It also sets the visibility for the <var>ModalResult</var> property to published.
          </p>
          <p>
            TTaskDialogButtonItem is the type used for the <var>Button</var> property in TCustomTaskDialog, and maintained in its <var>Buttons</var> collection.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.Button"/>
          <link id="TCustomTaskDialog.Buttons"/>
          <link id="TTaskDialogBaseButtonItem"/>
        </seealso>
      </element>

      <element name="TTaskDialogButtonItem.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the overridden constructor for the class instance, and calls the inherited method on entry. It assigns an object inspector-friendly value to the <var>Caption</var> property, such as 'Button3'. The Caption is also used as the <var>DisplayName</var> for the collection item when assigned.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogBaseButtonItem.Caption"/>
          <link id="#rtl.classes.TCollectionItem.DisplayName">TCollectionItem.DisplayName</link>
        </seealso>
      </element>
      <element name="TTaskDialogButtonItem.Create.ACollection">
        <short>Collection which owns the button item.</short>
      </element>

      <element name="TTaskDialogButtonItem.ModalResult" link="#lcl.dialogs.TTaskDialogBaseButtonItem.ModalResult"/>

      <element name="TTaskDialogRadioButtonItem">
        <short>Implements a radio button displayed on a Task dialog.</short>
        <descr>
          <p>
            <var>TTaskDialogRadioButtonItem</var> is a <var>TTaskDialogBaseButtonItem</var> descendant which implements a radio button displayed on a Task dialog. TTaskDialogRadioButtonItem is the type used for the <var>RadioButton</var> property in <var>TCustomTaskDialog</var>, and maintained in its <var>RadioButtons</var> collection.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.RadioButton"/>
          <link id="TCustomTaskDialog.RadioButtons"/>
        </seealso>
      </element>

      <element name="TTaskDialogRadioButtonItem.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the overridden constructor for the class instance, and calls the inherited method on entry. Creates assign an object inspector-friendly value for the Caption property, such as 'RadioButton2'.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogBaseButtonItem.Create"/>
        </seealso>
      </element>
      <element name="TTaskDialogRadioButtonItem.Create.ACollection">
        <short>Collection which owns the radio button item.</short>
      </element>

      <element name="TTaskDialogButtonsEnumerator">
        <short>Implements an enumerator for buttons defined in a Task dialog.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TTaskDialogButtonsEnumerator.FIndex"/>
      <element name="TTaskDialogButtonsEnumerator.FCollection"/>

      <element name="TTaskDialogButtonsEnumerator.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            Sets the internal position for the enumerator to -1 to indicate that a button is not available. Use <var>MoveNext</var> to position the enumerator at the first button in the collection.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogButtonsEnumerator.MoveNext"/>
        </seealso>
      </element>
      <element name="TTaskDialogButtonsEnumerator.Create.ACollection">
        <short>Collection which owns the buttons for the enumerator.</short>
      </element>

      <element name="TTaskDialogButtonsEnumerator.GetCurrent">
        <short>Gets the value for the Current property.</short>
        <descr/>
        <seealso>
          <link id="TTaskDialogButtonsEnumerator.Current"/>
        </seealso>
      </element>
      <element name="TTaskDialogButtonsEnumerator.GetCurrent.Result">
        <short>Value for the Current property.</short>
      </element>

      <element name="TTaskDialogButtonsEnumerator.MoveNext">
        <short>Positions the enumerator on the next button in the collection.</short>
        <descr>
          <p>
            <var>MoveNext</var> is a <var>Boolean</var> function used to move the position for the enumeration to the next button in the collection. When the enumerator is created, its position is undefined (-1) by default. Use MoveNext to move the position to the first button when the enumerator is created.
          </p>
          <p>
            The return value is <b>True</b> when another value was found in the collection. It is set to <var>False</var> if the position reaches the value in <var>Count</var>.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogButtonsEnumerator.Current"/>
          <link id="#rtl.classes.TCollection.Count">TCollection.Count</link>
        </seealso>
      </element>
      <element name="TTaskDialogButtonsEnumerator.MoveNext.Result">
        <short>True if another button was available in the collection.</short>
      </element>

      <element name="TTaskDialogButtonsEnumerator.Current">
        <short>Button at the current position for the enumerator.</short>
        <descr>
          <p>
            <var>Current</var> is a read-only <var>TTaskDialogBaseButtonItem</var> property with the button at the current position for the enumerator. It uses the ordinal position in the collection for the button item as set when the <var>MoveNext</var> method was called.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogButtonsEnumerator.MoveNext"/>
          <link id="TTaskDialogButtons"/>
        </seealso>
      </element>

      <element name="TTaskDialogButtons">
        <short>
          Collection type used to access and maintain buttons defined for a Task dialog.
        </short>
        <descr>
            <p>
              <var>TTaskDialogButtons</var> is a <var>TOwnedCollection</var> descendant which implements the collection used for the buttons on a Task dialog. TTaskDialogButtons provides properties and methods used to access and maintain the buttons in the collection, such as: <var>Add</var>, <var>FindButton</var>, <var>DefaultButton</var>, <var>Items</var>, and <var>GetEnumerator</var>.
            </p>
            <p>
              TTaskDialogButtons is the type used for the <var>Buttons</var> and <var>RadioButtons</var> properties in <var>TCustomTaskDialog</var> / <var>TTaskDialog</var>.
            </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.Buttons"/>
          <link id="TCustomTaskDialog.RadioButtons"/>
        </seealso>
      </element>

      <!-- private -->
      <element name="TTaskDialogButtons.FDefaultButton"/>
      <element name="TTaskDialogButtons.GetItem"/>
      <element name="TTaskDialogButtons.GetItem.Result"/>
      <element name="TTaskDialogButtons.GetItem.Index"/>
      <element name="TTaskDialogButtons.SetDefaultButton"/>
      <element name="TTaskDialogButtons.SetDefaultButton.Value"/>
      <element name="TTaskDialogButtons.SetItem"/>
      <element name="TTaskDialogButtons.SetItem.Index"/>
      <element name="TTaskDialogButtons.SetItem.Value"/>

      <element name="TTaskDialogButtons.Add">
        <short>Adds a new collection item using the ItemClass for the collection.</short>
        <descr>
          <p>
            Calls the inherited <var>Add</var> method to create the new collection item, and casts the return value to the <var>TTaskDialogBaseButtonItem</var> type used as the <var>ItemClass</var>. The inherited method uses the Collection as the Owner for the new collection item.
          </p>
        </descr>
        <seealso>
          <link id="#rtl.classes.TCollection.Add">TCollection.Add</link>
          <link id="#rtl.classes.TCollection.Owner">TCollection.Owner</link>
          <link id="#rtl.classes.TCollection.ItemClass">TCollection.ItemClass</link>
        </seealso>
      </element>
      <element name="TTaskDialogButtons.Add.Result">
        <short>Collection item created in the method.</short>
      </element>

      <element name="TTaskDialogButtons.FindButton">
        <short>
          Gets the button item in the collection with the specified modal result value.
        </short>
        <descr>
          <p>
            <var>FindButton</var> enumerates values in the <var>Items</var> property to find  the first button using the modal result value in AModalResult. The return value is Nil if a button using the modal result value is not found.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogButtons.Items"/>
          <link id="TTaskDialogBaseButtonItem"/>
        </seealso>
      </element>
      <element name="TTaskDialogButtons.FindButton.Result">
        <short>TTaskDialogBaseButtonItem instance with the specified modal result value.</short>
      </element>
      <element name="TTaskDialogButtons.FindButton.AModalResult">
        <short>Modal result value to locate in the button items for the collection.</short>
      </element>

      <element name="TTaskDialogButtons.GetEnumerator">
        <short>Gets an enumerator for the buttons in the Items property.</short>
        <descr/>
        <seealso>
          <link id="TTaskDialogButtons.Items"/>
        </seealso>
      </element>
      <element name="TTaskDialogButtons.GetEnumerator.Result">
        <short>TTaskDialogButtonsEnumerator instance for the buttons in the collection.</short>
      </element>

      <element name="TTaskDialogButtons.DefaultButton">
        <short>
          Contains the collection item that is the default button for a Task dialog.
        </short>
        <descr>
          <p>
            <var>DefaultButton</var> is a <var>TTaskDialogBaseButtonItem</var> property with the button that is the default button for a Task dialog. The value for the property is updated when the <var>Default</var> property in a button item is changed.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogBaseButtonItem.Default"/>
        </seealso>
      </element>

      <element name="TTaskDialogButtons.Items">
        <short>Provides indexed access to buttons defined in the collection.</short>
        <descr>
          <p>
            <var>Items</var> is an indexed <var>TTaskDialogBaseButtonItem</var> property with the buttons defined for the collection. It re-implements the property introduced in the ancestor class to use the <var>TTaskDialogBaseButtonItem</var> type when reading or writing values in the collection. Values in the property are accessed by their ordinal position in the collection.
          </p>
          <p>
            Items is the default property, and the target for an enumerator created for the class instance.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialogBaseButtonItem"/>
          <link id="TTaskDialogButtons.GetEnumerator"/>
          <link id="#rtl.classes.TCollection.Items">TCollection.Items</link>
          <link id="#rtl.classes.TCollection.ItemClass">TCollection.ItemClass</link>
        </seealso>
      </element>
      <element name="TTaskDialogButtons.Items.Index">
        <short>Ordinal position in the collection for the property value.</short>
      </element>

      <element name="TCustomTaskDialog">
        <short>Defines a configurable, modal task dialog at run-time.</short>
        <descr>
          <p>
            <var>TCustomTaskDialog</var> is a <var>TComponent</var> descendant which defines a configurable, modal task dialog. It is a non-visual component which creates modal dialogs at run-time, with rich UI elements. It is a wrapper for <var>LCLTaskDialog.TTaskDialog</var>  which implements the Windows TaskDialog API.
          </p>
          <p>
            TCustomTaskDialog provides properties which can be used to configure the class instance at design-time in the object inspector. At run-time, the <var>Execute</var> method handles converting properties and calling routines in the <var>LCLTaskDialog.TTaskDialog</var> implementation.
          </p>
        </descr>
        <seealso>
          <link id="TTaskDialog"/>
          <link id="#rtl.classes.TComponent">TComponent</link>
          <link id="#lcl.lcltaskdialog.TTaskDialog">LCLTaskDialog.TTaskDialog</link>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.FButton"/>
      <element name="TCustomTaskDialog.FButtons"/>
      <element name="TCustomTaskDialog.FCaption"/>
      <element name="TCustomTaskDialog.FCommonButtons"/>
      <element name="TCustomTaskDialog.FDefaultButton"/>
      <element name="TCustomTaskDialog.FExpandButtonCaption"/>
      <element name="TCustomTaskDialog.FExpandedText"/>
      <element name="TCustomTaskDialog.FFlags"/>
      <element name="TCustomTaskDialog.FFooterIcon"/>
      <element name="TCustomTaskDialog.FFooterText"/>
      <element name="TCustomTaskDialog.FMainIcon"/>
      <element name="TCustomTaskDialog.FModalResult"/>
      <element name="TCustomTaskDialog.FRadioButton"/>
      <element name="TCustomTaskDialog.FRadioButtons"/>
      <element name="TCustomTaskDialog.FTask"/>
      <element name="TCustomTaskDialog.FTitle"/>
      <element name="TCustomTaskDialog.FVerificationText"/>
      <element name="TCustomTaskDialog.FOnButtonClicked"/>

      <element name="TCustomTaskDialog.DoOnButtonClickedHandler">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TCustomTaskDialog.DoOnButtonClickedHandler.Sender">
        <short/>
      </element>
      <element name="TCustomTaskDialog.DoOnButtonClickedHandler.AButtonID">
        <short/>
      </element>
      <element name="TCustomTaskDialog.DoOnButtonClickedHandler.ACanClose">
        <short/>
      </element>

      <element name="TCustomTaskDialog.SetButtons">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TCustomTaskDialog.SetButtons.Value">
        <short/>
      </element>

      <element name="TCustomTaskDialog.SetRadioButtons">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TCustomTaskDialog.SetRadioButtons.Value">
        <short/>
      </element>

      <element name="TCustomTaskDialog.ButtonIDToModalResult">
        <short/>
        <descr/>
        <seealso/>
      </element>
      <element name="TCustomTaskDialog.ButtonIDToModalResult.Result">
        <short/>
      </element>
      <element name="TCustomTaskDialog.ButtonIDToModalResult.AButtonID">
        <short/>
      </element>

      <element name="TCustomTaskDialog.DoExecute">
        <short>
          Performs actions to convert values in the class, and execute the dialog using the wrapper in the LCLTaskDialog unit.
        </short>
        <descr>
          <!-- hic sunt dracones -->
        </descr>
        <seealso/>
      </element>
      <element name="TCustomTaskDialog.DoExecute.Result">
        <short>True if a valid button identifier was clicked in the dialog.</short>
      </element>
      <element name="TCustomTaskDialog.DoExecute.ParentWnd">
        <short>Handle for the Parent Window of the dialog.</short>
      </element>

      <element name="TCustomTaskDialog.DoOnButtonClicked">
        <short>
          Signals the OnButtonClicked event handler (when assigned) for the button with the specified modal result value.
        </short>
        <descr>
          <p>
            DoOnButtonClicked is called from the callback routine passed to the wrapper in LCLTaskDialog.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="TCustomTaskDialog.DoOnButtonClicked.AModalResult">
        <short>Modal result value signalled for the button click notification.</short>
      </element>
      <element name="TCustomTaskDialog.DoOnButtonClicked.ACanClose">
        <short>True if the dialog should be closed, or False to continue execution.</short>
      </element>

      <element name="TCustomTaskDialog.Create">
        <short>Constructor for the class instance.</short>
        <descr>
          <p>
            <var>Create</var> is the overridden constructor for the class instance, and calls the inherited method on entry. Create allocates resources needed for the <var>Buttons</var> and <var>RadioButtons</var> properties. It sets the default values for the following properties:
          </p>
          <dl>
            <dt>CommonButtons</dt>
            <dd>Set to the value [tcbOk, tcbCancel].</dd>
            <dt>DefaultButton</dt>
            <dd>Set to tcbOK.</dd>
            <dt>Flags</dt>
            <dd>Set to [tfAllowDialogCancellation].</dd>
            <dt>FooterIcon</dt>
            <dd>Set to tdiNone.</dd>
            <dt>MainIcon</dt>
            <dd>Set to tdiInformation.</dd>
          </dl>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.Buttons"/>
          <link id="TCustomTaskDialog.RadioButtons"/>
          <link id="TCustomTaskDialog.CommonButtons"/>
          <link id="TCustomTaskDialog.DefaultButton"/>
          <link id="TCustomTaskDialog.Flags"/>
          <link id="TCustomTaskDialog.FooterIcon"/>
          <link id="TCustomTaskDialog.MainIcon"/>
        </seealso>
      </element>
      <element name="TCustomTaskDialog.Create.AOwner">
        <short>Owner of the class instance.</short>
      </element>

      <element name="TCustomTaskDialog.Destroy">
        <short>Destructor for the class instance.</short>
        <descr>
          <p>
            <var>Destroy</var> is the overridden destructor for the class instance. It frees resources allocated for the <var>Buttons</var> and <var>RadioButtons</var> properties, and calls the inherited method prior to exit.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.Buttons"/>
          <link id="TCustomTaskDialog.RadioButtons"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.Execute">
        <short>Displays the dialog and captures the modal result value.</short>
        <descr>
          <p>
            <var>Execute</var> is an overloaded <var>Boolean</var> function used to display the dialog and capture the modal result value using the wrapper in the <file>LCLTaskDialog</file> unit. The return value is <b>True</b> if a valid button identifier was selected in the wrapper.
          </p>
          <p>
            Execute calls the <var>DoExecute</var> method to convert property values in the class instance to the values expected in the <var>TTaskDialog</var> record, and execute the dialog using the <file>LCLTaskDialog</file> wrapper. The value in ModalResult is updated from the Button with the identifier returned from the wrapper.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.ModalResult"/>
          <link id="TCustomTaskDialog.Button"/>
          <link id="#lcl.lcltaskdialog.TTaskDialog"/>
        </seealso>
      </element>
      <element name="TCustomTaskDialog.Execute.Result">
        <short>True if a valid button identifier was selected in the dialog.</short>
      </element>
      <element name="TCustomTaskDialog.Execute.ParentWnd">
        <short>
          Parent window handle used to position the dialog in the LCLTaskDialog wrapper.
        </short>
      </element>

      <element name="TCustomTaskDialog.Button">
        <short>Not used in the current LCL version.</short>
        <descr>
          <p>
            <var>Button</var> is a <var>TTaskDialogButtonItem</var> property. It is not used in the current LCL version.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TCustomTaskDialog.Buttons">
        <short>Collection with the buttons for the Task dialog.</short>
        <descr>
          <p>
            <var>Buttons</var> is a <var>TTaskDialogButtons</var> property with the collection that contains the buttons for the Task dialog. Values in Buttons and <var>CommonButtons</var> are used in the <var>DoExecute</var> method to define the button identifiers and modal result values  available in the <file>LCLTaskDialog</file> wrapper.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TCustomTaskDialog.Caption">
        <short>Caption text displayed on the title bar for the Task dialog.</short>
        <descr>
          <p>
            <var>Caption</var> is a <var>TTranslateString</var> property with the text displayed on the title bar for the Task dialog. Caption can be localized using the LCL translation facilities.
          </p>
          <p>
            Use <var>Title</var> to set the text displayed as the title in the main content area. Use <var>Text</var> to set the text displayed beneath the Title in the main content area. Use <var>ExpandedText</var> to set the text displayed in the expandable content area for the dialog. Use <var>FooterText</var> to set the text displayed in the footer aread for the dialog.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TCustomTaskDialog.CommonButtons">
        <short>Set of common buttons displayed on the Task dialog.</short>
        <descr>
          <p>
            <var>CommonButtons</var>is a <var>TTaskDialogCommonButtons</var> property with the set of common buttons displayed on the Task dialog. Values from the <var>TTaskDialogCommonButton</var> enumeration are included in the set to make buttons visible. Values are excluded from the set to remove the buttons. The default value for the property is <var>[tcbOk, tcbCancel]</var>,  and enables the <b>OK</b> and <b>Cancel</b> buttons for the Task dialog.
          </p>
          <p>
            CommonButtons is used in conjunction with the <var>Buttons</var> collection, which contains custom button definitions that do not fit the common button definitions. Both CommonButtons and Buttons are used in <var>DoExecute</var>, and passed as arguments to the wrapper in <file>LCLTaskDialog</file>.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.Buttons"/>
          <link id="TCustomTaskDialog.DoExecute"/>
          <link id="TCustomTaskDialog.Execute"/>
          <link id="TTaskDialogCommonButtons"/>
          <link id="TTaskDialogCommonButton"/>
          <link id="#lcl.lcltaskdialog.TTaskDialog">LCLTaskDialog.TTaskDialog</link>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.DefaultButton">
        <short>Index of the default button, from the set in the CommonButtons property.</short>
        <descr>
          <p>
            <var>DefaultButton</var> is <var>TTaskDialogCommonButton</var> property which indicates the default button for the Task dialog. It represents the button that is clicked if the user presses the Space or Enter key when the Task dialog is initially displayed.
          </p>
          <p>
            The property contains one of the values from the <var>CommonButtons</var> property. The default value for the property is <var>tcbOK</var>, and represents the <b>OK</b> button.
          </p>
          <p>
            It is used to set the default modal result value returned during execution when a <var>DefaultButton</var> has not been specified in the <var>Buttons</var> collection.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.CommonButtons"/>
          <link id="TCustomTaskDialog.Buttons"/>
          <link id="TTaskDialogButtons.DefaultButton"/>
          <link id="TTaskDialogCommonButton"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.ExpandButtonCaption">
        <short>Caption displayed for the expand/collapse button on the dialog.</short>
        <descr>
          <p>
            <var>ExpandButtonCaption</var> is a TTranslateString property with the caption text displayed beside the button used to expand or collapse the ExpandedText on the Task dialog. The property value can be localized using the standard LCL translation facilities.
          </p>
           <p>
             The default value for the property is an empty String (''), and cause the values "See details" or "Hide details" to be used on the Task dialog (when the lanuguage is English). Setting a value for the property causes the same caption to be displayed for both the expanded and collapsed states; only the button indicator changes.
           </p>
           <p>
             Use the Flags property to control the position (tfExpandFooterArea) or the expanded / collapsed state (tfExpandedByDefault) for the ExpandedText on the Task dialog.
           </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.ExpandedText"/>
          <link id="TCustomTaskDialog.Flags"/>
          <link id="TTaskDialogFlags"/>
          <link id="TTaskDialogFlag"/>
          <link id="#lcl.lcltype.TTranslateString"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.ExpandedText">
        <short>
          Text that is displayed in the expandable / collapsible area on the Task dialog.
        </short>
        <descr>
          <p>
            ExpandedText is a TTranslateString property with the text displayed in the expandable / collapsible area on the Task dialog. Its value can be localized using the standard LCL translation facilities. It can contain multi-line text when line ending characters (#13,#10) are embedded in the String value. For example:
          </p>
<code>
ADialog.ExpandedText := 'Please read the Terms of Service.'+#10+
  'Available on our &lt;a href="https://www.bogus.org/tos.html"&gt;Website&lt;/a&gt;';
</code>
          <p>
            Or, the multi-line value can be entered in the object inspector property editor at design-time.
          </p>
          <p>
            Text, ExpandedText, and FooterText allow an HTML-like hyperlinking capability (as seen in the previous code example). The feature must be enabled by including tfEnableHyperlinks in the Flags property. Use tfExpandFooterArea to control the position for the expanded text, or tfExpandedByDefault to expand or collapse the text area.
          </p>
        </descr>
        <version>
          Multi-line property editors in the object inspector were enabled in Lazarus version 2.2.0.
        </version>
        <seealso>
          <link id="TCustomTaskDialog.Flags"/>
          <link id="TTaskDialogFlags"/>
          <link id="TTaskDialogFlag"/>
          <link id="#lcl.lcltype.TTranslateString"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.Flags">
        <short>Set of options enabled for the Task dialog.</short>
        <descr>
          Flags is a TTaskDialogFlags property with the set of options for the Task dialog. It contains values from the TTaskDialogFlag enumeration, and when included, enable the corresponding feature in the Task Dialog. The default value for the property is [tfAllowDialogCancellation] and allows the dialog to be cancelled.
        </descr>
        <seealso>
          <link id="TTaskDialogFlags"/>
          <link id="TTaskDialogFlag"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.FooterIcon">
        <short>Icon for the footer area displayed at the bottom of the dialog.</short>
        <descr>
          <p>
            <var>FooterIcon</var> is a <var>TTaskDialogIcon</var> property with a value which identifies the icon displayed in the footer area for the Task dialog. The footer icon is displayed beside the optional text in <var>FooterText</var>. The default value for the property is <var>tdiNone</var>, and causes the icon to be omitted. See <var>TTaskDialogIcon</var> for information about the values in the enumeration and their meanings.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.FooterText"/>
          <link id="TCustomTaskDialog.Flags"/>
          <link id="TTaskDialogIcon"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.FooterText">
        <short>
          Text that is displayed in the footer area on the Task dialog.
        </short>
        <descr>
          <p>
            <var>FooterText</var> is a <var>TTranslateString</var> property with the text displayed in the footer area on the Task dialog. Its value can be localized using the standard LCL translation facilities. It can contain multi-line text when line ending characters (#13,#10) are embedded in the String value. For example:
          </p>
<code>
ADialog.FooterText := '(c) Copyright 1960-2021, Acme Corporation LLC.' + #10 +
  'All rights reserved.';
</code>
          <p>
            Or, the multi-line value can be entered in the object inspector property editor at design-time.
          </p>
          <p>
            Text, ExpandedText, and FooterText allow an HTML-like hyperlinking capability using the &lt;a href="linktarget"&gt;Link Text&lt;/a&gt; notation. The feature must be enabled by including tfEnableHyperlinks in the Flags property. Use tfExpandFooterArea to position the expanded text in the footer area.
          </p>
        </descr>
        <version>
          Multi-line property editors in the object inspector were enabled in Lazarus version 2.2.0.
        </version>
        <seealso>
          <link id="TCustomTaskDialog.FooterIcon"/>
          <link id="TCustomTaskDialog.Text"/>
          <link id="TCustomTaskDialog.ExpandedText"/>
          <link id="TCustomTaskDialog.Flags"/>
          <link id="TTaskDialogFlags"/>
          <link id="TTaskDialogFlag"/>
          <link id="#lcl.lcltype.TTranslateString"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.MainIcon">
        <short>Icon displayed beside the Title for the dialog.</short>
        <descr>
          <p>
            <var>MainIcon</var> is a <var>TTaskDialogIcon</var> with a value that identifies the icon displayed beside the <var>Title</var> for the Task dialog. The default value is <var>tdiInformation</var>, and causes a blue circle with a Question Mark to be displayed as the icon. See <var>TTaskDialogIcon</var> for more information about the values in the enumeration and their meanings.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.Title"/>
          <link id="TCustomTaskDialog.Text"/>
          <link id="TCustomTaskDialog.ExpandedText"/>
          <link id="TCustomTaskDialog.FooterText"/>
          <link id="TCustomTaskDialog.Flags"/>
          <link id="TTaskDialogIcon"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.ModalResult">
        <short>Modal result value returned when the Task dialog was executed.</short>
        <descr>
          <p>
            <var>ModalResult</var> is a <var>TModalResult</var> property with the modal result value returned when the Task dialog was executed. It contains the corresponding value from the <var>Button</var> used to close the Task dialog, <var>DefaultButton</var> if <b>Enter</b> or <b>Space</b> was pressed when the dialog was displayed, or <var>mrNone</var> if the dialog was cancelled.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.Buttons"/>
          <link id="TCustomTaskDialog.Button"/>
          <link id="TCustomTaskDialog.DefaultButton"/>
          <link id="TCustomTaskDialog.Execute"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.RadioButton">
        <short>The radio button selected in the Task dialog.</short>
        <descr>
          <p>
            <var>RadioButton</var> is a read-only <var>TTaskDialogRadioButtonItem</var> property with the radio button selected when the Task dialog was executed. The property value is set when the <var>Execute</var> method calls the wrapper in <file>LCLTaskDialog</file>. It contains an entry from the <var>RadioButtons</var> collection that was passed as an argument to the <var>TTaskDialog</var> wrapper.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.RadioButtons"/>
          <link id="TCustomTaskDialog.Execute"/>
          <link id="TCustomTaskDialog.DoExecute"/>
          <link id="TTaskDialogRadioButtonItem"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.RadioButtons">
        <short>
          Collection with the optional radio buttons defined for the Task dialog.
        </short>
        <descr>
          <p>
            <var>RadioButtons</var> is a <var>TTaskDialogButtons</var> property with the collection of defined radio buttons for the Task dialog.
          </p>
          <p>
            Radio buttons are displayed in the main content area for the Task dialog, below the values in <var>Text</var> and <var>ExpandedText</var>. Use of radio buttons is optional. They are displayed when items have been added to the collection. The <var>TTaskDialogRadioButtonItem</var> items in the collection are passed as an argument when the <var>Execute</var> method is called.
          </p>
          <p>
            Use the <var>RadioButton</var> property to determine the radio button selected on the Task dialog.
          </p>
        </descr>
        <seealso>
          <link id="TCustomTaskDialog.Execute"/>
          <link id="TCustomTaskDialog.RadioButton"/>
          <link id="TCustomTaskDialog.Flags"/>
          <link id="TTaskDialogButtons"/>
          <link id="TTaskDialogRadioButtonItem"/>
          <link id="TTaskDialogFlags"/>
          <link id="TTaskDialogFlag"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.Text">
        <short>
          Text displayed as main content for the Task dialog.
        </short>
        <descr>
          <p>
            <var>Text</var> is a <var>TTranslateString</var> property with the text displayed in the main content area on the Task dialog. Its value can be localized using the standard LCL translation facilities. It can contain multi-line text when line ending characters (#13,#10) are embedded in the String value. For example:
          </p>
<code>
ADialog.Text := 'Please read and accept the &lt;a href="file://tos.pdf"&gt;Terms of Service&lt;/a&gt;. '+
  #10+'You must agree before the application can be installed.';
</code>
          <p>
            Or, the multi-line value can be entered in the object inspector property editor at design-time.
          </p>
          <p>
            Text, ExpandedText, and FooterText allow an HTML-like hyperlinking capability using the &lt;a href="linktarget"&gt;Link Text&lt;/a&gt; notation. The feature must be enabled by including tfEnableHyperlinks in the Flags property.
            Use tfExpandFooterArea to position the expanded text in the footer area.
          </p>
          <p>
            Use ExpandedText to set the content in the collapsible area on the Task dialog. Use tfExpandFooterArea in the FLags property to position the expanded text in the footer area.
          </p>
        </descr>
        <version>
          Multi-line property editors in the object inspector were enabled in Lazarus version 2.2.0.
        </version>
        <seealso>
          <link id="TCustomTaskDialog.ExpandedText"/>
          <link id="TCustomTaskDialog.FooterText"/>
          <link id="TCustomTaskDialog.Flags"/>
          <link id="TTaskDialogFlags"/>
          <link id="TTaskDialogFlag"/>
          <link id="#lcl.lcltype.TTranslateString"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.Title">
        <short>
          Header text displayed at the top of dialog, with a larger font size and using a bold font style.
        </short>
        <descr/>
        <seealso>
          <link id="TCustomTaskDialog.MainIcon"/>
          <link id="TCustomTaskDialog.Text"/>
          <link id="TCustomTaskDialog.ExpandedText"/>
          <link id="TCustomTaskDialog.FooterText"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.VerificationText">
        <short>
          Optional caption text for the check box displayed at the bottom of the Task dialog.
        </short>
        <descr/>
        <seealso>
          <link id="TCustomTaskDialog.Flags"/>
          <link id="TTaskDialogFlags"/>
          <link id="TTaskDialogFlag"/>
        </seealso>
      </element>

      <element name="TCustomTaskDialog.OnButtonClicked">
        <short>
          Event handler signalled for the button clicked when the Task dialog was executed.
        </short>
        <descr>
          <p>
            OnButtonClicked is signalled after a button is clicked on the Task dialog.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TTaskDialog">
        <short>Creates a configurable, modal task dialog at run-time.</short>
        <descr>
          <p>
            A non-visual component which creates modal dialogs at run-time, with rich UI elements. Like the Windows TaskDialog API. For example:
          </p>
          <p>
            <b>Using TTaskDialog at Run-time.</b>
          </p>
<code>
procedure TForm1.Button1Click(Sender: TObject);
  var ATaskDialog: TTaskDialog; // requires Dialogs in uses clause
begin
  ATaskDialog := TTaskDialog.Create(Self);
  with ATaskDialog do
  begin
     Caption := 'Let''s do this...';
     MainIcon := tdiShield;
     Title := 'Task Title';

    Text := 'This tells the user the purpose for the dialog. ' +
      'Please read and accept the ' +
      '&lt;a href="https://www.acme.org/tos.html"&gt;Terms of Service&lt;/a&gt;. '+#10+#10+
      'Some users prefer a little conversation before they will agree. ' +
      'Along with a progress bar. Please tell us your level of interest.';

    RadioButtons.Clear;
    RadioButtons.Add.Caption := 'Low';
    RadioButtons.Add.Caption := 'Medium';
    RadioButtons.Add.Caption := 'High';

    CommonButtons := [tcbOk,tcbCancel,tcbRetry];

    ExpandedText := 'The Terms of Service grants a waiver of responsibility to ' +
      'Acme Corporation LLC (the Corporation) for any insane acts a Coyote ' +
      'might perform using products or services provided by the Corporation. '+#10+#10+
      'There is no legal venue where the Corporation is responsible. ' +
      'Especially Albuquerque, NM USA. ' +#10+#10+
      'Buyer beware. All rights reserved. Shipping fees and taxes may apply.';

    VerificationText := 'I agree to everything.';

    FooterIcon := tdiWarning;
    FooterText := 'This is your &lt;a href="#terminus"&gt;final&lt;/a&gt; warning.';

    Flags := [tfEnableHyperlinks, tfAllowDialogCancellation, tfExpandFooterArea, tfExpandedByDefault, tfVerificationFlagChecked, tfShowMarqueeProgressBar];

    if Execute then ; // do something with the ModalResult
    Free;
  end;
end;
</code>
        </descr>
      </element>

      <element name="TTaskDialog.Buttons" link="#lcl.dialogs.TCustomTaskDialog.Buttons"/>
      <element name="TTaskDialog.Caption" link="#lcl.dialogs.TCustomTaskDialog.Caption"/>
      <element name="TTaskDialog.CommonButtons" link="#lcl.dialogs.TCustomTaskDialog.CommonButtons"/>
      <element name="TTaskDialog.DefaultButton" link="#lcl.dialogs.TCustomTaskDialog.DefaultButton"/>
      <element name="TTaskDialog.ExpandButtonCaption" link="#lcl.dialogs.TCustomTaskDialog.ExpandButtonCaption"/>
      <element name="TTaskDialog.ExpandedText" link="#lcl.dialogs.TCustomTaskDialog.ExpandedText"/>
      <element name="TTaskDialog.Flags" link="#lcl.dialogs.TCustomTaskDialog.Flags"/>
      <element name="TTaskDialog.FooterIcon" link="#lcl.dialogs.TCustomTaskDialog.FooterIcon"/>
      <element name="TTaskDialog.FooterText" link="#lcl.dialogs.TCustomTaskDialog.FooterText"/>
      <element name="TTaskDialog.MainIcon" link="#lcl.dialogs.TCustomTaskDialog.MainIcon"/>
      <element name="TTaskDialog.RadioButtons" link="#lcl.dialogs.TCustomTaskDialog.RadioButtons"/>
      <element name="TTaskDialog.Text" link="#lcl.dialogs.TCustomTaskDialog.Text"/>
      <element name="TTaskDialog.Title" link="#lcl.dialogs.TCustomTaskDialog.Title"/>
      <element name="TTaskDialog.VerificationText" link="#lcl.dialogs.TCustomTaskDialog.VerificationText"/>
      <element name="TTaskDialog.OnButtonClicked" link="#lcl.dialogs.TCustomTaskDialog.OnButtonClicked"/>

      <element name="MinimumDialogButtonWidth">
        <short>Minimum width for a button on a dialog.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="MinimumDialogButtonHeight">
        <short>Minimum height for a button on a dialog.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="MessageDlg">
        <short>Shows a message to the user and gets the response.</short>
        <descr>
          <p>
            There are four versions of this function.
          </p>
          <p>
            The first version displays a dialog with the standard caption. The second, third and fourth versions enable you to set the caption.
          </p>
          <p>
            The third version allows for a Default button;.
          </p>
          <p>
            The fourth version contains a help keyword instead of using context-based help.
          </p>
          <p>
            If the first Caption argument is missing, no caption is shown on the box.
          </p>
          <p>
            This is the most complete and elaborate of the message dialogs, and allows the programmer considerable control over the appearance of the dialog box.
          </p>
          <p>
            The arguments defining the kind of box and its icon are types rather than integer constants, and the buttons can be specified as a set in square brackets e.g. [mbRetry, mbIgnore, mbAbort, mbCancel].
          </p>
          <p>
            The HelpCtx argument allows the use of Context Help
          </p>
          <p>
            The return value from the Function is the identity of the button pressed, expressed as an integer (see the constant definitions in <link id="Controls.TControl">TControl</link> , [mrNone..mrAll]).
          </p>
          <p>
            If the user clicks the [X]-bordericon, the return value will be mrCancel.
          </p>
          <p>
            If the user presses the escape key, the result depends on the widgetset:
          </p>
          <ul>
            <li>If the widgetset has implemented a native dialog, the result will be mrCancel.</li>
            <li>Otherwise the result will be mrCancel, mrNo or mrOk (in that order) when mbCancel, mbNo or mbOk is present. The dialog will not close when the Escape key is pressed if none of these buttons are present.</li>
          </ul>
        </descr>
        <seealso/>
        <example file="dialogs/trymessagedlg.pas"/>
      </element>
      <element name="MessageDlg.Result">
        <short>
          The result of this function is either the button the user pressed to close the dialog, or mrCancel.
        </short>
        <descr>
          <p>
            The result of this function is the button the user pressed to close the dialog expressed as an integer.
          </p>
          <p>
            If the user clicks the [X]-bordericon, the return value will be mrCancel.
          </p>
          <p>
            If the user presses the escape key, the result depends on the widgetset:
          </p>
          <ul>
            <li>If the widgetset has implemented a native dialog, the result will be mrCancel.</li>
            <li>
              Otherwise the result will be mrCancel, mrNo or mrOk (in that order) if mbCancel, mbNo or mbOk is present. The dialog will not close when the Escape key is pressed if none of these buttons are present.
            </li>
          </ul>
        </descr>
      </element>
      <element name="MessageDlg.aMsg">
        <short>The message to be shown.</short>
        <descr>The message shown to the user.</descr>
      </element>
      <element name="MessageDlg.DlgType">
        <short>The type of dialog to be shown.</short>
        <descr>
          <p>
            The DlgType parameter indicates the type of dialog to show. You can choose from mtWarning, mtError, mtInformation, mtConfirmation or mtCustom.
          </p>
        </descr>
      </element>
      <element name="MessageDlg.Buttons">
        <short>Determines the buttons shown on the message dialog.</short>
        <descr>
          <p>
            Buttons indicate which set of button captions have to be shown on the dialog. You can choose from predefined sets:
          </p>
          <ul>
            <li>mbAbortRetryIgnore</li>
            <li>mbOKCancel</li>
            <li>mbYesNo</li>
            <li>mbYesNoCancel</li>
          </ul>
          <p>
            Or,  you can make your own set.
          </p>
        </descr>
      </element>
      <element name="MessageDlg.HelpCtx">
        <short>HelpCtx is used to specify which topic from the help should be shown.</short>
        <descr>HelpCtx is used to specify which topic from the help should be shown.</descr>
      </element>
      <element name="MessageDlg.aCaption">
        <short>Used to set the caption of the message dialog.</short>
        <descr>Sets the caption of the message dialog shown by this function.</descr>
      </element>
      <element name="MessageDlg.DefaultButton">
        <short/>
      </element>
      <element name="MessageDlg.HelpKeyword">
        <short/>
      </element>

      <element name="MessageDlgPos">
        <short>An extended MessageDlg function.</short>
        <descr>
          <p>
            This function performs the same function as the <link id="MessageDlg">MessageDlg</link> function. It has been extended with parameters to place the dialog on a certain position on the screen instead of in the center of the screen.
          </p>
          <p>
            The MessageDlgPos function does not enable you to choose the caption of the dialog.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="MessageDlgPos.Result">
        <short>
          The result of this function is either the button the user pressed to close the dialog, or mrCancel.
        </short>
        <descr>
          <p>
            The result of this function is the button the user pressed to close the dialog expressed as an integer.
          </p>
          <p>
            If the user clicks the [X]-bordericon, the return value will be mrCancel.
          </p>
          <p>
            If the user presses the escape key, the result depends on the widgetset:
          </p>
          <ul>
            <li>If the widgetset has implemented a native dialog, the result will be mrCancel.</li>
            <li>Otherwise the result will be mrCancel, mrNo or mrOk (in that order) if mbCancel, mbNo or mbOk is present. The dialog will not close when the Escape key is pressed if none of these buttons are present.</li>
          </ul>
        </descr>
      </element>
      <element name="MessageDlgPos.aMsg">
        <short>The message to be shown.</short>
        <descr>The message shown to the user.</descr>
      </element>
      <element name="MessageDlgPos.DlgType">
        <short>The type of dialog to be shown.</short>
        <descr>
          <p>
            The DlgType parameter indicates the type of dialog to show. You can choose from mtWarning, mtError, mtInformation, mtConfirmation or mtCustom.
          </p>
        </descr>
      </element>
      <element name="MessageDlgPos.Buttons">
        <short>Determines the buttons shown on the message dialog.</short>
        <descr>
          <p>
            Buttons indicate which buttons have to be shown on the dialog. You can choose from predefined sets:
          </p>
          <ul>
            <li>mbAbortRetryIgnore</li>
            <li>mbOKCancel</li>
            <li>mbYesNo</li>
            <li>mbYesNoCancel</li>
          </ul>
          <p>
            Or, you can make your own set.
          </p>
        </descr>
      </element>
      <element name="MessageDlgPos.HelpCtx">
        <short>HelpCtx is used to specify which topic from the help should be shown.</short>
        <descr>HelpCtx is used to specify which topic from the help should be shown.</descr>
      </element>
      <element name="MessageDlgPos.X">
        <short>X specifies the position of the left side of the dialog.</short>
        <descr>X specifies the position of the left side of the dialog.</descr>
      </element>
      <element name="MessageDlgPos.Y">
        <short>Y specifies the position of the top side of the dialog.</short>
        <descr>Y specifies the position of the top side of the dialog</descr>
      </element>

      <element name="MessageDlgPosHelp">
        <short>An extended MessageDlgPos function.</short>
        <descr>
          <p>
            This function enables you to specify a Helpfile which has to be shown when the user presses F1.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="MessageDlgPosHelp.Result">
        <short>
          The result of this function is either the button the user pressed to close the dialog, or mrCancel.
        </short>
        <descr>
          <p>
            The result of this function is the button the user pressed to close the dialog expressed as an integer.
          </p>
          <p>
            If the user clicks the [X]-bordericon, the return value will be mrCancel.
          </p>
          <p>
            If the user presses the escape key, the result depends on the widgetset:
          </p>
          <ul>
            <li>If the widgetset has implemented a native dialog, the result will be mrCancel.</li>
            <li>Otherwise the result will be mrCancel, mrNo or mrOk (in that order) if mbCancel, mbNo or mbOk is present. The dialog will not close when the Escape key is pressed if none of these buttons are present.</li>
          </ul>
        </descr>
      </element>
      <element name="MessageDlgPosHelp.aMsg">
        <short>The message to be shown.</short>
        <descr>The message shown to the user.</descr>
      </element>
      <element name="MessageDlgPosHelp.DlgType">
        <short>The type of dialog to be shown.</short>
        <descr>
          <p>
            The DlgType parameter indicates the type of dialog to show. You can choose from mtWarning, mtError, mtInformation, mtConfirmation or mtCustom.
          </p>
        </descr>
      </element>
      <element name="MessageDlgPosHelp.Buttons">
        <short>Determines the buttons shown on the message dialog.</short>
        <descr>
          <p>
            Buttons indicate which buttons have to be shown on the dialog. You can choose from predefined sets:
          </p>
          <ul>
            <li>mbAbortRetryIgnore</li>
            <li>mbOKCancel</li>
            <li>mbYesNo</li>
            <li>mbYesNoCancel</li>
          </ul>
          <p>
            Or, you can make your own set.
          </p>
        </descr>
      </element>
      <element name="MessageDlgPosHelp.HelpCtx">
        <short>HelpCtx is used to specify which topic from the help should be shown.</short>
        <descr>HelpCtx is used to specify which topic from the help should be shown.</descr>
      </element>
      <element name="MessageDlgPosHelp.X">
        <short>X specifies the position of the left side of the dialog.</short>
        <descr>X specifies the position of the left side of the dialog</descr>
      </element>
      <element name="MessageDlgPosHelp.Y">
        <short>Y specifies the position of the top side of the dialog.</short>
        <descr>Y specifies the position of the top side of the dialog</descr>
      </element>
      <element name="MessageDlgPosHelp.HelpFileName">
        <short>The Helpfile that has to be shown when the user presses F1</short>
        <descr>
          The name of the helpfile to be shown when the user presses F1 in the dialog.
        </descr>
      </element>

      <element name="CreateMessageDialog">
        <short>
          Creates a dialog form type with the specified caption, message, and buttons.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="CreateMessageDialog.Result">
        <short>TForm instance with the content representing the specified parameters.</short>
      </element>
      <element name="CreateMessageDialog.AMsg">
        <short>Message text for the dialog.</short>
      </element>
      <element name="CreateMessageDialog.ACaption">
        <short>Caption displayed as the title for the dialog.</short>
      </element>
      <element name="CreateMessageDialog.DlgType">
        <short>Identifies the dialog type and the image for the dialog.</short>
      </element>
      <element name="CreateMessageDialog.Buttons">
        <short>Set of TMsgDlgBtn buttons displayed on the dialog.</short>
      </element>

      <element name="DefaultPromptDialog">
        <short>Widgetset-independent implementation of a prompt dialog.</short>
        <descr>
          <p>
            DefaultPromptDialog is a LongInt function which implements a widgetset-independent prompt dialog. It is uses a  LCL TForm instance instead of relying on dialogs provided by the operating system. The content displayed on the dialog form is specified using the arguments passed to the routine, including:
          </p>
          <dl>
            <dt>
              DialogCaption
            </dt>
            <dd>
              The caption for the dialog, displayed in the title bar for the dialog form. If Caption is an empty string (''), GetDialogCaption is called to get the default caption for the value in DialogType. The caption can be set to the Application title if DialogType is not one of the idDialogBase values.
            </dd>
            <dt>
              DialogMessage
            </dt>
            <dd>
              The text displayed inside the dialog as a prompt or message.
            </dd>
            <dt>
              DialogType
            </dt>
            <dd>
              A LongInt value which indicates the icon and default caption displayed for the dialog. It contains one of the constant values defined in the LCLType unit like:  idDialogWarning, idDialogError, idDialogInfo, idDialogConfirm, or idDialogShield.
            </dd>
            <dt>
              Buttons
            </dt>
            <dd>
              Contains a pointer to an array of LongInt values which define the buttons displayed for the dialog. The values correspond to idButtonBase values defined in the LCLType unit like: idButtonOk, idButtonCancel, idButtonHelp, idButtonYes, idButtonNo, idButtonClose, idButtonAbort, idButtonRetry, idButtonIgnore, idButtonAll, idButtonYesToAll, or idButtonNoToAll. Buttons using the identifiers idButtonOpen, idButtonSave, and  idButtonShield are not implemented in the current LCL version. The values for each of the buttons indicates the default icon and text for the button, as well as its modal result value.
            </dd>
            <dt>
              ButtonCount
            </dt>
            <dd>
              Contains the number of elements for the Buttons array.
            </dd>
            <dt>
              DefaultIndex
            </dt>
            <dd>
              Contains the ordinal position for the default button on the dialog. This is the button clicked when the Enter or the Space key is pressed during modal display of the dialog.
            </dd>
            <dt>
              EscapeIndex
            </dt>
            <dd>
              Contains the ordinal position for the button clicked when the Escape key is pressed during modal display of the dialog.
            </dd>
            <dt>
              UseDefaultPos
            </dt>
            <dd>
              Indicates if the dialog is displayed using the default position for the dialog form. When set to True, the value poDesigned is used in the Position property for the dialog form. When set to False, the values in the X and Y parameters are used in the Left and Top properties for the dialog form.
            </dd>
          </dl>
          <p>
            The return value contains the LongInt value returned for the button clicked on the dialog. It corresponds to the values passed in the Buttons argument, but may be changed to the value in EscapeIndex if the Escape key was pressed during dialog display.
          </p>
          <p>
            The size and layout for elements on the dialog are calculated when the dialog form is created. The maximum width and height for the dialog is the largest space needed for the icon, message text and buttons on the dialog. For small-format devices (width is 300 pixel or less), a width of 200 pixels is used on the dialog form.
          </p>
          <p>
            <b>Example</b>:
          </p>
<code>
uses
  LCLType;

procedure TForm1.Button1Click(Sender: TObject);
var
    btns: array[0..2] of LongInt = (idButtonOK, idButtonCancel, idButtonHelp);
    res: LongInt;
begin
    res := DefaultPromptDialog('This is the caption', 'This is the message of this dialog', idDialogInfo, @btns, 3, 0, 1, true, 0, 0);
    Caption := 'Dialog result is ' + IntToStr(res);
end;
</code>
        </descr>
        <seealso>
          <link id="#lcl.forms.TCustomForm.ShowModal"/>
          <link id="#lcl.forms.TCustomForm.ModalResult"/>
          <link id="#lcl.interfacebase.PromptDialogFunction">PromptDialogFunction</link>
        </seealso>
      </element>
      <element name="DefaultPromptDialog.Result">
        <short>
          LongInt value for the button clicked on the prompt dialog.
        </short>
      </element>
      <element name="DefaultPromptDialog.DialogCaption">
        <short>Caption displayed on the dialog form.</short>
      </element>
      <element name="DefaultPromptDialog.DialogMessage">
        <short>Text displayed as a prompt or message on the dialog form.</short>
      </element>
      <element name="DefaultPromptDialog.DialogType">
        <short>Identifies the icon and default caption for the dialog.</short>
      </element>
      <element name="DefaultPromptDialog.Buttons">
        <short>Contains the button identifiers displayed on the dialog form.</short>
      </element>
      <element name="DefaultPromptDialog.ButtonCount">
        <short>Number of values in the Buttons argument.</short>
      </element>
      <element name="DefaultPromptDialog.DefaultIndex">
        <short>Position for the default button on the dialog form.</short>
      </element>
      <element name="DefaultPromptDialog.EscapeResult">
        <short>Value returned when the Escape key is pressed for the dialog.</short>
      </element>
      <element name="DefaultPromptDialog.UseDefaultPos">
        <short>
          True to use the default position for the dialog form, False to use the values in X and Y as the Top and Left coordinates.
        </short>
      </element>
      <element name="DefaultPromptDialog.X">
        <short>Horizontal coordinate where the dialog form is displayed.</short>
      </element>
      <element name="DefaultPromptDialog.Y">
        <short>Vertical coordinate where the dialog form is displayed.</short>
      </element>

      <element name="QuestionDlg">
        <short>Show a question to the user and get a response.</short>
        <descr>
          <p>
            QuestionDlg has the same functionality as MessageDlg except for the parameter Buttons which is of a different type. You can define your own captions and return values of this function.
          </p>
          <p>
            Buttons is a list of TModalResult (defined as constants [mrNone..MrYesToAll] in <link id="Controls"/>) and strings. For each TModalResult a button is created. To set a custom caption, add a string after a button. You can use the special string parameters 'isdefault' and 'iscancel' to setup the default and cancel buttons.
          </p>
          <p>
            The default TModalResults defined in controls.pp (mrNone..mrLast) don't need a caption. The default captions will be used.
          </p>
          <p>
            You can mark one default button using the 'IsDefault' option. When the user presses 'Return' this button is triggered.
          </p>
          <p>
            Some widgetsets provide an Escape key and/or a close button. This results in mrCancel even if it is not in the given button list. Use the 'IsCancel' option to redirect it to a button of your choice. You can combine 'IsDefault' and 'IsCancel'.
          </p>
<code>
case QuestionDlg('COPYING',
    'Abort?',
    mtConfirmation,
    [mrNo, '&amp;No','IsDefault',
    mrYes,'&amp;Yes'],0)
of
   mrYes : ShowMessage('You clicked Yes');
   mrNo : ShowMessage('You clicked No');
else
  // mrCancel
  ShowMessage('You cancelled the dialog.');
end;
</code>
        </descr>
        <seealso>
          <link id="MessageDlg"/>
          <link id="InputQuery"/>
        </seealso>
      </element>
      <element name="QuestionDlg.Result">
        <short>
          The result of this function is the button the user pressed to close the dialog.
        </short>
        <descr>
          The result of this function is the button the user pressed to close the dialog.
        </descr>
      </element>
      <element name="QuestionDlg.aCaption">
        <short>Used to set the caption of the question dialog.</short>
        <descr>Set the caption of the question dialog shown by this function.</descr>
      </element>
      <element name="QuestionDlg.aMsg">
        <short>The question to be shown.</short>
        <descr>The question the user has to answer.</descr>
      </element>
      <element name="QuestionDlg.DlgType">
        <short>The type of dialog to be shown in fact which icon will be shown.</short>
      </element>
      <element name="QuestionDlg.Buttons">
        <short>
          An array of return values and caption for the buttons on the question dialog.
        </short>
        <descr>
          <p>
            Buttons is defined as a array of const. This means you can define any number of buttons to be shown. If your array consists of only predefined return values like mrOK and mrCancel, the standard OK and Cancel buttons will be shown.
          </p>
          <p>
            The strength of this function is however that you can fill the array like:
          </p>
          <code>[400, 'Yes!!!', 401, 'Are you mad?', 402, 'My mistake']</code>
          <p>
            This will create a dialog with three buttons; the captions for the buttons will be the strings values given in the array.
          </p>
          <p>
            The return value of the function will be 400, 401 or 402, depending on whether the user clicked the 'Yes!!!', the 'Are you mad?' or the 'My mistake' button.
          </p>
        </descr>
      </element>
      <element name="QuestionDlg.HelpCtx">
        <short>HelpCtx is used to specify which topic from the help should be shown.</short>
        <descr>HelpCtx is used to specify which topic from the help should be shown.</descr>
      </element>
      <element name="QuestionDlg.HelpKeyword">
        <short/>
      </element>

      <element name="DefaultQuestionDialog">
        <short>Implements a widgetset-independent dialog.</short>
        <descr>
          <p>
            Shows a dialog with aCaption as Title, aMsg as Text, DlgType as Icon,
              HelpCtx as Help context and Buttons to define the shown buttons and their
              TModalResult.
          </p>
          <p>
            Buttons is a list of TModalResult and strings. For each number a button is
              created. To set a custom caption, add a string after a button.
          </p>
          <p>
            The default TModalResults defined in controls.pp (mrNone..mrLast) does not need
              a caption. The default captions will be used.
          </p>
          <p>
            Examples for Buttons:
          </p>
          <code>[mrOk,mrCancel,'Cancel now',mrIgnore,300,'Do it','IsDefault']</code>
          <p>
            This will result in 4 buttons:
          </p>
          <ul>
            <li>'Ok' returning mrOk</li>
            <li>'Cancel now' returning mrCancel</li>
            <li>'Ignore' returning mrIgnore</li>
            <li>'Do it' returning 300. This will be the default button (focused)</li>
          </ul>
        </descr>
        <seealso/>
      </element>
      <element name="DefaultQuestionDialog.Result">
        <short/>
      </element>
      <element name="DefaultQuestionDialog.ACaption">
        <short/>
      </element>
      <element name="DefaultQuestionDialog.AMsg">
        <short/>
      </element>
      <element name="DefaultQuestionDialog.DlgType">
        <short/>
      </element>
      <element name="DefaultQuestionDialog.Buttons">
        <short/>
      </element>
      <element name="DefaultQuestionDialog.HelpCtx">
        <short/>
      </element>

      <element name="ShowMessage">
        <short>Displays the specified message text.</short>
        <descr>
          <p>
            The simplest message dialog: takes a simple string as argument, displays it in a box, and waits for a mouse-click or enter-key event before returning to the calling routine or program.
          </p>
          <p>
            This is a modal procedure call; the box is displayed, receives focus, and does not relinquish focus until the OK box is clicked or otherwise selected.
          </p>
        </descr>
        <seealso>
          <link id="#lcl.forms.TApplication.MessageBox">TApplication.MessageBox</link>
        </seealso>
        <example file="dialogs/tryshowmessage.pas"/>
      </element>
      <element name="ShowMessage.aMsg">
        <short>A string constant containing the message to be shown.</short>
        <descr>A string constant containing the message to be shown.</descr>
      </element>

      <element name="ShowMessageFmt">
        <short>Shows a message assembled from a format string and an array of arguments.</short>
        <descr>
          <p>
            This procedure is an extension to the <link id="ShowMessage">ShowMessage</link> procedure. The parameters it takes are the same as the <link id="#rtl.sysutils.Format">Format</link> function.
          </p>
        </descr>
        <seealso>
          <link id="ShowMessage"/>
        </seealso>
      </element>
      <element name="ShowMessageFmt.aMsg">
        <short>The format string.</short>
      </element>
      <element name="ShowMessageFmt.Params">
        <short>The parameters to be inserted in the message.</short>
      </element>

      <element name="ShowMessagePos">
        <short>Shows a message box at a given screen position.</short>
        <descr>Shows a message box at a given screen position.</descr>
        <seealso>
          <link id="ShowMessage"/>
        </seealso>
      </element>
      <element name="ShowMessagePos.aMsg">
        <short>A string constant which is the message to be shown.</short>
      </element>
      <element name="ShowMessagePos.X">
        <short>The horizontal position of the messagebox.</short>
      </element>
      <element name="ShowMessagePos.Y">
        <short>The vertical position of the messagebox.</short>
      </element>

      <element name="DefaultMessageBox">
        <short>Widgetset-independent implementation.</short>
        <descr/>
        <seealso>
          <link id="MessageDlg">MessageDlg</link>
        </seealso>
      </element>
      <element name="DefaultMessageBox.Result">
        <short/>
      </element>
      <element name="DefaultMessageBox.Text">
        <short/>
      </element>
      <element name="DefaultMessageBox.Caption">
        <short/>
      </element>
      <element name="DefaultMessageBox.Flags">
        <short/>
      </element>

      <element name="InputBox">
        <short>
          Displays a box with specified title and prompt, and accepts user input in a text box.
        </short>
        <descr>
          <p>
            A default string can optionally be displayed in the text box. The user-entered or default string is returned as the function result.
          </p>
          <p>
            If the user selects the OK button, the text in the text box is returned. If the user selects the Cancel button, the default string is returned.
          </p>
        </descr>
        <seealso>
          <link id="ShowMessage"/>
        </seealso>
        <example file="dialogs/inputbox.pas"/>
      </element>
      <element name="InputBox.Result">
        <short>
          The result of this function is the string the user entered in the editbox or the default string.
        </short>
      </element>
      <element name="InputBox.ACaption">
        <short>The caption for the dialogbox.</short>
      </element>
      <element name="InputBox.APrompt">
        <short>The text asking the user for his input.</short>
      </element>
      <element name="InputBox.ADefault">
        <short>Default value for dialog box.</short>
        <descr>The value of the editbox in the dialog will have this value.</descr>
      </element>

      <element name="PasswordBox">
        <short>Displays a Password prompt with input masking.</short>
        <descr>
          <p>
            PasswordBox is a specialized form of InputQuery. The editbox on the dialog box will mask the input. The only parameters are aCaption and aPrompt.
          </p>
          <p>
            Behaves very similarly to the InputQuery function with MaskInput set to TRUE; the difference is that the password that was typed in is returned as the result of the function (like InputBox).
          </p>
        </descr>
        <seealso>
          <link id="InputQuery"/>
          <link id="InputBox"/>
        </seealso>
      </element>
      <element name="PasswordBox.Result">
        <short>The string the user entered.</short>
      </element>
      <element name="PasswordBox.ACaption">
        <short>The caption for the dialog.</short>
      </element>
      <element name="PasswordBox.APrompt">
        <short>A prompt to ask for the users input.</short>
      </element>

      <element name="TCustomCopyToClipboardDialog">
        <short>Base class for a dialog form used during copy to clipboard operations.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TCustomCopyToClipboardDialog.DoCreate">
        <short>Performs actions needed when a new instance of the form is created.</short>
        <descr>
          <p>
            <var>DoCreate</var> is an overridden method in <var>TCustomCopyToClipboardDialog</var>. It calls the inherited method on entry to signal <var>OnCreate</var> or other create handler(s) (when assigned). DoCreate calls the <var>RegisterDialogForCopyToClipboard</var> routine to enable key preview and set the <var>OnKeyDown</var> handler for the form instance.
          </p>
        </descr>
        <seealso>
          <link id="RegisterDialogForCopyToClipboard"/>
          <link id="#lcl.forms.TCustomForm.OnCreate">TCustomForm.OnCreate</link>
          <link id="#lcl.forms.TCustomForm.DoCreate">TCustomForm.DoCreate</link>
        </seealso>
      </element>

      <element name="TCustomCopyToClipboardDialog.GetMessageText">
        <short>
          Specifies the method used to get the text for the message displayed on the dialog form.
        </short>
        <descr>
          <p>
            <var>GetMessageText</var> is an abstract virtual method in TCustomCopyToClipboardDialog. It must be implemented in a descendent class to return the correct value for the dialog form implementation.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="TCustomCopyToClipboardDialog.GetMessageText.Result">
        <short>Text for the message displayed on the dialog form.</short>
      </element>

      <element name="RegisterDialogForCopyToClipboard">
        <short>
          Enables key preview and adds the OnKeyDown handler for the specified dialog.
        </short>
        <descr/>
        <seealso>
          <link id="TCustomCopyToClipboardDialog.DoCreate"/>
        </seealso>
      </element>
      <element name="RegisterDialogForCopyToClipboard.ADlg">
        <short>Dialog form instance updated in the routine.</short>
      </element>

      <element name="DialogCopyToClipboard">
        <short>Copies the content from the specified dialog to the clipboard.</short>
        <descr>
          <p>
            Content from the dialog is stored as text in the clipboard. No actions are performed in the routine if Key and Shift contain values for keys other than Ctrl+C or Ctrl+Ins. The clipboard will contain lines with the Caption and Message text for the dialog, as well as the captions (sans accelerator keys) for  controls displayed on the dialog.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="DialogCopyToClipboard.Self">
        <short>Dialog form instance examined in the routine.</short>
      </element>
      <element name="DialogCopyToClipboard.Sender">
        <short>Not used in the routine.</short>
      </element>
      <element name="DialogCopyToClipboard.Key">
        <short>Virtual key code which initiated the operation.</short>
      </element>
      <element name="DialogCopyToClipboard.Shift">
        <short>Shift, Ctrl, or Alt modifier for the key code.</short>
      </element>

      <element name="cInputQueryEditSizePixels">
        <short>Input Query Edit size in pixels.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="cInputQueryEditSizePercents">
        <short>Input Query Edit size as a percentage of the monitor width.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="cInputQuerySpacingSize">
        <short>Spacing between the controls on an Input Query dialog.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TSelectDirOpt">
        <short>List of options available when selecting a directory.</short>
      </element>
      <element name="TSelectDirOpt.sdAllowCreate">
        <short>Allows a new directory to be created in a select directory dialog.</short>
      </element>
      <element name="TSelectDirOpt.sdPerformCreate">
        <short>
          Indicates a directory that does not already exist should be created following execution of the dialog.
        </short>
      </element>
      <element name="TSelectDirOpt.sdPrompt">
        <short>
          Indicates the dialog should prompt the user for confirmation of the selected action.
        </short>
      </element>

      <element name="TSelectDirOpts">
        <short>Set type used to store directory selection options.</short>
        <descr>
          <p>
            <var>TSelectDirOpts</var> is a set type used to store zero or more values from the TSelectDirOpt enumeration. Values added to the set indicate the options enabled for a directory selection dialog. A TSelectDirOpts argument is passed to the <var>SelectDirectory</var> routine.
          </p>
        </descr>
        <seealso>
          <link id="TSelectDirOpt"/>
          <link id="SelectDirectory"/>
        </seealso>
      </element>

      <element name="TInputCloseQueryEvent">
        <short>
          Specifies an event handler signalled when an InputQuery dialog is about to close.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TInputCloseQueryEvent.Sender">
        <short>Object for the event notification.</short>
      </element>
      <element name="TInputCloseQueryEvent.AValues">
        <short>Array of values which can be displayed in the event handler.</short>
      </element>
      <element name="TInputCloseQueryEvent.ACanClose">
        <short>True if the InputQuery can be closed, False to continue execution of the dialog.</short>
      </element>

      <element name="SelectDirectory">
        <short>A function that allows a user to select a directory.</short>
        <descr>
          <p>
            This function will show a dialog which allows the user to select the required directory when the directory structure is displayed as a tree.
          </p>
          <p>
            Under Windows the caption from the resulting dialog cannot be set, but the label above the directory tree will have this value.
          </p>
          <p>
            There are two version of this function, the second one having the ability to indicate whether hidden folders should be shown as well.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="SelectDirectory.Result">
        <short>A boolean indicating if the user pressed OK.</short>
        <descr>A boolean indicating if the user selected a directory and pressed OK.</descr>
      </element>
      <element name="SelectDirectory.Caption">
        <short>A constant which sets the caption of the shown dialog.</short>
      </element>
      <element name="SelectDirectory.InitialDirectory">
        <short>The directory the dialog should start in.</short>
        <descr>
          <p>
            The directory the dialog should start in. If a valid directory is given, the selected directory in the tree will be set to this directory.
          </p>
        </descr>
      </element>
      <element name="SelectDirectory.Directory">
        <short>A variable which on exit contains the selected directory.</short>
      </element>
      <element name="SelectDirectory.ShowHidden">
        <short>A boolean constant indicating whether hidden folders should be shown too.</short>
      </element>
      <element name="SelectDirectory.HelpCtx">
        <short>Help context for the dialog.</short>
      </element>
      <element name="SelectDirectory.Options">
        <short>Set of options enabled for the dialog.</short>
      </element>

      <element name="InputQuery">
        <short>Use InputQuery to show a dialog box to get input from the user.</short>
        <descr>
          <p>
            Two versions of this function which displays a prompt and expects user input of textual data.
          </p>
          <p>
            The first includes a <var>MaskInput</var> boolean argument which determines whether the user input is masked out by asterisks in the text-input box (like during entry of a password). The second variant omits this argument. Omitting the MaskInput argument is equivalent to setting it to <b>False</b>.
          </p>
          <p>
            <var>Value</var> contains the initial text displayed in the edit control for the dialog. The text entered by the user is also returned in the variable argument Value.
          </p>
          <p>
            The function result is a boolean which returns <b>True</b> if the OK button was pressed, or <var>False</var> if the box was closed by any other mechanism (such as clicking the 'Close' icon on the top title bar).
          </p>
          <p>
            Another overloaded variant allows Arrays with String values to be passed in the APrompts and AValues arguments. They are used to create labels and edit controls on the dialog form, where the user can supply multiple values. The number of labels and edit controls on the dialog is determined by the length of the AValues array. An exception is raised when the APrompts and AValues arrays do not have the same length.
          </p>
          <p>
            An event handler routine can be provided in the ACloseEvent argument to validate the input values, and determine if the dialog can be closed. It is signalled when the input dialog is closed by clicking the Cancel button or the Close icon on the dialog form. The handler returns an Array of String values input using the dialog.
          </p>
        </descr>
        <seealso>
          <link id="InputBox"/>
          <link id="PasswordBox"/>
        </seealso>
        <example file="dialogs/inputquery.pas"/>
      </element>
      <element name="InputQuery.Result">
        <short>
          Returns True of OK button was pressed, False if Cancel was pressed or abnormal exit.
        </short>
        <descr>
          Result is <b>True</b> if the user pressed OK or hit RETURN in the dialog box. If the user pressed Cancel or the dialog was closed without pressing a button the result will be <b>False</b>.
        </descr>
      </element>
      <element name="InputQuery.ACaption">
        <short>The caption for the dialogbox.</short>
      </element>
      <element name="InputQuery.APrompt">
        <short>The text asking the user for his input.</short>
      </element>
      <element name="InputQuery.MaskInput">
        <short>Determines if the dialog shows *s or the actual input.</short>
        <descr>
          Set MaskInput to true if you want to hide the input and display asterisks.
        </descr>
      </element>
      <element name="InputQuery.Value">
        <short>The value the user entered.</short>
        <descr>
          <p>
            When the DialogBox is shown the text in the edit control will be Value. This string can be altered or amended by the user. When ENTER is pressed or OK clicked, Value will contain the edited text from the dialog.
          </p>
        </descr>
      </element>
      <element name="InputQuery.APrompts">
        <short>Array with strings values used as labels on the input dialog.</short>
      </element>
      <element name="InputQuery.AValues">
        <short>Arrays with string values used in edit controls for the associated labels.</short>
      </element>

      <element name="DefaultInputDialog">
        <short>Widgetset-independent implementation of an input dialog.</short>
        <descr/>
        <seealso>
          <link id="#lcl.interfacebase.InputDialogFunction">InputDialogFunction</link>
        </seealso>
      </element>
      <element name="DefaultInputDialog.Result">
        <short>True if the Ok button was clicked during execution of the dialog.</short>
      </element>
      <element name="DefaultInputDialog.InputCaption">
        <short>Caption displayed as the title for the dialog.</short>
      </element>
      <element name="DefaultInputDialog.InputPrompt">
        <short>Label displayed on the dialog form.</short>
      </element>
      <element name="DefaultInputDialog.MaskInput">
        <short>True if the edit control displays '*' characters to mask the input value.</short>
      </element>
      <element name="DefaultInputDialog.Value">
        <short>
          Default value for the edit control on the dialog, and the value entered at run-time.
        </short>
      </element>

      <element name="InputCombo">
        <short>
          Creates and executes a combo-box dialog with the specified Caption, Prompt, and list of selectable values.
        </short>
        <descr>
          <p>
            <var>InputCombo</var> is an Integer function used to create and display an input dialog with the values specified in the arguments to the routine.
          </p>
          <p>
            The dialog form is constructed at run-time, and includes the controls needed to display the prompt (<var>TLabel</var>) and list of selectable items (<var>TComboBox</var>). It also includes a button panel (<var>TButtonPanel</var>) with <b>Ok</b> and <b>Cancel</b> buttons. The <var>Caption</var> for the dialog form is set to the <var>ACaption</var> argument.
          </p>
          <p>
            InputCombo calls the <var>ShowModal</var> method for the <var>TForm</var> instance to display the dialog and capture the modal result value. When the modal result is <var>mrOk</var> (the OK button was pressed), the return value contains the ordinal position for the item in AList that was selected in the combo-box control. The return value is <b>-1</b> when the Cancel button or the Close border decoration is clicked.
          </p>
          <p>
            Use <var>InputComboEx</var> to display a dialog form that allows custom text to be entered in its combo-box control. Use <var>InputQuery</var> to display a dialog form which allows entry of a text value using an edit mask.
          </p>
        </descr>
        <seealso>
          <link id="InputComboEx"/>
          <link id="InputQuery"/>
        </seealso>
      </element>
      <element name="InputCombo.Result">
        <short>
          Ordinal position for the value selected in AList, or -1 if an option was not selected.
        </short>
      </element>
      <element name="InputCombo.ACaption">
        <short>Caption or title for the dialog.</short>
      </element>
      <element name="InputCombo.APrompt">
        <short>Label displayed for the combo-box control on the dialog.</short>
      </element>
      <element name="InputCombo.AList">
        <short>List of values which can be displayed and selected using the combo-box.</short>
      </element>

      <element name="InputComboEx">
        <short>
          Displays an extended input combo-box dialog that allows entry of custom text values in its Items.
        </short>
        <descr>
          <p>
            <var>InputComboEx</var> is an overloaded <var>String</var> function used to create and display a dialog form that can select a value specified in the <var>AList</var> argument. The overloaded variants allow the AList argument to be specified as a <var>TStrings</var> instance or an array of <var>String</var> values.
          </p>
          <p>
            <var>ACaption</var> contains the caption displayed as the title for the dialog form.
          </p>
          <p>
            <var>APrompt</var> contains a string displayed as the label for the combo-box control.
          </p>
          <p>
            <var>AllowCustomText</var> is a <var>Boolean</var> argument which indicates if text values can be added to the combo-box control at run-time. When set to <b>True</b>, text can be added to the TComboBox control. This is enabled by setting its <var>Style</var> property to <var>csDropDown</var> instead of <var>csDropDownList</var> (the default). The default value for the argument is <b>False</b> and prevents adding custom text to the combo-box control.
          </p>
          <p>
            The dialog form is constructed at run-time, and includes the controls needed to display the prompt (<var>TLabel</var>) and list of selectable items (<var>TComboBox</var>). It also includes a button panel (<var>TButtonPanel</var>) with <b>Ok</b> and <b>Cancel</b> buttons. The <var>Caption</var> for the dialog form is set to the <var>ACaption</var> argument.
          </p>
          <p>
            InputComboEx calls the <var>ShowModal</var> method for the <var>TForm</var> instance to display the dialog and capture the modal result value. When the modal result is <var>mrOk</var> (the OK button was pressed), the return value contains the value for the selected item in the combo-box control. The return value is an empty string ('') when the Cancel button or the Close border decoration is clicked.
          </p>
        </descr>
        <seealso>
          <link id="InputCombo"/>
          <link id="InputQuery"/>
        </seealso>
      </element>
      <element name="InputComboEx.Result">
        <short>
          String with the item selected in the combo-box, or an empty string if the dialog is cancelled.
        </short>
      </element>
      <element name="InputComboEx.ACaption">
        <short>Caption for the dialog.</short>
      </element>
      <element name="InputComboEx.APrompt">
        <short>Prompt or label for the combo-box control.</short>
      </element>
      <element name="InputComboEx.AList">
        <short>List of values displayed in the combo-box control.</short>
      </element>
      <element name="InputComboEx.AllowCustomText">
        <short>True to allow new values to be added to the combo-box control.</short>
      </element>

      <element name="ExtractColorIndexAndColor">
        <short>
          Extracts the color index and color value for the specified position in a color list.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="ExtractColorIndexAndColor.Result">
        <short>True on success, false if the list does not use the correct format.</short>
      </element>
      <element name="ExtractColorIndexAndColor.AColorList">
        <short>List of colors in COLORID=VALUE format.</short>
      </element>
      <element name="ExtractColorIndexAndColor.AIndex">
        <short>Position in the list for the extracted color index and value.</short>
      </element>
      <element name="ExtractColorIndexAndColor.ColorIndex">
        <short>Color index (ColorA=0, ColorB=1, etc.)</short>
      </element>
      <element name="ExtractColorIndexAndColor.ColorValue">
        <short>TColor for the hexadecimal value in the list.</short>
      </element>

      <element name="GetDialogCaption">
        <short>
          Gets the resource string used as the caption for the specified dialog identifier.
        </short>
        <descr>
          <p>
            The following dialog identifiers and return values are used in the routine:
          </p>
          <dl>
            <dt>idDialogWarning</dt>
            <dd>Return value is rsMtWarning.</dd>
            <dt>idDialogError</dt>
            <dd>Return value is rsMtError.</dd>
            <dt>idDialogInfo</dt>
            <dd>Return value is rsMtInformation.</dd>
            <dt>idDialogConfirm</dt>
            <dd>Return value is rsMtConfirmation.</dd>
            <dt>idDialogShield</dt>
            <dd>Return value is rsMtAuthentication.</dd>
          </dl>
          <p>
            The return value is '?' when an unknown value is used in the idDiag argument.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="GetDialogCaption.Result">
        <short>Default caption for the dialog identifier.</short>
      </element>
      <element name="GetDialogCaption.idDiag">
        <short>Identifier for the dialog type, i. e. idDialogWarning or idDialogError.</short>
      </element>

      <element name="GetDialogIcon">
        <short>Gets a bitmap with the icon for the specified dialog identifier.</short>
        <descr>
          <p>
            The bitmap may contain a stock image provided by theme services (when available), or a PNG image image loaded from a Lazarus resource in the application.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="GetDialogIcon.Result">
        <short>Bitmap with the icon for the dialog identifier.</short>
      </element>
      <element name="GetDialogIcon.idDiag">
        <short>Identifier for the dialog type, i. e. idDialogWarning or idDialogShield.</short>
      </element>

      <element name="dbgs">
        <short>
          Creates a formatted debugger message for one or more TOpenOption values.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="dbgs.Result">
        <short/>
      </element>
      <element name="dbgs.Option">
        <short/>
      </element>
      <element name="dbgs.Options">
        <short/>
      </element>

      <element name="Register">
        <short>Registers components for use in the Lazarus IDE.</short>
        <descr>
          <p>
            Register is the procedure used to register components for use in the Lazarus IDE.
          </p>
          <p>
            The following components are added to the Component Palette in the Lazarus IDE:
          </p>
          <p>
            <b>Dialogs</b> Tab
          </p>
          <ul>
            <li>TOpenDialog</li>
            <li>TSaveDialog</li>
            <li>TSelectDirectoryDialog</li>
            <li>TColorDialog</li>
            <li>TFontDialog</li>
            <li>TFindDialog</li>
            <li>TReplaceDialog</li>
            <li>TTaskDialog</li>
          </ul>
          <p>
            <b>Misc</b> Tab
          </p>
          <ul>
            <li>TColorButton</li>
          </ul>
        </descr>
        <seealso>
          <link id="#rtl.classes.RegisterComponents">RegisterComponents</link>
        </seealso>
      </element>

    </module>
    <!-- Dialogs -->
  </package>
</fpdoc-descriptions>
