<?xml version="1.0" encoding="UTF-8"?>
<!--

Documentation for LCL (Lazarus Component Library) and LazUtils (Lazarus 
Utilities) are published under the Creative Commons Attribution-ShareAlike 4.0 
International public license.

https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt
file://../../cc-by-sa-4-0.txt

Copyright (c) 1997-2023, by the Lazarus Development Team.

-->
<fpdoc-descriptions>
<package name="lcl">
<!--
====================================================================
ExtDlgs
====================================================================
-->
<module name="ExtDlgs">
<short>
Contains extended dialogs used for Calendar, Calculator and Picture Open/Save 
tasks.
</short>
<descr>
<p>
<file>extdlgs.pas</file> contains extended dialogs available in Lazarus 
Component Library (<b>LCL</b>) applications. It adds the following components 
to the <b>Dialogs</b> tab in the Lazarus IDE Component Palette:
</p>
<ul>
<li>TOpenPictureDialog</li>
<li>TSavePictureDialog</li>
<li>TCalendarDialog</li>
<li>TCalculatorDialog</li>
</ul>
</descr>

<!-- unresolved type references -->
<element name="Types"/>
<element name="Classes"/>
<element name="SysUtils"/>
<element name="LResources"/>
<element name="LCLType"/>
<element name="LCLStrConsts"/>
<element name="LCLPlatformDef"/>
<element name="InterfaceBase"/>
<element name="Controls"/>
<element name="Dialogs"/>
<element name="Graphics"/>
<element name="ExtCtrls"/>
<element name="StdCtrls"/>
<element name="Forms"/>
<element name="Calendar"/>
<element name="Buttons"/>
<element name="CalcForm"/>
<element name="GraphType"/>
<element name="FileUtil"/>
<element name="LazFileUtils"/>
<element name="Masks"/>

<element name="TPreviewFileControl">
<short>
<var>TPreviewFileControl</var> - a windowed control allowing the contents of 
a file to be previewed before opening.
</short>
<descr>
<p>
<var>TPreviewFileControl</var> is a <var>TWinControl</var> descendant which 
implements a windowed control that allows the content in a file to be viewed 
in a <var>TPreviewFileDialog</var> class instance.
</p>
<p>
TPreviewFileControl is the type used to implement the 
<var>PreviewFileControl</var> property in <var>TPreviewFileDialog</var>.
</p>
</descr>
<seealso>
<link id="TPreviewFileDialog.PreviewFileControl"/>
</seealso>
</element>

<element name="TPreviewFileControl.FPreviewFileDialog"/>

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

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

<element name="TPreviewFileControl.SetPreviewFileDialog">
<short>
Sets the value for the PreviewFileDialog property.
</short>
<descr/>
<seealso>
<link id="TPreviewFileControl.PreviewFileDialog"/>
</seealso>
</element>
<element name="TPreviewFileControl.SetPreviewFileDialog.AValue">
<short>New value for the property.</short>
</element>

<element name="TPreviewFileControl.CreateParams">
<descr>
<p>
Overridden to ensure proper handling of the WS_CHILD flag in Style in the 
Parent control.
</p>
</descr>
<seealso>
<link id="#lcl.controls.TWinControl.CreateParams">TWinControl.CreateParams</link>
<link id="#lcl.lcltype.TCreateParams">TCreateParams</link>
</seealso>
</element>
<element name="TPreviewFileControl.CreateParams.Params">
<short>Creation parameters updated in the method.</short>
</element>

<element name="TPreviewFileControl.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. Create sets the value for the 
<var>CompStyle</var> member (deprecated), and calls 
<var>SetInitialBounds</var> to size the control using the values returned 
from <var>GetControlClassDefaultSize</var>.
</p>
</descr>
<seealso>
<link id="TPreviewFileControl.GetControlClassDefaultSize"/>
<link id="#lcl.controls.TControl.SetInitialBounds">TControl.SetInitialBounds</link>
<link id="#lcl.controls.TWinControl.Create">TWinControl.Create</link>
</seealso>
</element>
<element name="TPreviewFileControl.Create.TheOwner">
<short>Owner for the class instance.</short>
</element>

<element name="TPreviewFileControl.PreviewFileDialog">
<short>Dialog which created the file preview control.</short>
<descr>
<p>
<var>PreviewFileDialog</var> is a <var>TPreviewFileDialog</var> property 
which contains the dialog which created the file preview control. The value 
in PreviewFileDialog is is assigned in the <var>CreatePreviewControl</var> 
method in <var>TPreviewFileDialog</var>.
</p>
</descr>
<seealso>
<link id="TPreviewFileDialog.CreatePreviewControl"/>
</seealso>
</element>

<element name="TPreviewFileDialog">
<short>
<var>TPreviewFileDialog</var> - a dialog that allows the contents of a file 
to be inspected before opening the file.
</short>
<descr>
<p>
<var>TPreviewFileDialog</var> is a <var>TOpenDialog</var> descendant which 
implement a dialog used to preview and select a file on the local file 
system. TPreviewFileDialog extends the ancestor class with additional 
properties, methods, and events used to configure and execute the dialog.
</p>
</descr>
<seealso>
<link id="TPreviewFileControl"/>
<link id="#lcl.dialogs.TOpenDialog">TOpenDialog</link>
</seealso>
</element>

<element name="TPreviewFileDialog.FPreviewFileControl"/>

<element name="TPreviewFileDialog.GetPreviewFileControl">
<short>Gets the value for the PreviewFileControl property.</short>
<descr>
<p>
Calls <var>CreatePreviewControl</var> if a <var>TPreviewFileControl</var> 
instance has not already been created for the dialog.
</p>
</descr>
<seealso>
<link id="TPreviewFileDialog.PreviewFileControl"/>
</seealso>
</element>
<element name="TPreviewFileDialog.GetPreviewFileControl.Result">
<short>Value for the property.</short>
</element>

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

<element name="TPreviewFileDialog.CreatePreviewControl">
<short>
<var>CreatePreviewControl</var> - create an instance of the windowed control 
used in the dialog.
</short>
<descr>
<p>
<var>CreatePreviewControl</var> is a procedure used to create and initialize 
the class instance used in the <var>PreviewFileControl</var> property. 
CreatePreviewControl create a <var>TPreviewFileControl</var> instance, sets 
its <var>PreviewFileDialog</var> property to the current class, and calls the 
<var>InitPreviewControl</var> method.
</p>
<p>
CreatePreviewControl is called from the <var>DoExecute</var> method in 
<var>TPreviewFileDialog</var>.
</p>
</descr>
<seealso>
<link id="TPreviewFileDialog.PreviewFileControl"/>
<link id="TPreviewFileControl"/>
<link id="TPreviewFileDialog.DoExecute"/>
</seealso>
</element>

<element name="TPreviewFileDialog.InitPreviewControl">
<short>
<var>InitPreviewControl</var> - initializes the windowed control created for 
the dialog.
</short>
<descr>
<p>
<var>InitPreviewControl</var> is a procedure used to initialize the 
<var>PreviewFileControl</var> property used in the dialog. InitPreviewControl 
sets the name for the control. InitPreviewControl is called from the 
<var>CreatePreviewControl</var> method.
</p>
</descr>
<seealso>
<link id="TPreviewFileDialog.PreviewFileControl"/>
<link id="TPreviewFileDialog.CreatePreviewControl"/>
</seealso>
</element>

<element name="TPreviewFileDialog.DoExecute">
<short>Creates the PreviewFileControl and displays the dialog.</short>
<descr>
<p>
<var>DoExecute</var> is an overridden Boolean function in 
<var>TPreviewFileDialog</var>.
</p>
<p>
DoExecute calls the <var>CreatePreviewControl</var> method to allocate 
resources for the <var>PreviewFileControl</var> property. It calls the 
inherited method to display the dialog, select a file on the local file 
system, and get the return value for the method. The return value is 
<b>True</b> when the dialog return value in <var>UserChoice</var> is 
<var>mrOk</var>.
</p>
<p>
DoExecute is called from the <var>Execute</var> method in the 
<var>TCommonDialog</var> ancestor class.
</p>
</descr>
<seealso>
<link id="TPreviewFileDialog.CreatePreviewControl"/>
<link id="TPreviewFileDialog.PreviewFileControl"/>
<link id="#lcl.dialogs.TCommonDialog.Execute">TCommonDialog.Execute</link>
<link id="#lcl.dialogs.TCommonDialog.UserChoice">TCommonDialog.UserChoice</link>
<link id="#lcl.dialogs.TOpenDialog.DoExecute">TOpenDialog.DoExecute</link>
</seealso>
</element>

