diff --git a/docs/xml/lcl/extdlgs.xml b/docs/xml/lcl/extdlgs.xml
index cd759daec1..9f97efc1f7 100644
--- a/docs/xml/lcl/extdlgs.xml
+++ b/docs/xml/lcl/extdlgs.xml
@@ -2,1305 +2,1544 @@
+ TPreviewFileControl is a TWinControl descendant which implements a windowed control that allows the content in a file to be viewed in a TPreviewFileDialog class instance.
+
+ TPreviewFileControl is the type used to implement the PreviewFileControl property in TPreviewFileDialog.
+
+ Overridden to ensure proper handling of the WS_CHILD flag in Style in the Parent control.
+
+ Create is the overridden constructor for the class instance, and calls the inherited constructor. Create sets the value for the CompStyle member (deprecated), and calls SetInitialBounds to size the control using the values returned from GetControlClassDefaultSize.
+
+ PreviewFileDialog is a TPreviewFileDialog property which contains the dialog which created the file preview control. The value in PreviewFileDialog is is assigned in the CreatePreviewControl method in TPreviewFileDialog.
+
+ TPreviewFileDialog is a TOpenDialog 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.
+
+ CreatePreviewControl is a procedure used to create and initialize the class instance used in the PreviewFileControl property. CreatePreviewControl create a TPreviewFileControl instance, sets its PreviewFileDialog property to the current class, and calls the InitPreviewControl method.
+
+ CreatePreviewControl is called from the DoExecute method in TPreviewFileDialog.
+
+ InitPreviewControl is a procedure used to initialize the PreviewFileControl property used in the dialog. InitPreviewControl sets the name for the control. InitPreviewControl is called from the CreatePreviewControl method.
+
+ DoExecute is an overridden Boolean function in TPreviewFileDialog.
+
+ DoExecute calls the CreatePreviewControl method to allocate resources for the PreviewFileControl 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 True when the dialog return value in UserChoice is mrOk.
+
+ DoExecute is called from the Execute method in the TCommonDialog ancestor class.
+
+ Create is the overridden constructor for the class instance. Create calls the inherited constructor, and sets the value in CompStyle (deprecated) to csPreviewFileDialog.
+
+ PreviewFileControl is a read-only TPreviewFileControl 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 CreatePreviewControl method called when the dialog is executed. The property value is unassigned (contains Nil) prior to calling Execute.
+
+ TOpenPictureDialog is a TPreviewFileDialog descendant which implements a dialog used to preview and select image files using common image formats recognized for the platform or OS. It provides DefaultFilter and Filter properties which use file masks for file extensions supported for the TGraphic class. The ImageCtrl property provides the image preview for the dialog.
+
+ IsFilterStored is a Boolean function used to get the value for the storage specifier for the Filter 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 True when the value in Filter is different than the value in DefaultFilter.
+
+ PictureGroupBox is a read-only TGroupBox property which provides a container for the ImageCtrl 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.
+
+ InitPreviewControl is overridden in TOpenPictureDialog. InitPreviewControl calls the inherited method, and ensures that PreviewFileControl is assigned as the Parent control for PictureGroupBox. InitPreviewControl is called from the inherited CreatePreviewControl method.
+
+ ClearPreview is a procedure used to clear the image content and the caption displayed in the dialog. ClearPreview is called from the DoShow, DoClose, and UpdatePreview methods.
+
+ UpdatePreview 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.
+
+ The FileName property is assigned to PreviewFileName, which is used as the source for the content displayed in ImageCtrl. 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 PictureGroupBox is updated to display the Width and Height for the stored image in the format '(%dx%d)'.
+
+ If the file is not successully loaded (due to permissions or image format), the ClearPreview method is called.
+
+ UpdatePreview is called from the DoSelectionChange method when the selected file name for the preview dialog has changed.
+
+ Create is the overridden constructor for the class instance, and calls the inherited constructor.
+
+ Creates sets the value in DefaultFilter to the all files mask for common image format used on the platform or OS. This value is also assigned to the Filter property for the dialog.
+
+ Create allocates resources needed for the PictureGroupBox and ImageCtrl properties, and sets their parentage, alignment, and display properties.
+
+ DoClose is an overridden method used to perform actions needed when the dialog is closed. DoClose calls ClearPreview to remove image content displayed in ImageCtrl and to clear the caption assigned to PictureGroupBox.
+
+ DoClose calls the inherited method to signal the OnClose event handler (when assigned).
+
+ DoSelectionChange is an overridden method used to perform actions needed when the selected file name for the dialog is changed. DoSelectionChange calls UpdatePreview to update the PreviewFileName, ImageCtrl and PictureGroupBox properties.
+
+ DoSelectionChange calls the inherited method to signal the OnSelectionChange event handler (when assigned).
+
+ DoShow is an overridden procedure used to display the Picture FIle Open preview dialog. DoShow calls ClearPreview to set the dialog to the state needed prior to selecting an image file name in the preview dialog.
+
+ DoShow calls the inherited method to signal the OnShow event handler (when assigned).
+
+ GetFilterExt is a String function used to get the file extension for the value in the Filter property. GetFilterExt parses the value in Filter, and ignores the all files mask ('*.*') in favor of actual file extensions included in the property.
+
+ The return value contains the file extension found in the Filter property. If no file extension is found in Filter, the value in DefaultExt is used as the return value.
+
+ GetFilterEx is used by the Lazarus IDE in the implementation of property editors for TGraphic and TImageList.
+
+ DefaultFilter is a read-only String property which provides the default value for the Filter property. DefaultFilter is populated in the Create 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.
+
+ Filter is a String 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.
+
+ The initial value for Filter is assigned in Create using the value from the DefaultFilter property.
+
+ Use GetFilterExt to get the file extension for the current Filter value selected in the dialog. Use FilterIndex to determine the position for the selected file filter.
+
+ TSavePictureDialog is a TOpenPictureDialog 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 DefaultTitle method to set the title displayed in the dialog.
+
+ DefaultTitle is an overridden String function in TSavePictureDialog. It returns the value in rsfdFileSaveAs as the Title used for the dialog. DefaultTitle is used in the constructor in TCommonDialog to set the value for the Title property.
+
+ Create is the overridden constructor for the class instance, and calls the inherited constructor. Create sets the value in the FCompStyle member (deprecated) to the value csSaveFileDialog.
+
+ TExtCommonDialog is a TCommonDialog descendant which implements a common base class for custom drawn dialogs such as TCalculatorDialog and TCalendarDialog. It provides additional properties used to set the position for the form displayed in the dialog.
+
+ DlgForm is a TCustomForm property which contains the form displayed with the content for the custom-drawn dialog.
+
+ The value in DlgForm is assigned in descendent classes to use the form type required for the dialog. Changes to values in the Top, Left, and DialogPosition properties are applied to the corresponding properties in DlgForm.
+
+ Left is an Integer 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).
+
+ Use the Top property to access the coordinate for the top edge of the dialog.
+
+ Top is an Integer 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).
+
+ Use the Left property to access the coordinate for the left-hand edge of the dialog.
+
+ DialogPosition is a TPosition property which specifies the position where the dialog is displayed. The default value for the property is poMainFormCenter, and indicates that the dialog is centered both horizontally and vertically on the main form for the application.
+
+ See for more information about the values in the TPosition enumeration and their meanings.
+
+ The value in DialogPosition is used in descendent classes when the dialog is Executed.
+
+ TCalculatorDialog is a TExtCommonDialog 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.
+
+ 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:
+
+ Use the Memory property to store or retrieve a value for the calculator dialog.
+
+ GetDisplay is a Double function used to get the display value from the form instance in DlgForm. If DlgForm has not been assigned, the Value property is used as the return value for the method.
+
+ OnDialogClose implements the event handler signalled when the dialog form is closed. OnDialogClose calls the DoClose method to execute the OnClose event handler (when assigned).
+
+ OnDialogClose is assigned as the OnClose event handler for the form in DlgForm in the Execute method.
+
+ OnDialogShow implements the event handler signalled when the dialog form is displayed. OnDialogShow calls the DoShow method to signal the OnShow event handler (when assigned).
+
+ OnDialogShow is assigned as the OnShow event handler for the form in DlgForm in the Execute method.
+
+ OnDialogCloseQuery implements the event handler signalled to determine if the dialog can be closed. OnDialogCloseQuery sets the value in the UserChoice property to the modal result returned by the dialog form in DlgForm. It calls DoCanClose to signal the OnCanClose event handler (when assigned).
+
+ OnDialogCloseQuery is assigned as the OnCloseQuery event handler for the form in DlgForm in the Execute method.
+
+ Change is a procedure used to perform actions needed when the dialog has been changed. Change signals the OnChange event handler (when assigned).
+
+ CalcKey is a procedure which implements the event handler signalled to process keys in the dialog. CalcKey signals the OnCalcKey event handler (when assigned).
+
+ CalcKey is assigned as the OnCalcKey event handler for DlgForm in the Execute method.
+
+ DefaultTitle is an overridden String function which gets the default value used in the Title property for the calculator dialog. The return value is set to the rsCalculator resource string in TCalculatorDialog.
+
+ The value from DefaultTitle is assigned as the value for the Title property in the constructor for the class instance.
+
- TCalculatorForm - a normal form with a built-in calculator There is a MainPanel in which the standard LCL widgets can be placed, and a CalcPanel which displays a calculator which has the functionality of a TCalculatorDialog but remains permanently displayed
+
+
+ When DialogScale contains any value other than 100, the scaling percentage is applied to DlgForm. +
++ The value in DialogPosition 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 poDesigned, the form coordinates in DlgForm are set to the values in the Left and Top properties. The content stored in the Title, Memory, Precision, and Value properties are copied into the corresponding properties in DlgForm. +
++ Execute calls the ShowModal method in DlgForm to display the modal calculator dialog form. The return value for the method is set to True when the modal result from the form is mrOk. When the result is True, the Memory and Value properties are updated with the values form the dialog form. The Change method is called when the Value property has been altered. +
++ The coordinates for the form are captured on exit, and stored in the Left and Top properties. The dimensions for the form (Width and Height) are also stored. +
++ Execute frees the resources allocated to the DlgForm property prior to exit from the method. +
-+ CalcDisplay is a read-only Double property which contains the current numeric value for the calculator. The property value is read from the TCalculatorForm instance in DlgForm when it has been assigned. Otherwise the content stored in Value is used as the property value. +
++ Memory is a read-only Double 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 DlgForm in the Execute method, and updated when the modal result for the calculator form is mrOk. +
++ BeepOnError is a Boolean property which indicates if a beep occurs when an error occurs in the calculator dialog. The default value for the property is True. The value in BeepOnError is assigned to the corresponding property in DlgForm in the Execute method. +
++ CalculatorLayout is a TCalculatorLayout property which specifies the layout used for the calculator dialog form in DlgForm. CalculatorLayout is passed as an argument to the CreateCalculatorForm routine in Execute, and determines the size and position for the panels and buttons on the form. +
++ The default value for the property is clNormal. +
++ Precision is a Byte property which indicates the number of precision digits used when formatting the display for the Value property. Precision is assigned to the dialog form in DlgForm, and passed as an argument when calling the FloatToStrF routine. +
++ The default value for the property is determined by the CalcDefPrecision constant. +
++ Value is a Double property which contains the numeric value passed to and returned from the calculator dialog form. Value is assigned to the TCalculatorForm instance in DlgForm in the Execute method, and updated when the modal result for the form is mrOk. +
++ Value is used as the value for the CalcDisplay property when the dialog form in DlgForm has not been assigned (contains Nil). +
++ OnCalcKey is a TKeyPressEvent property used as the event handler for key press events in the calculator dialog form. OnCalcKey is signalled from the CalcKey method which is assigned as the OnCalcKey event handler in DlgForm. +
++ Applications must implement an object procedure using the signature in to respond to the event notification. +
++ OnChange is a TNotifyEvent property used as the event handler signalled when the value for the calculator dialog is changed. OnChange is signalled from the Change method when the calculator dialog returns a modified value for the Value property. +
++ Applications must implement an object procedure using the signature in to respond to the event notification. +
++ DialogScale is an Integer 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 80...400 (the minuimum and maximum allowed for the property). +
++ DialogScale is passed as the multiplier argument to the ScaleBy method in TCalculatorForm; the divisor is always set to 100. +
++ The default value for the property is 100, and indicates that the dialog is displayed at 100% of its designed size. +
++ TCalendarDialog is a TExtCommonDialog descendant which implements a calendar dialog used to select a date from a TCalendar control. It provides a Date property that contains the date used when selecting a date using the Calendar control displayed in the dialog. +
++ TCalendarDialog creates and configures a TForm instance that is displayed in the Execute method for the dialog. The form uses the Title, DialogPosition, DisplaySettings, and Date properties assigned in the class. A new TCalendar control is created for the form, and stored in the Calendar 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 UserChoice property. Date is updated when a calendar date is selected while the form is active. +
+The selected Date, for return to the main program
-This is NOT the standard RTL Date function
+The selected Date, for return to the main program.
+This is NOT the standard RTL Date function.
- DisplaySettings - the user-selected settings determining the appearance of the display
-Possible values are: ShowHeadings,ShowDayNames, NoMonthChange, ShowWeekNumbers, StartMonday
-This is a set which may contain zero or more settings
+ DisplaySettings contains the user-specified settings which determine the appearance for the calendar displayed in the dialog. + ++ DisplaySettings is a set type which may contain zero or more settings. Possible values include: ShowHeadings,ShowDayNames, NoMonthChange, ShowWeekNumbers, StartMonday. +
+ OnMonthChanged is an event handler signalled when the value for the Month in the Date is changed. +
++ OKCaption is a String property which contains the caption displayed on the OK button in the dialog. +
++ CancelCaption is a String property which contains the caption displayed on the Cancel button for the dialog. +
+
+ Register is a procedure used to register components in the