<element name="TPreviewFileDialog.Create">
<short>Constructor for the class instance.</short>
<descr>
<p>
<var>Create</var> is the overridden constructor for the class instance. 
Create calls the inherited constructor, and sets the value in CompStyle 
(deprecated) to <var>csPreviewFileDialog</var>.
</p>
</descr>
<seealso>
<link id="#lcl.lcltype.csPreviewFileDialog">csPreviewFileDialog</link>
</seealso>
</element>
<element name="TPreviewFileDialog.Create.TheOwner">
<short>Owner of the class instance.</short>
</element>

<element name="TPreviewFileDialog.PreviewFileControl">
<short>
Windowed control used to preview the contents of a file in the dialog.
</short>
<descr>
<p>
<var>PreviewFileControl</var> is a read-only <var>TPreviewFileControl</var> 
property which contains the windowed control used to preview the contents of 
a file in the dialog. The resources for the property are allocated in the 
<var>CreatePreviewControl</var> method called when the dialog is executed. 
The property value is unassigned (contains <b>Nil</b>) prior to calling 
<var>Execute</var>.
</p>
</descr>
<seealso>
<link id="TPreviewFileControl"/>
<link id="TPreviewFileDialog.CreatePreviewControl"/>
<link id="#lcl.dialogs.TCommonDialog.Execute">TCommonDialog.Execute</link>
</seealso>
</element>

<element name="TOpenPictureDialog">
<short>
<var>TOpenPictureDialog</var> - a preview dialog that shows a preview of a 
picture before opening the file.
</short>
<descr>
<p>
<var>TOpenPictureDialog</var> is a <var>TPreviewFileDialog</var> descendant 
which implements a dialog used to preview and select image files using common 
image formats recognized for the platform or OS. It provides 
<var>DefaultFilter</var> and <var>Filter</var> properties which use file 
masks for file extensions supported for the <var>TGraphic</var> class. The 
<var>ImageCtrl</var> property provides the image preview for the dialog.
</p>
</descr>
<seealso>
<link id="TOpenPictureDialog.ImageCtrl"/>
<link id="TOpenPictureDialog.DefaultFilter"/>
<link id="TOpenPictureDialog.Filter"/>
</seealso>
</element>

<element name="TOpenPictureDialog.FDefaultFilter"/>
<element name="TOpenPictureDialog.FImageCtrl"/>
<element name="TOpenPictureDialog.FPictureGroupBox"/>
<element name="TOpenPictureDialog.FPreviewFilename"/>

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

<element name="TOpenPictureDialog.IsFilterStored">
<short>
<var>IsFilterStored</var> - returns <b>True</b> if a filter is stored.
</short>
<descr>
<p>
<var>IsFilterStored</var> is a <var>Boolean</var> function used to get the 
value for the storage specifier for the <var>Filter</var> property. The 
return value indicates if the value in Filter is included in the content read 
and written using the LCL component streaming mechanism. It returns 
<b>True</b> when the value in Filter is different than the value in 
<var>DefaultFilter</var>.
</p>
</descr>
<seealso>
<link id="TOpenPictureDialog.Filter"/>
<link id="TOpenPictureDialog.DefaultFilter"/>
</seealso>
</element>
<element name="TOpenPictureDialog.IsFilterStored.Result">
<short>
<b>True</b> when Filter is included in the LCL component streaming content.
</short>
</element>

<element name="TOpenPictureDialog.ImageCtrl">
<short>
TImage used to preview the content in an image file.
</short>
<descr>
<var>ImageCtrl</var> is a read-only TImage property which contains the image 
used to preview the content for an image file on the local file system.
</descr>
<seealso>
<link id="TOpenPictureDialog.ClearPreview"/>
<link id="TOpenPictureDialog.UpdatePreview"/>
</seealso>
</element>

<element name="TOpenPictureDialog.PictureGroupBox">
<short>
<var>PictureGroupBox</var> - a groupbox related to a single picture ???
</short>
<descr>
<p>
<var>PictureGroupBox</var> is a read-only <var>TGroupBox</var> property which 
provides a container for the <var>ImageCtrl</var> in the dialog. 
PictureGroupBox is assigned as the Parent for the ImageCtrl property, and 
provides the bounds to which the ImageCtrl is aligned. In turn, 
PictureGroupBox uses the PreviewFileControl as its Parent.
</p>
</descr>
<seealso>
<link id="TOpenPictureDialog.ImageCtrl"/>
</seealso>
</element>

<element name="TOpenPictureDialog.InitPreviewControl">
<short>Initializes the PreviewFileControl for the dialog.</short>
<descr>
<p>
<var>InitPreviewControl</var> is overridden in <var>TOpenPictureDialog</var>. 
InitPreviewControl calls the inherited method, and ensures that 
<var>PreviewFileControl</var> is assigned as the Parent control for 
<var>PictureGroupBox</var>. InitPreviewControl is called from the inherited 
<var>CreatePreviewControl</var> method.
</p>
</descr>
<seealso>
<link id="TPreviewFileDialog.PreviewFileControl"/>
<link id="TPreviewFileDialog.CreatePreviewControl"/>
<link id="TPreviewFileDialog.InitPreviewControl"/>
<link id="TOpenPictureDialog.ImageCtrl"/>
</seealso>
</element>

<element name="TOpenPictureDialog.ClearPreview">
<short>
<var>ClearPreview</var> - clears the preview area.
</short>
<descr>
<p>
<var>ClearPreview</var> is a procedure used to clear the image content and 
the caption displayed in the dialog. ClearPreview is called from the 
<var>DoShow</var>, <var>DoClose</var>, and <var>UpdatePreview</var> methods.
</p>
</descr>
<seealso>
<link id="TOpenPictureDialog.ImageCtrl"/>
<link id="TOpenPictureDialog.DoShow"/>
<link id="TOpenPictureDialog.DoClose"/>
<link id="TOpenPictureDialog.UpdatePreview"/>
</seealso>
</element>

<element name="TOpenPictureDialog.UpdatePreview">
<short>
<var>UpdatePreview</var> - updates the preview image, implementing any 
pending changes.
</short>
<descr>
<p>
<var>UpdatePreview</var> is a procedure used to update the file name and 
image used in the preview dialog. Please note: No actions are needed or 
performed in the method when FileName has the same value as PreviewFileName.
</p>
<p>
The <var>FileName</var> property is assigned to <var>PreviewFileName</var>, 
which is used as the source for the content displayed in 
<var>ImageCtrl</var>. FileName must be a valid file name on the local file 
system, and have read permissions. PreviewFileName is loaded into the picture 
for the ImageCtrl, and the caption in <var>PictureGroupBox</var> is updated 
to display the Width and Height for the stored image in the format 
<b>'(%dx%d)'</b>.
</p>
<p>
If the file is not successfully loaded (due to permissions or image format), 
the <var>ClearPreview</var> method is called.
</p>
<p>
UpdatePreview is called from the <var>DoSelectionChange</var> method when the 
selected file name for the preview dialog has changed.
</p>
</descr>
<seealso>
<link id="TOpenPictureDialog.ImageCtrl"/>
<link id="TOpenPictureDialog.PictureGroupBox"/>
<link id="TOpenPictureDialog.ClearPreview"/>
<link id="#lcl.dialogs.TFileDialog.FileName">TFileDialog.FileName</link>
</seealso>
</element>

<element name="TOpenPictureDialog.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.
</p>
<p>
Creates sets the value in <var>DefaultFilter</var> to the all files mask for 
common image format used on the platform or OS. This value is also assigned 
to the <var>Filter</var> property for the dialog.
</p>
<p>
Create allocates resources needed for the <var>PictureGroupBox</var> and 
<var>ImageCtrl</var> properties, and sets their parentage, alignment, and 
display properties.
</p>
</descr>
<seealso>
<link id="TOpenPictureDialog.PictureGroupBox"/>
<link id="TOpenPictureDialog.ImageCtrl"/>
<link id="TOpenPictureDialog.DefaultFilter"/>
<link id="TOpenPictureDialog.Filter"/>
<link id="#lcl.graphics.GraphicFilter">GraphicFilter</link>
</seealso>
</element>
<element name="TOpenPictureDialog.Create.TheOwner">
<short>Owner for the class instance.</short>
</element>

<element name="TOpenPictureDialog.DoClose">
<short>
Performs actions needed when the dialog is closed.
</short>
<descr>
<p>
<var>DoClose</var> is an overridden method used to perform actions needed 
when the dialog is closed. DoClose calls <var>ClearPreview</var> to remove 
image content displayed in <var>ImageCtrl</var> and to clear the caption 
assigned to <var>PictureGroupBox</var>.
</p>
<p>
DoClose calls the inherited method to signal the <var>OnClose</var> event 
handler (when assigned).
</p>
</descr>
<seealso>
<link id="TOpenPictureDialog.ClearPreview"/>
<link id="TOpenPictureDialog.PictureGroupBox"/>
<link id="TOpenPictureDialog.ImageCtrl"/>
<link id="#lcl.dialogs.TCommonDialog.OnClose">TCommonDialog.OnClose</link>
<link id="#lcl.dialogs.TCommonDialog.DoClose">TCommonDialog.DoClose</link>
</seealso>
</element>

<element name="TOpenPictureDialog.DoSelectionChange">
<short>
Performs actions needed when the selected file name for the dialog is changed.
</short>
<descr>
<p>
<var>DoSelectionChange</var> is an overridden method used to perform actions 
needed when the selected file name for the dialog is changed. 
DoSelectionChange calls <var>UpdatePreview</var> to update the 
<var>PreviewFileName</var>, <var>ImageCtrl</var> and 
<var>PictureGroupBox</var> properties.
</p>
<p>
DoSelectionChange calls the inherited method to signal the 
<var>OnSelectionChange</var> event handler (when assigned).
</p>
</descr>
<seealso>
<link id="TOpenPictureDialog.ImageCtrl"/>
<link id="TOpenPictureDialog.PictureGroupBox"/>
<link id="#lcl.dialogs.TOpenDialog.OnSelectionChange">TOpenDialog.OnSelectionChange</link>
<link id="#lcl.dialogs.TOpenDialog.DoSelectionChange">TOpenDialog.DoSelectionChange</link>
</seealso>
</element>

<element name="TOpenPictureDialog.DoShow">
<short>
Performs actions needed to display the preview dialog in its initial state.
</short>
<descr>
<p>
<var>DoShow</var> is an overridden procedure used to display the Picture File 
Open preview dialog. DoShow calls <var>ClearPreview</var> to set the dialog 
to the state needed prior to selecting an image file name in the preview 
dialog.
</p>
<p>
DoShow calls the inherited method to signal the <var>OnShow</var> event 
handler (when assigned).
</p>
</descr>
<seealso>
<link id="TOpenPictureDialog.ClearPreview"/>
<link id="#lcl.dialogs.TCommonDialog.OnShow">TCommonDialog.OnShow</link>
<link id="#lcl.dialogs.TCommonDialog.DoShow">TCommonDialog.DoShow</link>
</seealso>
</element>

<element name="TOpenPictureDialog.GetFilterExt">
<short>
<var>GetFilterExt</var> - returns the extension for filtering filenames.
</short>
<descr>
<p>
<var>GetFilterExt</var> is a <var>String</var> function used to get the file 
extension for the value in the Filter property. GetFilterExt parses the value 
in <var>Filter</var>, and ignores the all files mask (<b>'*.*'</b>) in favor 
of actual file extensions included in the property.
</p>
<p>
The return value contains the file extension found in the Filter property. If 
no file extension is found in Filter, the value in <var>DefaultExt</var> is 
used as the return value.
</p>
<p>
GetFilterEx is used by the Lazarus IDE in the implementation of property 
editors for <var>TGraphic</var> and <var>TImageList</var>.
</p>
</descr>
<seealso>
<link id="TOpenPictureDialog.Filter"/>
<link id="#lcl.dialogs.TFileDialog.DefaultExt">TFileDialog.DefaultExt</link>
<link id="#lcl.graphics.TGraphic">TGraphic</link>
<link id="#lcl.imglist.TCustomImageList">TCustomImageList</link>
</seealso>
</element>
<element name="TOpenPictureDialog.GetFilterExt.Result">
<short>
File extension found in the method, or an empty string when no extension is 
available.
</short>
</element>

<element name="TOpenPictureDialog.DefaultFilter">
<short>
<var>DefaultFilter</var> - the default filename filter.
</short>
<descr>
<p>
<var>DefaultFilter</var> is a read-only <var>String</var> property which 
provides the default value for the <var>Filter</var> property. DefaultFilter 
is populated in the <var>Create</var> constructor with the common image 
formats supported for the platform or OS. Its value is assigned as the 
default value for the Filter property in the constructor.
</p>
</descr>
<seealso>
<link id="TOpenPictureDialog.Create"/>
<link id="TOpenPictureDialog.Filter"/>
<link id="#lcl.graphics.GraphicFilter">GraphicFilter</link>
</seealso>
</element>

<element name="TOpenPictureDialog.Filter">
<short>
Contains a delimited list of descriptions and extensions for file available 
in the dialog.
</short>
<descr>
<p>
<var>Filter</var> is a <var>String</var> property which contains a delimited 
list of file name filters available in the dialog. Each value in the 
delimited list is separated by a Pipe (or vertical bar) character ('|') and 
consists of a description and file extension for files matching the filter 
value.
</p>
<p>
The initial value for Filter is assigned in <var>Create</var> using the value 
from the <var>DefaultFilter</var> property.
</p>
<p>
Use <var>GetFilterExt</var> to get the file extension for the current Filter 
value selected in the dialog. Use <var>FilterIndex</var> to determine the 
position for the selected file filter.
</p>
</descr>
<seealso>
<link id="TOpenPictureDialog.Create"/>
<link id="TOpenPictureDialog.DefaultFilter"/>
<link id="TOpenPictureDialog.GetFilterExt"/>
<link id="#lcl.dialogs.TFileDialog.Filter">TFileDialog.Filter</link>
<link id="#lcl.dialogs.TFileDialog.FilterIndex">TFileDialog.FilterIndex</link>
</seealso>
</element>

<element name="TSavePictureDialog">
<short>
<var>TSavePictureDialog</var> - a dialog for saving the picture in the 
current buffer to a file.
</short>
<descr>
<p>
<var>TSavePictureDialog</var> is a <var>TOpenPictureDialog</var> descendant 
which implements a dialog used to save a picture to a file. 
TSavePictureDialog provides the same preview capabilities implemented in 
ancestor classes, and provides an overridden <var>DefaultTitle</var> method 
to set the title displayed in the dialog.
</p>
</descr>
<seealso>
<link id="TSavePictureDialog.DefaultTitle"/>
<link id="TOpenPictureDialog"/>
</seealso>
</element>

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

<element name="TSavePictureDialog.DefaultTitle">
<short>Gets the default value for the Title property.</short>
<descr>
<p>
<var>DefaultTitle</var> is an overridden <var>String</var> function in 
<var>TSavePictureDialog</var>. It returns the value in 
<var>rsfdFileSaveAs</var> as the <var>Title</var> used for the dialog. 
DefaultTitle is used in the constructor in <var>TCommonDialog</var> to set 
the value for its <var>Title</var> property.
</p>
</descr>
<seealso>
<link id="#lcl.dialogs.TOpenDialog.DefaultTitle">TOpenDialog.DefaultTitle</link>
<link id="#lcl.dialogs.TCommonDialog.Create">TCommonDialog.Create</link>
<link id="#lcl.dialogs.TCommonDialog.Title">TCommonDialog.Title</link>
<link id="#lcl.lclstrconsts.rsfdFileSaveAs">rsfdFileSaveAs</link>
</seealso>
</element>
<element name="TSavePictureDialog.DefaultTitle.Result">
<short>Default value for the Title property.</short>
</element>

<element name="TSavePictureDialog.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. Create sets the value in the 
<var>FCompStyle</var> member (deprecated) to the value 
<var>csSaveFileDialog</var>.
</p>
</descr>
<seealso/>
</element>
<element name="TSavePictureDialog.Create.TheOwner">
<short>Owner of the class instance.</short>
</element>

<element name="TExtCommonDialog">
<short>
The common base class for custom drawn dialogs (Calculator and Calendar).
</short>
<descr>
<p>
<var>TExtCommonDialog</var> is a <var>TCommonDialog</var> descendant which 
implements a common base class for custom drawn dialogs such as 
<var>TCalculatorDialog</var> and <var>TCalendarDialog</var>. It provides 
additional properties used to set the position for the form displayed in the 
dialog.
</p>
</descr>
<seealso>
<link id="TExtCommonDialog.DlgForm"/>
<link id="TExtCommonDialog.DialogPosition"/>
<link id="TExtCommonDialog.Left"/>
<link id="TExtCommonDialog.Top"/>
<link id="TCalculatorDialog"/>
<link id="TCalendarDialog"/>
<link id="#lcl.dialogs.TCommonDialog">TCommonDialog</link>
</seealso>
</element>

<element name="TExtCommonDialog.FDialogPosition"/>
<element name="TExtCommonDialog.FLeft"/>
<element name="TExtCommonDialog.FTop"/>
<element name="TExtCommonDialog.FDlgForm"/>

<element name="TExtCommonDialog.GetLeft">
<short>Gets the value for the Left property.</short>
<descr/>
<seealso>
<link id="TExtCommonDialog.Left"/>
</seealso>
</element>
<element name="TExtCommonDialog.GetLeft.Result">
<short>Value for the property.</short>
</element>

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

<element name="TExtCommonDialog.GetTop">
<short>Gets the value for the Top property.</short>
<descr/>
<seealso>
<link id="TExtCommonDialog.Top"/>
</seealso>
</element>
<element name="TExtCommonDialog.GetTop.Result">
<short>Value for the property.</short>
</element>

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

<element name="TExtCommonDialog.SetLeft">
<short>Sets the value for the Left property.</short>
<descr/>
<seealso>
<link id="TExtCommonDialog.Left"/>
</seealso>
</element>
<element name="TExtCommonDialog.SetLeft.AValue">
<short>New value for the property.</short>
</element>

<element name="TExtCommonDialog.SetTop">
<short>Sets the value for the Top property.</short>
<descr/>
<seealso>
<link id="TExtCommonDialog.Top"/>
</seealso>
</element>
<element name="TExtCommonDialog.SetTop.AValue">
<short>New value for the property.</short>
</element>

<element name="TExtCommonDialog.DlgForm">
<short>
Contains the form displayed modally for the custom-drawn dialog.
</short>
<descr>
<p>
<var>DlgForm</var> is a <var>TCustomForm</var> property which contains the 
form displayed with the content for the custom-drawn dialog.
</p>
<p>
The value in DlgForm is assigned in descendent classes to use the form type 
required for the dialog. Changes to values in the <var>Top</var>, 
<var>Left</var>, and <var>DialogPosition</var> properties are applied to the 
corresponding properties in DlgForm.
</p>
</descr>
<seealso>
<link id="TExtCommonDialog.DialogPosition"/>
<link id="TExtCommonDialog.Left"/>
<link id="TExtCommonDialog.Top"/>
<link id="TCommonDialog.Height"/>
<link id="TCommonDialog.Width"/>
</seealso>
</element>

<element name="TExtCommonDialog.Create">
<short>Constructor for the class instance.</short>
<descr>
<var>Create</var> is the overridden constructor for the class instance, and 
calls the inherited method. Create sets the default value for the 
<var>DialogPosition</var> property to <var>poMainFormCenter</var>.
</descr>
<seealso>
<link id="TExtCommonDialog.DialogPosition"/>
<link id="#lcl.forms.TPosition">TPosition</link>
<link id="#lcl.dialogs.TCommonDialog.Create">CommonDialog.Create</link>
</seealso>
</element>
<element name="TExtCommonDialog.Create.AOwner">
<short>Owner of the class instance.</short>
</element>

<element name="TExtCommonDialog.Destroy">
<short>Destructor for the class instance.</short>
<descr/>
<seealso>
<link id="#lcl.lclclasses.TLCLComponent.Destroy">TLCLComponent.Destroy</link>
</seealso>
</element>

<element name="TExtCommonDialog.Left">
<short>Contains the left coordinate for the dialog form.</short>
<descr>
<p>
<var>Left</var> is an <var>Integer</var> property which contains the client 
coordinate for the left-hand edge of the dialog. Read and write access for 
the property value are redirected to the Left property in DlgForm (when 
assigned).
</p>
<p>
Use the Top <var>property</var> to access the coordinate for the top edge of 
the dialog.
</p>
</descr>
<seealso>
<link id="TExtCommonDialog.DlgForm"/>
<link id="TExtCommonDialog.Top"/>
</seealso>
</element>

<element name="TExtCommonDialog.Top">
<short>Contains the top coordinate for the dialog form.</short>
<descr>
<p>
<var>Top</var> is an <var>Integer</var> property which contains the client 
coordinate for the top edge of the dialog. Read and write access for the 
property value are redirected to the Top property in DlgForm (when assigned).
</p>
<p>
Use the <var>Left</var> property to access the coordinate for the left-hand 
edge of the dialog.
</p>
</descr>
<seealso>
<link id="TExtCommonDialog.DlgForm"/>
<link id="TExtCommonDialog.Left"/>
</seealso>
</element>

<element name="TExtCommonDialog.DialogPosition">
<short>
Specifies the position where the dialog is displayed.
</short>
<descr>
<p>
<var>DialogPosition</var> is a <var>TPosition</var> property which specifies 
the position where the dialog is displayed. The default value for the 
property is <var>poMainFormCenter</var>, and indicates that the dialog is 
centered both horizontally and vertically on the main form for the 
application.
</p>
<p>
See <link id="#lcl.forms.TPosition">TPosition</link> for more information 
about the values in the enumeration and their meanings.
</p>
<p>
The value in DialogPosition is used in descendent classes when the dialog is 
Executed.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.Execute"/>
<link id="TCalendarDialog.Execute"/>
<link id="#lcl.forms.TPosition">TPosition</link>
</seealso>
</element>

<element name="TCalculatorDialog">
<short>
Implements a pop-up calculator dialog used to perform simple calculations and 
return the value.
</short>
<descr>
<p>
<var>TCalculatorDialog</var> is a <var>TExtCommonDialog</var> descendant 
which implements a pop-up calculator dialog used to perform calculations and 
return the result in the Value property. Value uses the Double type, and can 
be represented using the number of digits in the Precision property.
</p>
<p>
TCalculatorDialog uses a TCalculatorForm instance in the DlgForm property 
which includes separate panels to display the input value, numeric keys, 
labels, and other buttons on the dialog form. A CalculatorLayout property 
allows use of a detailed or a simplified view on the form. Properties are 
provided to set the colors used for components on DlgForm, including:
</p>
<ul>
<li>ColorBtnDigits</li>
<li>ColorBtnMemory</li>
<li>ColorBtnOk</li>
<li>ColorBtnCancel</li>
<li>ColorBtnClear</li>
<li>ColorBtnOthers</li>
<li>ColorDisplayText</li>
<li>ColorDisplayBack</li>
</ul>
<p>
Use the Memory property to store or retrieve a value for the calculator 
dialog.
</p>
</descr>
<seealso>
<link id="TExtCommonDialog"/>
<link id="#lcl.calcform.TCalculatorForm">TCalculatorForm</link>
</seealso>
</element>

<element name="TCalculatorDialog.FLayout"/>
<element name="TCalculatorDialog.FValue"/>
<element name="TCalculatorDialog.FMemory"/>
<element name="TCalculatorDialog.FPrecision"/>
<element name="TCalculatorDialog.FBeepOnError"/>
<element name="TCalculatorDialog.FOnChange"/>
<element name="TCalculatorDialog.FOnCalcKey"/>
<element name="TCalculatorDialog.FOnDisplayChange"/>
<element name="TCalculatorDialog.FDialogScale"/>
<element name="TCalculatorDialog.FColorBtnDigits"/>
<element name="TCalculatorDialog.FColorBtnOthers"/>
<element name="TCalculatorDialog.FColorBtnMemory"/>
<element name="TCalculatorDialog.FColorBtnOk"/>
<element name="TCalculatorDialog.FColorBtnCancel"/>
<element name="TCalculatorDialog.FColorBtnClear"/>
<element name="TCalculatorDialog.FColorDisplayText"/>
<element name="TCalculatorDialog.FColorDisplayBack"/>

<element name="TCalculatorDialog.GetDisplay">
<short>Gets the value for the CalcDisplay property.</short>
<descr>
<p>
<var>GetDisplay</var> is a <var>Double</var> function used to get the display 
value from the form instance in <var>DlgForm</var>. If DlgForm has not been 
assigned, the <var>Value</var> property is used as the return value for the 
method.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.CalcDisplay"/>
</seealso>
</element>
<element name="TCalculatorDialog.GetDisplay.Result">
<short>Value for the property.</short>
</element>

<element name="TCalculatorDialog.SetDialogScale">
<short>Sets the value for the DialogScale property.</short>
<descr/>
<seealso>
</seealso>
<link id="TCalculatorDialog.DialogScale"/>
</element>
<element name="TCalculatorDialog.SetDialogScale.AValue">
<short>New value for the property.</short>
</element>

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

<element name="TCalculatorDialog.OnDialogClose">
<short>
Implements the event handler signalled when the dialog is closed.
</short>
<descr>
<p>
<var>OnDialogClose</var> implements the event handler signalled when the 
dialog form is closed. OnDialogClose calls the DoClose method to execute the 
OnClose event handler (when assigned).
</p>
<p>
<var>OnDialogClose</var> is assigned as the <var>OnClose</var> event handler 
for the form in <var>DlgForm</var> in the <var>Execute</var> method.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.OnDialogClose"/>
<link id="#lcl.dialogs.TCommonDialog.OnClose">TCommonDialog.OnClose</link>
<link id="#lcl.dialogs.TCommonDialog.Execute">TCommonDialog.Execute</link>
</seealso>
</element>
<element name="TCalculatorDialog.OnDialogClose.Sender">
<short>Object for the event notification.</short>
</element>
<element name="TCalculatorDialog.OnDialogClose.CloseAction">
<short>Action performed to close the dialog.</short>
</element>

<element name="TCalculatorDialog.OnDialogShow">
<short>
Implements the event handler signalled when the dialog is displayed.
</short>
<descr>
<p>
<var>OnDialogShow</var> implements the event handler signalled when the 
dialog form is displayed. OnDialogShow calls the <var>DoShow</var> method to 
signal the <var>OnShow</var> event handler (when assigned).
</p>
<p>
OnDialogShow is assigned as the <var>OnShow</var> event handler for the form 
in <var>DlgForm</var> in the <var>Execute</var> method.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.Execute"/>
<link id="TCalculatorDialog.OnDialogShow"/>
<link id="#lcl.dialogs.TCommonDialog.OnShow">TCommonDialog.OnShow</link>
</seealso>
</element>
<element name="TCalculatorDialog.OnDialogShow.Sender">
<short>Object for the event notification.</short>
</element>

<element name="TCalculatorDialog.OnDialogCloseQuery">
<short>
Implements the event handler signalled to determine if the dialog can be 
closed.
</short>
<descr>
<p>
<var>OnDialogCloseQuery</var> implements the event handler signalled to 
determine if the dialog can be closed. OnDialogCloseQuery sets the value in 
the <var>UserChoice</var> property to the modal result returned by the dialog 
form in <var>DlgForm</var>. It calls <var>DoCanClose</var> to signal the 
<var>OnCanClose</var> event handler (when assigned).
</p>
<p>
OnDialogCloseQuery is assigned as the <var>OnCloseQuery</var> event handler 
for the form in DlgForm in the <var>Execute</var> method.
</p>
</descr>
<seealso>
<link id="#lcl.dialogs.TCommonDialog.Execute">TCommonDialog.Execute</link>
<link id="#lcl.dialogs.TCommonDialog.OnCanClose">TCommonDialog.OnCanClose</link>
</seealso>
</element>
<element name="TCalculatorDialog.OnDialogCloseQuery.Sender">
<short>Object for the event notification.</short>
</element>
<element name="TCalculatorDialog.OnDialogCloseQuery.CanClose">
<short><b>True</b> when the dialog can be closed.</short>
</element>

<element name="TCalculatorDialog.Change">
<short>
<var>Change</var> - software emulator for the <var>OnChange</var> event ???
</short>
<descr>
<p>
<var>Change</var> is a procedure used to perform actions needed when the 
dialog has been changed. Change signals the <var>OnChange</var> event handler 
(when assigned).
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.OnChange"/>
</seealso>
</element>

<element name="TCalculatorDialog.CalcKey">
<short>
Implements the event handler signalled to process keys in the dialog.
</short>
<descr>
<p>
<var>CalcKey</var> is a procedure which implements the event handler 
signalled to process keys in the dialog. CalcKey signals the 
<var>OnCalcKey</var> event handler (when assigned).
</p>
<p>
CalcKey is assigned as the <var>OnCalcKey</var> event handler for the 
TCalculatorForm instance created in the <var>Execute</var> method.
</p>
</descr>
<seealso>
<link id="TCalculatorForm.OnCalcKey"/>
<link id="TCalculatorDialog.OnCalcKey"/>
<link id="TCalculatorDialog.Execute"/>
</seealso>
</element>
<element name="TCalculatorDialog.CalcKey.Key">
<short>Key examined in the event handler.</short>
</element>

<element name="TCalculatorDialog.DefaultTitle">
<short>
Gets the default value used in the Title property for the calculator dialog.
</short>
<descr>
<p>
<var>DefaultTitle</var> is an overridden <var>String</var> function which 
gets the default value used in the <var>Title</var> property for the 
calculator dialog. The return value is set to the <var>rsCalculator</var> 
resource string in <var>TCalculatorDialog</var>.
</p>
<p>
The value from DefaultTitle is assigned to the Title property in the 
constructor for the class instance.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.Create"/>
<link id="#lcl.dialogs.TCommonDialog.Title">TCommonDialog.Title</link>
<link id="#lcl.dialogs.TCommonDialog.Create">TCommonDialog.Create</link>
<link id="#lcl.dialogs.TCommonDialog.DefaultTitle">TCommonDialog.DefaultTitle</link>
</seealso>
</element>
<element name="TCalculatorDialog.DefaultTitle.Result">
<short>
Default value for the Title property.
</short>
</element>

<element name="TCalculatorDialog.DisplayChange">
<short>
Implements the event handler signalled when the calculator display has been 
changed on the dialog form.
</short>
<descr>
<p>
<var>DisplayChange</var> signals the OnDisplayChange event handler (when 
assigned) to perform actions needed for the update. DisplayChange is used as 
the handler routine for the OnDisplayChange property in TCalculatorForm. It 
is assigned when the calculator form instance is created and configured in 
the Execute method. It allows the dialog form to notify the dialog component 
when its calculator panel has been updated.
</p>
</descr>
<seealso/>
</element>

<element name="TCalculatorDialog.Create">
<short>Constructor for the class instance.</short>
<descr>
<p>
<var>Create</var> is the overridden constructor for the 
<var>TCalculatorDialog</var> class. It calls the inherited method on entry, 
and sets the default values for properties including:
</p>
<ul>
<li>Precision</li>
<li>BeepOnError</li>
<li>DialogScale</li>
<li>CalculatorLayout</li>
<li>ColorBtnDigits</li>
<li>ColorBtnOthers</li>
<li>ColorBtnMemory</li>
<li>ColorBtnOk</li>
<li>ColorBtnCancel</li>
<li>ColorBtnClear</li>
<li>ColorDisplayText</li>
<li>ColorDisplayBack</li>
</ul>
</descr>
<seealso>
<link id="TExtCommonDialog.Create"/>
</seealso>
</element>
<element name="TCalculatorDialog.Create.AOwner">
<short>Owner of the class instance.</short>
</element>

<element name="TCalculatorDialog.Destroy">
<short>Destructor for the class instance.</short>
<descr>
<p>
<var>Destroy</var> is the overridden destructor for the 
<var>TCalculatorDialog</var> class. Destroy frees references to handler 
routines assigned to the OnChange and OnDisplayChange properties. It calls 
the inherited method prior to exit.
</p>
</descr>
<seealso>
<link id="TExtCommonDialog.Destroy"/>
</seealso>
</element>

<element name="TCalculatorDialog.Execute">
<short>
Creates, configures, and displays the form for the calculator dialog.
</short>
<descr>
<p>
<var>Execute</var> is an overridden <var>Boolean</var> function used to 
create, configure, display, and capture the result from the form for the 
calculator dialog. Execute calls <var>CreateCalculatorForm</var> to create 
the <var>TCalculatorForm</var> in the <var>DlgForm</var> property, and sets 
the event handlers for the form to methods defined in the class instance. For 
example:
</p>
<dl>
<dt>DlgForm.OnCalcKey</dt>
<dd>Set to the CalcKey method</dd>
<dt>DlgForm .OnDisplayChange</dt>
<dd>Set to the DisplayChange method</dd>
<dt>DlgForm.OnShow</dt>
<dd>Set to the OnDialogShow method</dd>
<dt>DlgForm.OnClose</dt>
<dd>Set to the OnDialogClose method</dd>
<dt>DlgForm.OnCloseQuery</dt>
<dd>Set to the OnDialogCloseQuery method</dd>
</dl>
<p>
When <var>DialogScale</var> contains any value other than <b>100</b>, the 
scaling percentage is applied to DlgForm.
</p>
<p>
The value in <var>DialogPosition</var> is stored in DlgForm as well. At 
design-time, the dialog position is always aligned to the center of the 
screen (or current monitor). When DialogPosition is <var>poDesigned</var>, 
the form coordinates in DlgForm are set to the values in the <var>Left</var> 
and <var>Top</var> properties. The content stored in the <var>Title</var>, 
<var>Memory</var>, <var>Precision</var>, and <var>Value</var> properties are 
copied into the corresponding properties in DlgForm.
</p>
<p>
Execute calls the <var>ShowModal</var> method in DlgForm to display the modal 
calculator dialog form. The return value for the method is set to <b>True</b> 
when the modal result from the form is <var>mrOk</var>. When the result is 
<b>True</b>, the <var>Memory</var> and <var>Value</var> properties are 
updated with the values form the dialog form. The <var>Change</var> method is 
called when the Value property has been altered.
</p>
<p>
The coordinates for the form are captured on exit, and stored in the 
<var>Left</var> and <var>Top</var> properties. The dimensions for the form 
(Width and Height) are also stored.
</p>
<p>
Execute frees the resources allocated to the DlgForm property prior to exit 
from the method.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.Title"/>
<link id="TCalculatorDialog.Memory"/>
<link id="TCalculatorDialog.Precision"/>
<link id="TCalculatorDialog.Value"/>
<link id="TExtCommonDialog.DialogPosition"/>
<link id="TExtCommonDialog.Left"/>
<link id="TExtCommonDialog.Top"/>
<link id="#lcl.calcform.CreateCalculatorForm">CreateCalculatorForm</link>
<link id="#lcl.calcform.TCalculatorForm">TCalculatorForm</link>
<link id="#lcl.dialogs.TCommonDialog.Execute">TCommonDialog.Execute</link>
</seealso>
</element>
<element name="TCalculatorDialog.Execute.Result">
<short><b>True</b> when the modal result for the form is mrOk.</short>
</element>

<element name="TCalculatorDialog.CalcDisplay">
<short>
<var>CalcDisplay</var> - the current numeric value in the main calculator 
display.
</short>
<descr>
<p>
<var>CalcDisplay</var> is a read-only <var>Double</var> property which 
contains the current numeric value for the calculator. The property value is 
read from the <var>TCalculatorForm</var> instance in <var>DlgForm</var> when 
it has been assigned. Otherwise the content stored in <var>Value</var> is 
used as the property value.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.Value"/>
<link id="#lcl.calcform.TCalculatorForm">TCalculatorForm</link>
</seealso>
</element>

<element name="TCalculatorDialog.Memory">
<short>
<var>Memory</var> - the value stored in the calculator's memory.
</short>
<descr>
<p>
<var>Memory</var> is a read-only <var>Double</var> property which contains 
the numeric value stored using the Memory button on the calculator dialog. 
The value in Memory is passed to the form in <var>DlgForm</var> in the 
<var>Execute</var> method, and updated when the modal result for the 
calculator form is <var>mrOk</var>.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.Execute"/>
<link id="#lcl.calcform.TCalculatorForm">TCalculatorForm</link>
</seealso>
</element>

<element name="TCalculatorDialog.BeepOnError">
<short>
<var>BeepOnError</var> - if <b>True</b>, beeps when there is an entry error 
or other calculator error.
</short>
<descr>
<p>
<var>BeepOnError</var> is a <var>Boolean</var> property which indicates if a 
beep occurs when an error occurs in the calculator dialog. The default value 
for the property is <b>True</b>. The value in BeepOnError is assigned to the 
corresponding property in <var>DlgForm</var> in the <var>Execute</var> method.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.Execute"/>
<link id="#lcl.calcform.TCalculatorForm">TCalculatorForm</link>
</seealso>
</element>

<element name="TCalculatorDialog.CalculatorLayout">
<short>
<var>CalculatorLayout</var> - whether simple or normal.
</short>
<descr>
<p>
<var>CalculatorLayout</var> is a <var>TCalculatorLayout</var> property which 
specifies the layout used for the calculator dialog form in 
<var>DlgForm</var>. CalculatorLayout is passed as an argument to the 
<var>CreateCalculatorForm</var> routine in <var>Execute</var>, and determines 
the size and position for the panels and buttons on the form.
</p>
<dl>
<dt>clNormal</dt>
<dd>Buttons and panels use a larger size with more whitespace</dd>
<dt>clSimple</dt>
<dd>Buttons and panels use a more compact size with less whitespace</dd>
</dl>
<p>
The default value for the property is <var>clNormal</var>.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.Execute"/>
<link id="#lcl.calcform.TCalculatorLayout">TCalculatorLayout</link>
<link id="#lcl.calcform.CreateCalculatorForm">CreateCalculatorForm</link>
</seealso>
</element>

<element name="TCalculatorDialog.Precision">
<short>
<var>Precision</var> - the level of precision to be used in calculations; 
default is set by <var>DefCalcPrecision</var>.
</short>
<descr>
<p>
<var>Precision</var> is a <var>Byte</var> property which indicates the number 
of precision digits used when formatting the display for the <var>Value</var> 
property. Precision is assigned to the dialog form in <var>DlgForm</var>, and 
passed as an argument when calling the <var>FloatToStrF</var> routine.
</p>
<p>
The default value for the property is determined by the 
<var>CalcDefPrecision</var> constant.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.Value"/>
<link id="TCalculatorDialog.CalcDisplay"/>
<link id="#lcl.calcform.TCalculatorForm">TCalculatorForm</link>
<link id="#lcl.calcform.CalcDefPrecision">CalcDefPrecision</link>
<link id="#rtl.sysutils.FloatToStrF">FloatToStrF</link>
</seealso>
</element>

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

<element name="TCalculatorDialog.Value">
<short>
<var>Value</var> - the numeric value (result) returned by the calculator.
</short>
<descr>
<p>
<var>Value</var> is a <var>Double</var> property which contains the numeric 
value passed to and returned from the calculator dialog form. Value is 
assigned to the <var>TCalculatorForm</var> instance in <var>DlgForm</var> in 
the <var>Execute</var> method, and updated when the modal result for the form 
is <var>mrOk</var>.
</p>
<p>
Value is used as the value for the <var>CalcDisplay</var> property when the 
dialog form in DlgForm has not been assigned (contains <b>Nil</b>).
</p>
</descr>
<seealso>
<link id="TCalendarDialog.Execute"/>
<link id="#lcl.calcform.TCalculatorForm">TCalculatorForm</link>
</seealso>
</element>

<element name="TCalculatorDialog.OnCalcKey">
<short>
<var>OnCalcKey</var> - event handler for a key press in the calculator.
</short>
<descr>
<p>
<var>OnCalcKey</var> is a <var>TKeyPressEvent</var> property used as the 
event handler for key press events in the calculator dialog form. OnCalcKey 
is signalled from the <var>CalcKey</var> method which is assigned as the 
<var>OnCalcKey</var> event handler in <var>DlgForm</var>.
</p>
<p>
Applications must implement an object procedure using the signature in 
<var>TKeyPressEvent</var> to respond to the event notification.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.CalcKey"/>
<link id="#lcl.calcform.TCalculatorForm.OnCalcKey">TCalculatorForm.OnCalcKey</link>
<link id="#lcl.controls.TKeyPressEvent">TKeyPressEvent</link>
</seealso>
</element>

<element name="TCalculatorDialog.OnChange">
<short>
<var>OnChange</var> - event handler for any change in the calculator.
</short>
<descr>
<p>
<var>OnChange</var> is a <var>TNotifyEvent</var> property used as the event 
handler signalled when the value for the calculator dialog is changed. 
OnChange is signalled from the <var>Change</var> method when the calculator 
dialog returns a modified value for the <var>Value</var> property.
</p>
<p>
Applications must implement an object procedure using the signature in 
<var>TNotifyEvent</var> to respond to the event notification.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.Change"/>
<link id="TCalculatorDialog.Execute"/>
<link id="#lcl.calcform.TCalculatorForm">TCalculatorForm</link>
<link id="#rtl.classes.TNotifyEvent">TNotifyEvent</link>
</seealso>
</element>

<element name="TCalculatorDialog.OnDisplayChange">
<short>
<var>OnDisplayChange</var> - event handler for any change in the calculator 
display.
</short>
<descr>
<var>OnDisplayChange</var> is a <var>TNotifyEvent</var> property used as the 
event handler signalled when the display value for the calculator dialog is 
changed. OnDisplayChange is signalled from the <var>DisplayChanged</var> 
method which is assigned as the <var>OnDisplayChange</var> event handler in 
<var>DlgForm</var>.
</descr>
<seealso>
<link id="TCalculatorDialog.Execute"/>
<link id="TCalculatorDialog.DisplayChange"/>
<link id="#lcl.calcform.TCalculatorForm.OnDisplayChange">TCalculatorForm.OnDisplayChange</link>
<link id="#rtl.classes.TNotifyEvent">TNotifyEvent</link>
</seealso>
</element>

<element name="TCalculatorDialog.DialogScale">
<short>
Scaling percentage applied to the calculator dialog form.
</short>
<descr>
<p>
<var>DialogScale</var> is an <var>Integer</var> property which indicates the 
scaling percentage applied to the height and width for the calculator dialog. 
When the value for the property is changed, it its validated and adjusted to 
ensure that it is in the range <b>80...400</b> (the minimum and maximum 
allowed for the property).
</p>
<p>
DialogScale is passed as the multiplier argument to the <var>ScaleBy</var> 
method in <var>TCalculatorForm</var>; the divisor is always set to <b>100</b>.
</p>
<p>
The default value for the property is <b>100</b>, and indicates that the 
dialog is displayed at <b>100%</b> of its designed size.
</p>
</descr>
<seealso>
<link id="TCalculatorDialog.Execute"/>
</seealso>
</element>

<element name="TCalculatorDialog.ColorBtnDigits">
<short>Color for the digit buttons displayed in the calculator dialog.</short>
<descr/>
<seealso/>
</element>

<element name="TCalculatorDialog.ColorBtnMemory">
<short>Color for the Memory button displayed in the calculator dialog.</short>
<descr/>
<seealso/>
</element>

<element name="TCalculatorDialog.ColorBtnOk">
<short>Color for the OK button displayed in the calculator dialog.</short>
<descr/>
<seealso/>
</element>

<element name="TCalculatorDialog.ColorBtnCancel">
<short>Color for the Cancel button displayed in the calculator dialog.</short>
<descr/>
<seealso/>
</element>

<element name="TCalculatorDialog.ColorBtnClear">
<short>Color for the Clear button displayed in the calculator dialog.</short>
<seealso/>
</element>

<element name="TCalculatorDialog.ColorBtnOthers">
<short>Color for other buttons displayed in the calculator dialog.</short>
<descr/>
<seealso/>
</element>

<element name="TCalculatorDialog.ColorDisplayText">
<short>Color for text displayed in the calculator dialog.</short>
<descr/>
<seealso/>
</element>

<element name="TCalculatorDialog.ColorDisplayBack">
<short>
Color for background in the display area for the calculator dialog.
</short>
<descr/>
<seealso/>
</element>

<element name="TCalendarDialog">
<short>
<var>TCalendarDialog</var> - a popup calendar dialog that allows a date to be 
selected and returned to the main program.
</short>
<descr>
<p>
<var>TCalendarDialog</var> is a <var>TExtCommonDialog</var> descendant which 
implements a calendar dialog used to select a date from a 
<var>TCalendar</var> control. It provides a Date property that contains the 
date used when selecting a date using the Calendar control displayed in the 
dialog.
</p>
<p>
TCalendarDialog creates and configures a <var>TForm</var> instance that is 
displayed in the <var>Execute</var> method for the dialog. The form uses the 
<var>Title</var>, <var>DialogPosition</var>, <var>DisplaySettings</var>, and 
<var>Date</var> properties assigned in the class. A new <var>TCalendar</var> 
control is created for the form, and stored in the <var>Calendar</var> 
property. Methods which implement the event handlers for the calendar control 
are also assigned. The form instance is displayed modally, and the modal 
result is captured in the <var>UserChoice</var> property. <var>Date</var> is 
updated when a calendar date is selected while the form is active.
</p>
</descr>
<seealso>
<link id="TExtCommonDialog"/>
<link id="TCalendarDialog.Date"/>
<link id="TExtCommonDialog.DialogPosition"/>
<link id="TExtCommonDialog.DlgForm"/>
<link id="TCalendarDialog.Execute"/>
<link id="#lcl.calendar.TCalendar">TCalendar</link>
</seealso>
</element>

<element name="TCalendarDialog.FDate"/>
<element name="TCalendarDialog.FDayChanged"/>
<element name="TCalendarDialog.FDisplaySettings"/>
<element name="TCalendarDialog.FMonthChanged"/>
<element name="TCalendarDialog.FYearChanged"/>
<element name="TCalendarDialog.FOnChange"/>
<element name="TCalendarDialog.FOKCaption"/>
<element name="TCalendarDialog.FCancelCaption"/>
<element name="TCalendarDialog.FCalendar"/>
<element name="TCalendarDialog.okButton"/>
<element name="TCalendarDialog.cancelButton"/>
<element name="TCalendarDialog.panel"/>

<element name="TCalendarDialog.OnDialogClose">
<short>
Implements the event handler signalled when the dialog form is closed.
</short>
<descr>
<p>
<var>OnDialogClose</var> calls the DoClose method to signal the OnClose event 
handler (when assigned).
</p>
<p>
OnDialogClose is assigned to the OnClose event handler for the dialog form 
created in the Execute method.
</p>
<p>
See OnDialogCloseQuery for the handler routine used in the OnCloseQuery event 
handler for the dialog form.
</p>
</descr>
<seealso>
<link id="TCalendarDialog.DoClose"/>
<link id="TCalendarDialog.OnClose"/>
<link id="TCalendarDialog.Execute"/>
<link id="#lcl.forms.TCustomForm.OnClose">TCustomForm.OnClose</link>
</seealso>
</element>
<element name="TCalendarDialog.OnDialogClose.Sender">
<short>
Object instance for the event notification. Not used in TCalendarDialog.
</short>
</element>
<element name="TCalendarDialog.OnDialogClose.CloseAction">
<short>
Action to perform when the dialog is closed. Not used in TCalendarDialog.
</short>
</element>

<element name="TCalendarDialog.OnDialogCloseQuery">
<short>
Implements the event handler signalled to determine if the dialog form can be 
closed.
</short>
<descr>
<p>
<var>OnDialogCloseQuery</var> copies the value from the ModalResult property 
to the UserChoice property in the dialog component.
</p>
<p>
The CanClose argument is a variable parameter which contains True if the form 
can be closed. It is passed as an argument to the DoCanClose method where the 
OnCanClose event handler is signalled (when assigned) to get its return 
value. OnCanClose should set CanClose to False to prevent closing the form.
</p>
<p>
OnDialogCloseQuery is assigned to the OnCloseQuery event handler for the 
dialog form created in the Execute method.
</p>
<p>
See OnDialogClose for the actions performed when the form is actually closed.
</p>
</descr>
<seealso>
<link id="TCalendarDialog.OnDialogClose"/>
<link id="#lcl.dialogs.TCommonDialog.UserChoice">TCommonDialog.UserChoice</link>
<link id="#lcl.forms.TCustomForm.OnCloseQuery">TCustomForm.OnCloseQuery</link>
</seealso>
</element>
<element name="TCalendarDialog.OnDialogCloseQuery.Sender">
<short>
Object instance for the event notification. Not used in the method.
</short>
</element>
<element name="TCalendarDialog.OnDialogCloseQuery.CanClose">
<short>
Returns the value from the OnCanClose event handler.
</short>
</element>

<element name="TCalendarDialog.OnDialogShow">
<short>
Implements the event handler signalled when the dialog form is displayed.
</short>
<descr/>
<seealso></seealso>
</element>
<element name="TCalendarDialog.OnDialogShow.Sender">
<short>
Object instance (TForm) for the event notification.
</short>
</element>

<element name="TCalendarDialog.OnCalendarDayChanged">
<short>
Implements the event handler signalled when the day number in Date is changed.
</short>
<descr></descr>
<seealso></seealso>
</element>
<element name="TCalendarDialog.OnCalendarDayChanged.Sender">
<short>
Object instance (TForm) for the event notification.  
</short>
</element>

<element name="TCalendarDialog.OnCalendarMonthChanged">
<short>
Implements the event handler signalled when the month in Date is changed.
</short>
<descr></descr>
<seealso></seealso>
</element>
<element name="TCalendarDialog.OnCalendarMonthChanged.Sender">
<short>
Object instance (TForm) for the event notification.  
</short>
</element>

<element name="TCalendarDialog.OnCalendarYearChanged">
<short>
Implements the event handler signalled when the year in Date is changed.
</short>
<descr></descr>
<seealso></seealso>
</element>
<element name="TCalendarDialog.OnCalendarYearChanged.Sender">
<short>
Object instance (TForm) for the event notification.  
</short>
</element>

<element name="TCalendarDialog.OnCalendarChange">
<short>
Event handler used to signal the OnChange event when the Calendar is updated.
</short>
<descr></descr>
<seealso></seealso>
</element>
<element name="TCalendarDialog.OnCalendarChange.Sender">
<short>
Object instance (TForm) for the event notification.  
</short>
</element>

<!-- protected -->
<element name="TCalendarDialog.WSRegisterClass" link="#lcl.lclclasses.TLCLComponent.WSRegisterClass"/>

<element name="TCalendarDialog.GetNewDate">
<short>
Gets the date value from the Calendar on the dialog form.
</short>
<descr>
<p>
<var>GetNewDate</var> is a procedure used to get the date value from the 
TCalendar control on the dialog form. It assigns the DateTime value from the 
calendar control to the Date property in the dialog component.
</p>
<p>
GetNewDate is called from methods like CalendarDblClick, 
OnCalendarDayChanged, OnCalendarYearChanged, and OnCalendarMonthChanged. It 
is assigned as the OnClick event handler for the OK button displayed on the 
calendar dialog form.
</p>
</descr>
<seealso></seealso>
</element>
<element name="TCalendarDialog.GetNewDate.Sender">
<short>
Object instance for the event notification. Not used in the method.
</short>
</element>

<element name="TCalendarDialog.CalendarDblClick">
<short>
Implements the event handler signalled for a double click on the calendar 
control in the dialog.
</short>
<descr>
<p>
<var>CalendarDblClick</var> is the handler routine assigned to the OnDblClick 
event in the TCalendar instance for the dialog form. It ensures that the 
value in Date is updated when a mouse double click occurs on a date in the 
TCalendar control on the dialog form. GetNewDate is called to update the 
value in Date. The calendar dialog form is updated to set its ModalResult 
value to mbOK.
</p>
</descr>
<seealso>
<link id="TCalendarDialog.Execute"/>
<link id="#lcl.calendar.TCalendar.OnDblClick">TCalendar.OnDblClick</link>
</seealso>
</element>
<element name="TCalendarDialog.CalendarDblClick.Sender">
<short>
Object instance (TForm) for the event notification.  
</short>
</element>

<element name="TCalendarDialog.DefaultTitle">
<short>
Gets the default value for the Title property used as the Caption for the 
calendar dialog form.
</short>
<descr>
<p>
The return value is set to the content in the rsPickDate resource string.
</p>
</descr>
<seealso></seealso>
</element>
<element name="TCalendarDialog.DefaultTitle.Result">
<short>Default value for the Title property.</short>
</element>

<!-- public -->
<element name="TCalendarDialog.Create">
<short>Constructor for the class instance.</short>
<descr>
<p>
<var>Create</var> is the overridden constructor for the 
<var>TCalendarDialog</var> class. It calls the inherited method entry which 
sets the value in DialogPosition to poMainFormCenter. Create sets the default 
values for properties including:
</p>
<dl>
<dt>DisplaySettings</dt>
<dd>Set to the value in the DefaultDisplaySettings constant.</dd>
<dt>Date</dt>
<dd>Set to the date part of the value from the Now function.</dd>
<dt>OKCaption</dt>
<dd>Set to the value in the rsMbOK resource string.</dd>
<dt>CancelCaption</dt>
<dd>Set to the value in the rsMbCancel resource string.</dd>
</dl>
</descr>
<seealso/>
</element>
<element name="TCalendarDialog.Create.AOwner">
<short>Owner of the class instance.</short>
</element>

<element name="TCalendarDialog.Execute">
<short>
Creates and displays the form for the calendar dialog, and captures the 
results.
</short>
<descr>
<p>
<var>Execute</var> is an overridden method in <var>TCalendarDialog</var>. It 
creates and configures a new TForm instance displayed for the dialog 
component. The dialog form includes controls needed to select a 
date value, and to accept or reject the selected value. This includes:
</p>
<ul>
<li>TCalendar</li>
<li>TButton instances for the OK and Cancel buttons.</li>
</ul>
<p>
Values from properties in the class instance are used to configure the dialog 
form, including:
</p>
<dl>
<dt>Title</dt>
<dd>
Used as the Caption for the dialog form.
</dd>
<dt>DialogPosition</dt>
<dd>
Sets the Position property in the form instance at run-time. At design-time, 
the dialog is centered on the screen.
</dd>
<dt>DisplaySettings</dt>
<dd>
Sets the display settings used for the TCalendar instance on the dialog form.
</dd>
<dt>Date</dt>
<dd>
Sets the initial value for DateTime in the TCalendar instance on the dialog 
form.
</dd>
</dl>
<p>
Methods in the class instance are assigned to the event handlers for the 
dialog form and its controls, including:
</p>
<dl>
<dt>OnDialogShow</dt>
<dd>Assigned to the OnShow event handler in the dialog form.</dd>
<dt>OnDialogClose</dt>
<dd>Assigned to the OnClose event handler in the dialog form.</dd>
<dt>OnDialogCloseQuery</dt>
<dd>Assigned to the OnCloseQuery event handler in the dialog form.</dd>
<dt>OnCalendarDayChanged</dt>
<dd>
Assigned to the OnDayChanged event handler in the TCalendar instance on the 
form.
</dd>
<dt>OnCalendarMonthChanged</dt>
<dd>
Assigned to the OnMonthChanged event handler in the TCalendar instance on the 
form.
</dd>
<dt>OnCalendarYearChanged</dt>
<dd>
Assigned to the OnYearChanged event handler in the TCalendar instance on the 
form.
</dd>
<dt>OnCalendarChange</dt>
<dd>
Assigned to the OnChange event handler in the TCalendar instance on the form.
</dd>
<dt>CalendarDblClick</dt>
<dd>
Assigned to the OnDblClick event handler in the TCalendar instance on the 
form.
</dd>
</dl>
<p>
The ShowModal method for the dialog form is called to display the form and 
capture the return value. The return value is <b>True</b> if the ModalResult 
value is mrOK (when the OK button was clicked). The return value is 
<b>False</b> if the Cancel button was clicked or the form was closed using 
the window decoration.
</p>
<p>
The date selected using the calendar control is stored when the 
OnCalendarChange routine is executed (via TCalendar.OnChange). This causes 
the OnChange event handler in the class instance to be signalled to store the 
updated value.
</p>
<p>
The form is freed prior to exiting from the method.
</p>
</descr>
<seealso>
<link id="#lcl.dialogs.TCommonDialog.Execute">TCommonDialog.Execute</link>
</seealso>
</element>
<element name="TCalendarDialog.Execute.Result">
<short>
<b>True</b> if the OK button was used to close the dialog form.
</short>
</element>

<element name="TCalendarDialog.Left">
<short>Contains the left coordinate for the dialog.</short>
<descr>
<p>
Used when Position contains poDesigned. Otherwise, it is updated after the form is dynamically created, aligned, and displayed.
</p>
</descr>
<seealso></seealso>
</element>

<element name="TCalendarDialog.Top">
<short>Contains the top coordinate for the dialog.</short>
<descr>
<p>
Used when Position contains poDesigned. Otherwise, it is updated after the form is dynamically created, aligned, and displayed.
</p>
</descr>
<seealso></seealso>
</element>

<element name="TCalendarDialog.Date">
<short>The selected Date for the calendar dialog.</short>
<descr>
<p>
<var>Date</var> is a <var>TDateTime</var> property which contains the date 
displayed and updated using the form for the dialog. The initial value in 
Date is set in the Create constructor to the date returned from the Now 
function. The property is updated in the GetNewDate method when a new month, 
day, or year is selected using the calendar control on the dialog form.
</p>
<p>
This is <b>not</b> the standard RTL Date function.
</p>
</descr>
<seealso/>
</element>

<element name="TCalendarDialog.DisplaySettings">
<short>
The user-specified settings determining the appearance of the calendar on the 
dialog.
</short>
<descr>
<p>
<var>DisplaySettings</var> contains the user-specified settings which 
determine the appearance for the calendar displayed in the dialog.
</p>
<p>
DisplaySettings is a set type which may contain zero or more settings. 
Possible values include: ShowHeadings,ShowDayNames, NoMonthChange, 
ShowWeekNumbers.
</p>
</descr>
<seealso/>
</element>

<element name="TCalendarDialog.OnDayChanged">
<short>
Event handler signalled when the day number in Date has been changed.
</short>
<descr/>
<seealso/>
</element>

<element name="TCalendarDialog.OnMonthChanged">
<short>
Event handler signalled when a month number in Date has been changed.
</short>
<descr>
<p>
<var>OnMonthChanged</var> is an event handler signalled when the value for 
the Month in the Date is changed.
</p>
</descr>
<seealso/>
</element>

<element name="TCalendarDialog.OnYearChanged">
<short>
Event handler signalled when the year number in Date has been changed.
</short>
<descr/>
<seealso/>
</element>

<element name="TCalendarDialog.OnChange">
<short>
Event handler signalled when the value in Date has been changed.
</short>
<descr></descr>
<seealso></seealso>
</element>

<element name="TCalendarDialog.OKCaption">
<short>
Caption displayed on the OK button.
</short>
<descr>
<p>
<var>OKCaption</var> is a String property which contains the caption 
displayed on the OK button in the dialog.
</p>
</descr>
<seealso></seealso>
</element>

<element name="TCalendarDialog.CancelCaption">
<short>
Caption displayed on the Cancel button for the calendar dialog form.
</short>
<descr>
<p>
<var>CancelCaption</var> is a String property which contains the caption 
displayed on the Cancel button for the dialog.
</p>
</descr>
<seealso></seealso>
</element>

<element name="Register">
<short>Registers components in the unit for use in the Lazarus IDE.</short>
<descr>
<p>
<var>Register</var> is a procedure used to register components in the 
<file>extdlgs.pas</file> unit for use in the Lazarus IDE. Register adds the 
<var>TOpenPictureDialog</var>, <var>TSavePictureDialog</var>, 
<var>TCalendarDialog</var>, and <var>TCalculatorDialog</var> components to 
the <b>'Dialogs'</b> tab in the Lazarus IDE.
</p>
</descr>
<seealso/>
</element>

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