diff --git a/docs/xml/lcl/buttons.xml b/docs/xml/lcl/buttons.xml
index 6b9fd91e1a..d4b5dcf705 100644
--- a/docs/xml/lcl/buttons.xml
+++ b/docs/xml/lcl/buttons.xml
@@ -2809,6 +2809,9 @@
+
- Standard properties, which should be supported by all descendants. Reads flag or writes one to determine if a hint is to be shown when mouse hovers over this control. If value is stored, a storage flag is set. Display of the actual hint is controlled by OnShowHint.
-
- Create sets the Control and Kind properties to the values specified in the AControl and AKind arguments. Create sets the default values for properties, including: + Create sets the assocaited control for the class instance and the Kind property to the values specified in the AControl and AKind arguments. Create sets the default values for properties, including:
+ IsScrollBarVisible is a Boolean function used to determine if the scroll bar for the associatied control is visible. The return value defaults to the value in the Visible property. If the handle has been allocated for the control, the GetScrollbarVisible routine from the LCL interface is used to get the visiblity for the scroll bar Kind. +
++ IsScrollBarVisible is used in the implementation of the ClientSizeWithBar and ClientSizeWithoutBar methods. +
++ The length of the bar is the Width (or Height) of the Parent Control, the Size is the other (free) coordinate. +
++ ControlSize is an Integer function used to get the size for the associated control in the class instance. Uses the value in Kind to determine the control property used as the return value. When Kind is sbVertical, the Width for the associated Control is used. When Kind is sbHorizontal, the Height for the associated Control is used. +
+- The Position reflects the top coordinate of the slider, which is Range-Page when the slider is at the bottom of the bar. -
-+ The Position reflects the top coordinate of the slider, which is Range-Page when the slider is at the bottom of the bar. +
+- The length of the bar is the Width (or Height) of the Parent Control, the Size is the other (free) coordinate. -
-- When it takes an significant amount of time, to repaint the parent control at a new position, Tracking should be False to prevent flicker; then the control is updated only when the slider is released. + When it takes a significant amount of time to repaint the parent control at a new position, Tracking should be False to prevent flicker. This causes the control to be updated only when the slider is released.
+ Calls the inherited method to align the specified control and its children to the parent control. Ensures that the page, range, and position in the scroll bars are recalculated when AutoScroll is enabled and both HorzScrollBar and VertScrollBar are in use. +
++ Ensures that the scroll bar page, range, and visibiity are established when the handles for the windowed control are created. Temporarily disables auto-sizing in the method, and re-enables auto-sizing prior to exit. Calls the inherited method to create the window and its handles. +
+- When the property is changed to True, the UpdateScrollBars method is called to calculate the page, range, and visibility for HorzScrollBar and VertScrollBar. When changed to False, the HideScrollbars method is called to reset the page, range, and visibility for the scroll bars. If the BoundsRect is updated in either method, the original valueis restored prior to exit. + When the property is changed to True, the UpdateScrollBars method is called to calculate the page, range, and visibility for HorzScrollBar and VertScrollBar. When changed to False, the HideScrollbars method is called to reset the page, range, and visibility for the scroll bars. If the BoundsRect is updated in either method, the original value is restored prior to exit.
- Resizing is an empty implementation in TScrollingWinControl. It must be implemented in descendent classes. + Resizing is an empty implementation in TScrollingWinControl. It must be implemented in a descendent class.
+ AutoScroll is a Boolean property which indicates if scroll bars are automatically displayed or hidden on the control as needed. The default value for the property is False. +
++ Changing the value for the property causes the Visible property in both HorzScrollBar and VertScrollBar to be updated (if needed). When set to True, the UpdateScrollBars method is called to calculate the page, range, and visibiity for the scroll bars. When set to False, the HideScrollbars method is called to reset and hide the scroll bars (when assigned). +
+- Ensures that auto-sizing is disabled for a size message for a top-level form (where Parent is not assigned) or from the LCL interface. This is done by including the value fsDisableAutoSize in the FormState property. + Ensures that auto-sizing is disabled for a size message for a top-level form (where Parent is not assigned) or from the LCL interface. This is done by including the value fsDisableAutoSize in the FormState property.
- Calls the inherited method to apply the width, height, and window state values in Message. + Calls the inherited method to apply the width, height, and window state values in Message.
- Ensures that auto-sizing is disabled for a position message to a top-level form (where Parent is not assigned), or from the LCL interface when new height or width values are provided. This is done by including the value fsDisableAutoSize in the FormState property. + Ensures that auto-sizing is disabled for a position message to a top-level form (where Parent is not assigned), or from the LCL interface when new height or width values are provided. This is done by including the value fsDisableAutoSize in the FormState property.
Calls the inherited method prior to exit to apply the position and bounds for the form.
@@ -3176,7 +3254,7 @@
- Called from the CMShowingChanged method when Showing is set to False.
+ Called from the CMShowingChanged method when Showing is set to False.
- Calls the inherited method prior to exit. + Calls the inherited method prior to exit. Called prior to setting the new value for the Visible property in a control (or form) in the SetVisible method.
When the Screen singleton has been assigned, its NotifyScreenFormHandler method is called to signal all snFormVisibleChanged handlers in the class instance.
++ Called after a new value has been assigned to the Visible property for the control (or form). +
- WndProc is an overridden method which implements the processing loop for window and control messags received for the form instance. It extends the method from the ancestor class to provide form-specific support for messages including: + WndProc is an overridden method which implements the processing loop for window and control messages received for the form instance. It extends the method from the ancestor class to provide form-specific support for messages including:
- No actions are performed in the method when FormStyle has a value other than fsMDIForm. At run-time, the Cascade method in th widgetset class is called when its Handle has been allocated. + No actions are performed in the method when FormStyle has a value other than fsMDIForm. At run-time, the Cascade method in the widgetset class is called when its Handle has been allocated.
Use Tile to arrange MDI child forms in a grid format.
@@ -5701,7 +5780,7 @@
- DoAddDockClient is an overridden method used to add the control in Client to the docked form. It calls the inherited method on entry to set the Parent in Client to the current class instance. It sets the Align property in Client to alAlign to align the control to the bounds for the docked form. Values in the BorderSpacing property in Client are reset to 0; the current class instance provides the BorderSpacing values for the docked control. At run-time, the VIsible property is set to True to display the docked form after the Client has been added.
+ DoAddDockClient is an overridden method used to add the control in Client to the docked form. It calls the inherited method on entry to set the Parent in Client to the current class instance. It sets the Align property in Client to alAlign to align the control to the bounds for the docked form. Values in the BorderSpacing property in Client are reset to 0; the current class instance provides the BorderSpacing values for the docked control. At run-time, the Visible property is set to True to display the docked form after the Client has been added.
+ Used in the implementation of the OffsetHintRect method.
+
+ Sets the result in Message to HTTRANSPARENT. This forces the message to be forwarded to other windowed controls in the Z-Order until a value other than HTTRANSPARENT is returned. +
++ The return value is True when the Font used on the hint window is the stock system font for the platform. +
++ Paint is an overridden method in THintWindow. It extends the inherited method to implement default drawing using the Canvas and the settings enabled for theme services. When CountrolCount is 0, the internal routine is used to render the content.When CountrolCount indicates that child controls are present on the hint window, the inherited Paint method is called to render the content. +
+- Destroy is a class destructor. Destroy ensures a reference to the System Font used for hint windows is freed. + Destroy is a class method used as the destructor for the class. Destroy ensures that the reference to the System Font used for hint windows is freed.
+ IsHintMsg is a Boolean function used to deterime if the message instance in Msg is recognized in THintWindow. +
++ ReleaseHandle is a method used to free the Handle allocated for the control in the widgetset class. It calls the DestroyHandle method if the Handle has been allocated for the class instance. ReleaseHandle is called by methods in the widgetset class to ensure that the Handle is set 0 (the un-initialized value). +
++ SetBounds is an overridden method in THintWindow. It calls the inherited method on entry to apply the argument values to the bounds for the class instance. It calls the UpdateRegion method to set the window region, or apply a background theme when enabled. +
+- Ensures that a TFont instance exists for the member, that it has been initialized to the stock ison font for the WidgetSet class, or uses the default font and the color in clDefault or clWIndowText (depends on the UseCLDefault define for the platform). + Ensures that a TFont instance exists for the member, that it has been initialized to the stock icon font for the WidgetSet class, or uses the default font and the color in clDefault or clWindowText (depends on the UseCLDefault define for the platform).
Destroy is the overridden destructor for the class instance. Destroy ensures that screen handlers registered using AddHandler are freed. Destroy also frees resource allocated for the class instance in the Create constructor. It calls the inherited method prior to exit. @@ -7095,7 +7231,7 @@
CustomFormIndex is an Integer function used to get the position in CustomForms for the specified TCustomForm instance. It iterates over the values in CustomForms in reverse order. The return value contains the ordinal position in CustomForms where the TCustomForm instance in AForm was found, or -1 when AForm does not exist in CustomForms. @@ -7111,7 +7247,7 @@
+ MoveFormToFocusFront is a method used to move the form specified in ACustomForm to the top of the Z-order. This means that it appears on top of all other visible forms for the application. +
++ MoveFormToFocusFront is called when the focused control is changed in the TCustomForm instance. It is also called from the ShowModal method in TCustomForm. +
++ It ensures that ACustomForm is moved to the first position in CustomForms (the top of the Z-order). When ACustomForm is a TForm instance, it is also moved to the first position in the Forms property. Calls MoveFormToZFront to ensure that the form is moved to the first position in the CustomFormsZOrdered property. +
++ MoveFormToZFront is a method used to ensure that the form in ACustomForm is at the top of the Z-order in the CustomFormsZOrdered property. MoveFormToZFront is called from the MoveFormToFocusFront method. +
++ Calls GetCurrentModalFormZIndex to find the first form instance in CustomFormsZOrdered with the value fsModal in its FormState property. +
++ Visits the form instances in CustomFormsZOrdered to find the first TCustomForm instance with the value fsModal in its FormState property. +
++ Returns -1 if a modal form is not found in the CustomFormsZOrdered property. +
++ Called from the GetCurrentModalForm method. +
++ The return value is True when ACustomForm is found in the CustomFormsZOrdered property and is not displayed as a modal form (FormState contains fsModal). The return value is False if ACustomForm is not found in CustomFormsZOrdered. +
++ Used in widgetset classes to determine if a form is used and enabled on the screen. +
++ Used when an Application loads its components using the LCL streaming mechanism. Ignores the designer forms and data modules (where ComponentState contains csDesigning) handled by the Lazarus IDE. +
++ Visits the form instances in the CustomForms property, and compares the text in the Name properties to the value in FormName. CompareText is called to perform a case-insensitive comparison for the values. +
++ The return value is the TCustomForm instance which matches the name in FormName, or Nil when CustomFormCount is 0 or FormName is not found in CustomForms. +
++ Visits the data module instances in the internal list, and compares the Name property for the TDataModule instances to the value in DataModuleName. CompareText text is called to perform a case-insensitive comparison for the values. TDataModule instances with csDesigning in the ComponentState property are ignored; these are design-time data modules used by the Lazarus IDE. +
++ The return value contains the TDataModule instance with the name in DataModuleName, or Nil when the data module list is empty or the name in DataModuleName is not found in the list. +
++ Used when an Application loads its components using the LCL streaming mechanism. Ignores the designer forms and data modules (where ComponentState contains csDesigning) handled by the Lazarus IDE. +
++ FindDataModule is a TDataModule function used to get the data module with the name specified in DataModuleName. +
++ FindDataModule visits each of the data modules in the internal list to find the TDataModule instance with the specified name in its Name property. CompareText is called to perform a case-insensitive comparison for the values. +
++ The return value is the TDataModule instance with the name in DataModuleName, or Nil when the internal list is empty or DataModuleName is not found in the list. +
+- Updates the value for the PixelsPerInch property from the ScreenInfo in the LCL interface. + Updates the value for the PixelsPerInch property from the ScreenInfo in the LCL interface.
+ RemoveAllHandlersOfObject is a method used to remove all handler routines for the specified object, regardless of the TScreenNotification type. RemoveAllHandlersOfObject iterates over the method lists in the internal array, and calls the RemoveAllMethodsOfObject method for the object instance specified in AnObject. It calls the virtual inherited method prior to exit. +
++ Called when the Lazarus IDE is terminated. +
+- Used to show modal forms or dialogs. + Used to disable forms when a modal form or dialog is displayed.
- The enabled state for the forms is determined from the widgetset class, and not from LCL properties. If DisabledList is Nil, a new list is created. All forms disabled in the method are added to the list. When the modal form returns, EnableForms is called to restore forms disabled in the method. + The enabled state for forms is determined by the widgetset class, and not from LCL properties. If DisabledList is Nil, a new list is created. All forms disabled in the method are added to the list. When the modal form returns, EnableForms is called to restore the list of forms disabled in the method.
+ MonitorFromPoint is a TMonitor function used to get the monitor with the coordinates in the Point argument. +
++ MonitorDefault is a TMonitorDefaultTo enumeration value which indicates which monitor to use when the coordinates in Point cannot be located on a screen. See TMonitorDefaultTo for more information about the enumeration values and their meanings. +
++ MonitorFromPoint calls the corresponding method in the widgetset class to get the Handle for the monitor. Values in the Monitors property are checked for the Handle, and the return value is set to the TMonitor instance with the given Handle. +
++ If the Handle is -1 (MONITOR_UNIMPL), the MonitorFromRect method is called to locate a monitor with the origin in Point. Otherwise, the values in Monitors are refreshed to ensure that existing monitors and their handles are up-to-date in the class instance. +
++ MonitorFromPoint is called from the GetMonitor method in TCustomForm, and the AdjustBoundsForMonitor method in THintWindow. +
+ MonitorFromRect is a TMonitor function used to get the monitor where the coordinates in the specified rectangle are located. +
++ MonitorDefault is a TMonitorDefaultTo enumeration value which indicates the monitor used when the coordinates in Rect are not found on a monitor. See TMonitorDefaultTo for more information about the values in the enumeration and their meanings. +
++ MonitorFromRect calls the corresponding method in the widgetset class to get the Handle for the monitor where Rect is located. It searches Monitors for the TMonitor instance with the Handle value, and uses the TMonitor instance when the Handle is found. The UpdatedMonitor method is called to ensure that the value in Monitors are up-to-date. +
++ When the Handle contains -1 (MONITOR_UNIMPL), the value in MonitorDefault us used to locate a monitor which intersects the coordinates in Rect. The return value is set to the TMonitor instance in Monitors which corresponds to the value in MonitorDefault. If a monitor is not found, the return value is set to PrimaryMonitor or the closest match as needed for MonitorDefault. +
+ MonitorFromWindow is a TMonitor function used to locate monitor where the form represented by the specified window Handle is displayed. +
++ MonitorDefault is a TMonitorDefaultTo enumeration value which indicates the monitor used when the display area for the form is not found on a monitor. See TMonitorDefaultTo for more information about the values in the enumeration and their meanings. +
++ MonitorFromWindow calls MonitorFromWindow in the widgetset class to get a monitor handle used to locate the monitor in the Monitors property. The UpdatedMonitor method is called to ensure that Monitors contains up-to-date values for the available monitors. +
++ If a monitor with the Handle is not found, GetWindowRect is called to get the display areas for the monitor Handle. MonitorFromRect is called to locate the monitor which contains the rectangle. +
++ BeginTempCursor is a method used to change the cursor shape to the temporary cursor in the ACursor argument. It adds the value in ACursor to an internal list of temporary cursors. The cursor shape is removed when the EndTempCursor method is called. +
++ BeginTempCursor calls SetCursor in the widgetset class to change the cursor shape to the value in Cursors stored at the index in ACursor. +
++ Use EndTempCursor to remove a given cursor shape, and restore the cursor to a previous value. +
++ EndTempCursor is a method used to release the temporary cursor shape in ACursor. It removes the value from the internal list of temporary cursors updated in the BeginTempCursor method. Only the cursor shape in ACursor is removed from the list; other values are left intact. +
++ EndTempCursor calls SetCursor in the widgetset class to apply the cursor shape in RealCursor. +
++ An Exception is raised with the message 'Unbalanced BeginTempCursor/EndTempCursor calls for cursor' if ACursor is not found in the list of temporary cursors. +
++ Use BeginTempCursor to display and store a temporary cursor shape. +
++ Calls BeginTempCursor using the cursor shape in crHourGlass. +
++ Calls EndTempCursor to remove the crHourGlass cursor shape. +
++ ActiveControl is a read-only TWinControl property which indicates the form or control that has focus on the screen, and gets input entered using the keyboard. The property value is updated when the SetFocusedControl method in TCustomForm sets the active control for the form and calls the UpdateLastActive method for the screen. +
++ ActiveCustomForm is a read-only TCustomForm property which contains the active custom form instance which has focus on the screen. The property value is updated in TCustomForm methods like SetFocusedControl and MoveToDefaultPosition. It is also updated in TApplication methods like ControlDestroyed. +
++ Use ActiveForm to get the TForm instance that has focus on the screen. +
++ ActiveForm is a read-only TForm property which contains the form instance in the application which has focus on the screen. The property value is updated from methods in TCustomForm like SetFocusedControl and MoveToDefaultPosition. It is also updated from methods in TApplication like ControlDestroyed. +
++ Use ActiveCustomForm to get a form instance derived from TCustomForm, including: THintWindow, TCustomDockForm, and TLazDockForm. These class types are not available in ActiveForm. +
+
+ Cursor is a TCursor property which identifies the current cursor shape drawn on the screen. The numeric value is the HCURSOR handle for the image drawn as the cursor shape. Cursor constants (like crHourGlass) defined in the
+ Cursor is used as an index into the values in the Cursors property where the handle for the TCursorImage resources are stored. Changing the value for the property causes the SetCursor method in the widgetset class to be called to apply the handle in Cursors at the position in Cursor. +
+ RealCursor is a read-only TCursor property which provides the current shape for the cursor taking temporary cursors into account. +
++ Temporary cursors are added and removed using the BeginTempCursor and EndTempCursor methods. When a temporary cursor exists, RealCursor returns the most recent cursor shape added to the internal list using BeginTempCursor. If the internal list is empty, the value in Cursor is returned as the property value. +
++ The value from RealCursor is used in the SetCursor method to determine the value stored in the Cursor property, and passed as an argument to SetCursor in the widgetset class. +
+
+ Cursors is an indexed HCURSOR property which provides access to the handle for a cursor shape by its numeric value. The cursor constants (like crHourGlass) defined in the
+ Cursors uses an internal TMap instance to store the handle values and provides access using the index values. When the value for the property is read, CreateStandardCursor in the widgetset class is called to retrieve the handle. If it has not been assigned, a temporary TCursorImage is created for the cursor resource and its handle is added to the internal map. +
++ Setting a new value for the indexed property causes an existing handle in the internal map to be re-created. +
++ CustomFormCount is a read-only Integer property which contains the number of TCustomForm instances stored in the CustomForms property. Read access for the property value is redirected to the Count property in CustomForms. +
++ CustomForms is a read-only indexed TCustomForm property which provides access to a custom form instance in the list by its ordinal position. +
++ Values in the CustomForms property are added and removed when the CreateNew and Destroy methods in TCustomForm are executed. +
++ Use CustomFormsZOrdered to access a custom form instance by its Z-order on the screen. +
++ Use the Forms property to access a TForm instance on the screen by its ordinal position. +
++ CustomFormsZOrdered is a read-only indexed TCustomForm property which provides access to a custom form by its ordinal position in the Z-Order for the screen. The form at position 0 (zero) is displayed at the top of the Z-Order, and overlaps any form with a higher Z-Order value. +
++ Values in the property are added and removed in the AddForm and RemoveForm methods. +
++ CustomFormsZOrdered is used in widgetset classes when an application on the screen is minimized or maximized, or when a form is hidden or displayed using the ShowHide method in its widgetset class. +
++ Use CustomFormZOrderCount to get the number of custom form instances in CustomFormsZOrdered. +
++ Use CustomForms or Forms to access a form instance by its ordinal position in the list of forms on the screen. +
++ CustomFormZOrderCount is a read-only Integer property which contains the number of TCustomForm instances stored in the CustomFormsZOrdered property. Read access for the property value is re-directed to the Count property in the list used for CustomFormsZOrdered. +
++ Use CustomForms and CustomFormCount to access TCustomForm instances on the screen regardless of their Z-Order. +
++ Use Forms and FormCount to access TForm instances on the screen regardless of their Z-Order. +
++ DesktopLeft is a read-only Integer property with the left coordinate for the desktop. The property value contains the virtual screen size returned from GetSystemMetrics for the SM_XVIRTUALSCREEN parameter. +
++ DesktopLeft is used in the MoveToDefaultPosition method in TCustomForm. The values in DesktopLeft, DesktopTop, DesktopWidth and DesktopHeight are also assigned to members in the DesktopRect property. +
++ DesktopTop is a read-only Integer property with the top coordinate for the desktop. The property value contains the virtual screen size returned from GetSystemMetrics for the SM_YVIRTUALSCREEN parameter. +
++ DesktopTop is used in the MoveToDefaultPosition method in TCustomForm. The values in DesktopLeft, DesktopTop, DesktopWidth and DesktopHeight are also assigned to members in the DesktopRect property. +
++ DesktopHeight is a read-only Integer property with the total height for the desktop. The property values is the result from GetSystemMetrics using the SM_CYVIRTUALSCREEN parameter. +
++ DesktopHeight is used in the MoveToDefaultPosition method in TCustomForm. The values in DesktopLeft, DesktopTop, DesktopWidth and DesktopHeight are also assigned to members in the DesktopRect property. +
++ DesktopWidth is a read-only Integer property with the total width for the desktop. The property values is the result from GetSystemMetrics using the SM_CXVIRTUALSCREEN parameter. +
++ DesktopWidth is used in the MoveToDefaultPosition method in TCustomForm. The values in DesktopLeft, DesktopTop, DesktopWidth and DesktopHeight are also assigned to members in the DesktopRect property. +
++ DesktopRect is a read-only TRect property with the bounds for the desktop spanning all monitors. Member values in the property are derived from the DesktopLeft, DesktopTop, DesktopWidth, and DesktopHeight properties. +
++ DesktopRect is provided as a convenience property; it is not used directly in the LCL. +
++ FocusedForm is a read-only TCustomForm property which contains the form which has focus on the screen. The value for the property is maintained in the SetFocusedForm method, which ensures that the previously focused form is deactivated before setting the value in the property. It is also updated in the RemoveForm method when the freed form instance is the current value for the property. +
++ FocusedForm is updated in the ShowModal method in TCustomForm when the focus is changed to a modal form. It is also updated in the ControlDestroyed method in TApplication when the freed control is also the current value for the property. +
++ The value in the property is used to prevent hint windows from being displayed for other forms when a modal form is active. +
++ FormCount is a read-only Integer property with the number of TForm instances stored in the Forms property. Read access to the property value is redirected to the Count property in Forms. +
++ Use CustomFormCount to get the number of TCustomForm instances in the CustomForms property. +
++ Forms is a read-only indexed TForm property which provides access to the TForm instances on the screen by their ordinal position in the list of forms. Index values must be in the range 0..FormCount-1. An EListError exception is raised when Index contains an invalid position for the list. +
++ Values are added to and removed from Forms in the AddForm and RemoveForm methods. These methods are called when the CreateNew or Destroy method in TForm is executed. Forms is used in widgetset classes to get the form instance with a given Handle in the widgetset. +
++ Use CustomForms and CustomFormCount to access the TCustomForm instances on the screen. +
++ DataModuleCount is a read-only Integer property with the number of TDataModule instances stored in the DataModules property. Read access for the property value is redirected to the Count property in DataModules. +
++ Use DataModules to access a TDataModule instance by its ordinal position in the list of data modules. +
++ DataModules is a read-only indexed TDataModule property which provides access to a data module by its ordinal position in the list. Data modules are a non-visual component at run-time, and are provided to maintain compatibility with the Delphi VCL equivalent. +
++ Index contains the ordinal position in the list for the property value, and must be in the range 0..DataModuleCount-1. An EListError exception is raised if Index has an invalid position for the list. +
++ Use DataModuleCount to get the number of data module instances in the property. +
++ HintFont is a TFont property with the font used to display hint text for forms and controls. Reading the property value causes the InitStockFont method in the widgetset class to be called. If the hint font is not initialized in the widgetset class, default font attributes are assigned to the font instance using the color in clInfoText. +
++ The value in HintFont is used to set the default font for THintWindow instances, It can be used in controls which display their own custom hint windows and hint text should be displayed in the default font for the platform. +
+- IconFont is passed to the InitStockFont method in the widgetset to load the font required. + IconFont is passed to the InitStockFont method in the widgetset to initialize the font.
+
Fonts is a read-only TStrings property which contains the names for the fonts available using the EnumFontFamiliesEx routine for the widgetset. Values in Fonts are sorted alphabetically in ascending order.
@@ -7738,7 +8295,14 @@
+ Height is a read-only Integer property with the height of the primary monitor for the system. The property value contains the result from GetSystemMetrics using the SM_CYSCREEN parameter.
+
+ Values in Height and Width are used when setting the position for forms or other dialogs to ensure that they are visible on the monitor. They are also used when LCL coordinates are converted to screen coordinates to ensure that the positions are valid for the monitor.
+
+ MonitorCount is a read-only Integer property with the number of TMonitor instances stored in the Monitors property. Reading value for the property causes the UpdateMonitors method to be called when Monitors is empty. The property value is redirected to the Count property in Monitors.
+
+ Use Monitors to access a TMonitor instance by its ordinal position in the list.
+
+ Monitors is a read-only indexed TMonitor property which provides access to the available monitors in the class instance by their ordinal position in the list.
+
+ Reading a value for the property causes the UpdateMonitors method to be called when the number of monitors in the TMonitorList instance is 0 (zero). The property value is the TMonitor instance in the list at the specified ordinal position.
+
+ Use MonitorCount to get the number of entries stored in the Monitors property.
+
- The display uses virtual inches, which typically are bigger than physical inches. This requires that text appear bigger on a screen than on a printer.
+ PixelsPerInch is a read-only Integer property which contains the number of screen pixels per inch for the display device. The display uses virtual inches, which typically are bigger than physical inches. This requires that text appear bigger on a screen than on a printer.
+
+ The default value for the property is set in the constructor for the class instance using the horizontal pixels per inch from the ScreenInfo variable in the
+ The property value is used at run-time to detected when scaling is needed in forms, controls, and fonts to adjust for different design-time PPI settings.
+ PrimaryMonitor is a read-only TMonitor property with the primary monitor for the system. The property value is determined by checking for the TMonitor instance in Monitors with its Primary property set to True. The property value is Nil if a monitor is not found with its Primary property set to True.
+
+ The property value is used in the MoveToDefaultPosition method in TCustomForm. It is also used in widgetset classes to select the monitor for a dialog when the main form for an application has not been assigned.
+
+ Width is a read-only Integer property with the width for the primary monitor. The property value is the result from GetSystemMetrics using the SM_CXSCREEN parameter.
+
+ Use Height to get height for the primary monitor.
+
+ Use DesktopWidth to get the usable width for the desktop minus the area reserved for a task bar.
+
+ Returns the value for the Top member in WorkAreaRect, which omits the task bar area if aligned to the top of the screen.
+
+ Use the Top property to get the coordinate for the top of the primary monitor.
+
+ Returns the difference between the Right and Left members in WorkAreaRect.
+
+ Use Width to get the width for the primary monitor including the task bar area.
+
+ OnActiveControlChange is a TNotifyEvent property with the event handler signalled when the active control on the screen has been changed. The Sender argument contains the TScreen instance for the change notification.
+
+ OnActiveControlChange is signalled (when assigned) from the UpdateLastActive method, and occurs after the OnActiveFormChange event has been signalled (when assigned).
+
+ OnActiveFormChange is a TNotifyEvent property with the event handler signalled when the active form on the screen has been changed. Sender contains the TScreen instance for the change notification.
+
+ OnActiveFormChange is signalled (when assigned) from the UpdateLastActive method, and occurs before the OnActiveControlChange event handler.
+
- Lengthy operations should be broken into smaller parts, to ensure that the application remains responsive. The handlers are called repeatedly, until all signal Done.
+
+ TIdleEvent is an object procedure type which specifies an event handler signalled when an application becomes idle.
+
+ Sender is the object for the event notification and normally contains the Application singleton.
+
+ Done is a variable Boolean parameter which indicates if the event handler has finished processing. When set to False, subsequent idle event handlers can be called. When set to True, the idle state processing has been completed.
+
+ TIdleEvent is the type used for the OnIdle event handler in TApplication. The event handler is signalled when the application becomes idle. The event handler can return False in Done to allow other idle event handlers to be signalled. The idle event handlers are called repeatedly until Done is set to True.
+
+ Use the TIdleEvent event handler type to provide short duration event handlers which ensure that the application remains responsive.
+
+ TCMHintShow is a record type used to represent a CM_HINTSHOW control message passed as an argument to methods in a control. +
+ TCMHintShowPause is not used in the current LCL implementation. +
+ TAppHintTimerType is used in the implementation of the TApplication class, and passed as an argument to its StartHintTime method. +
++ TApplicationFlags is the type used for the Flags property in TApplication. +
++ IconChanged is a method used to load the new application icon, and to notify the widgetset and all forms of the change. It implements the OnChange event handler assigned to the Icon for the application. +
++ It frees existing handles both the small and large versions of the Icon for the application, and calls the AppSetIcon method in the widgetset class to re-create the handles. +
++ IconChanged posts a CM_ICONCHANGED control message to each of the TCustomForm instances in the Screen singleton. Unassigned handle values are provided for both the small and large icons on the form. +
++ SetBidiMode is a method used to set value for the BiDiMode property. It updates the property value, and calls NotifyCustomForms to post a CM_PARENTBIDIMODECHANGED control message to all TCustomForm instances on the Screen. +
++ SetFlags allows the value AppNoExceptionMessages to be added to or removed from the values in the TApplicationFlags set type. All other existing values in Flags are not modified. +
++ Calls the AppSetMainFormOnTaskBar method in the widgetset class to apply the new value for the property. +
++ Updates the property value, and calls the NotifyCustomForms method to post a CM_APPSHOWBTNGLYPHCHANGED control message to TCustomForm instances for the application. +
++ NotifyIdleHandler is a method used to signal event handlers using the ahtIdle application handler type. +
++ The internal array of handlers is checked for a TMethodList which uses the application handler type. If it exists, each of the methods in the list are signalled, in reverse order, using the value in Done as a control flag. While Done is True, the handlers are continuously called in the loop. If any handler in the list sets Done to False, the method is exited. +
++ NotifyIdleHandler is called from the Idle method. It occurs after the ReleaseComponents and ProcessAsyncCallQueue methods have been called. It is also called after the OnIdle event handler in the TApplication has been signalled (when assigned) and when the Done argument to the event handler is True. +
++ Calls the Perform method for custom forms in the application using Msg as an argument. +
+ Always returns False in TApplication. Provided for Delphi code compatibility only. +
++ Signals the OnHelp message handler. Tries the OnHelp handlers for the active form and the Application, as well as handler routines added for the ahtHelp handler type. +
++ DoOnHelp is called from the HelpCommand method. +
+ Calls the inherited method on entry. Calls the AppSetTitle method in the widgetset class to apply the new value for the property. +
++ Assigned as the handler routine for the OnMenuPopupHandler variable in the LCL when the application instance is created. +
++ Calls the HideHint method to manage values in HintWindow, HintControl, and HintRect (when needed). +
++ GetParams is an overridden String function in TApplication used to get the argument at the specified position in the command line. It re-implements the read access specifier for the property from the ancestor class, and does not call the inherited method. +
++ Index is the ordinal position for the requested parameter value. Index must be in the range 0..ParamCount-1 or an EListError exception is raised. Position 0 contains the name of the executable file for the application. +
++ The return value contains the UTF-8-encoded String with the value for the parameter at the specified position. It is retrieved using the ParamStrUTF8 routine for the position in Index. +
++ Create is the overridden constructor for the class instance. +
++ It ensures that the LCL is configured to use the private WndProc method to handle messages dispatched for the application instance. +
++ Create allocates resources needed in the class instance, and sets the default values for properties. Event handler routines implemented in TApplication are assigned as needed. +
++ Create calls the inherited constructor prior to exiting from the method. +
++ GetControlAtMouse is a TControl function used to get the control under the mouse pointer. The return value contains the form or control at the position where the mouse pointer is located. The return value is Nil at design-time. +
++ GetControlAtMouse updates internal members used to track the control and its position. +
++ ControlDestroyed is a method used to update the application when the control in AControl is freed. ControlDestroyed ensures that any property in the application that contains a reference to AControl is set to Nil, including: +
++ Properties in the Screen singleton are also updated to remove any references to AControl, including: +
++ The UpdateLastActive method in Screen is called to perform change notification for the forms and / or controls. +
++ ControlDestroyed is called from the Destroy method in TControl. +
++ Calls the AppBringToFront method in the widgetset class. +
+- CreateForm creates a Component instance of the given class, and sets the pointer to the component variable. If it is a form, it will be added to the form list in the application. + CreateForm creates a Component instance of the given class, and sets the pointer to the component variable. If it is a form, it will be added to the list of forms in the application.
A splash form is shown immediately.
@@ -9191,17 +10033,32 @@
+ UpdateMainForm is a method used to make the form instance in AForm the main form for the application. It stores the value in AForm to the MainForm property. No actions are performed in the method for the following conditions: +
++ UpdateMainForm is called from the CreateForm method, and occurs before the form calls its HandleNeeded method. It is also called when the Handle for a form is created (or re-created) in the CreateWnd method in TForm. +
+- Unless the application is shutting down, all requests are queued. Queued requests are processed when the application is not currently processing a message. + ReleaseComponent is a method used to ensure that the component in AComponent is freed in the application. During normal processing, ReleaseComponent adds the TComponent instance to a list and queues an asynchronously call to FreeComponent. This allows the component to be freed when the application enters an idle state. +
++ If the Application Flags contains AppDestroying, the Free method for AComponent is called immediately. +
++ No actions are performed in the method if Destroy has already been called for AComponent (ComponentState contains csDestroying). +
++ ReleaseComponent is called from the ReleaseComponents method in TApplication, and from the Release method in TCustomForm. It may also be used in the implementation of controls to ensure that its resources are freed as needed.
+ ExecuteAction is an overridden Boolean function used to signal the OnActionExecute (when assigned) using ExeAction as the action executed in the event handler. It sets the default value for the Handled argument to the event handler to False. The argument can be updated in the event handler, and is used as the return value for the method. +
++ ExecuteAction re-implements the method defined in the ancestor, and does not call the inherited method. +
++ UpdateAction is an overridden Boolean function used to signal the OnActionUpdate event handler (when assigned) to update the settings for the action in TheAction. It sets the default value for the Handled argument to the event handler to False. The argument can be updated in the event handler, and is used as the return value for the method. +
++ UpdateAction re-implements the method defined in the ancestor, and does not call the inherited method. +
++ HandleMessage is a method used to process pending window or control messages in the application. It calls the AppProcessMessages method in the widgetset class to handle pending messages. It calls the Idle method to enter the idle state where queued asynchronous callbacks can be handled and idle handlers can be signalled. +
++ It is very similar to the ProcessMessages method, which does not signal idle handlers for the application or wait for a new message before exit. +
++ HandleMessage is called from the RunLoop method in TApplication. +
++ Currently relies on OnHelp handlers. CallHelp is not implemented. +
++ HelpContext is a Boolean function used to display context-sensitive help for the specified help context. It calls the DoOnHelp method to select and execute a help handler routine for the specified help context. The routine may be one of the OnHelp event handlers found in the active form or in TApplication. If neither are assigned, the application handlers are checked for a routine using the ahtHelp handler type. +
++ If the help context was handled in DoOnHelp, not additional actions are performed in the method. Otherwise, the ShowHelpOrErrorForContext is called to handle the help request. +
++ The return value is False if the help context could not be handled using any of these options. +
++ The return value is True when AppWaiting has been included in the Flags for the application. +
+
The function is used internally to display messages during the handling of Exceptions, but is also available to application programmers as an alternative to some of the message dialogs found in the
@@ -9509,7 +10422,8 @@
- Special handling, here: Clears the reference to a removed component, terminates the application when the MainForm is removed. + Notification is an overridden method in TApplication used to perform actions needed when a component is added to or removed from the application. Notification provides special handling when component references are removed. It ensures that the internal member for a given component is set to Nil when the reference is freed. If the freed component is the MainForm for the application, the Terminate method is called to shut down the application and update the OS-level ExitCode.
+ Calls AppProcessMessages in the widgetset class to processes pending messages, and calls ProcessAsyncCallQueue to handle any queued asynchronous callbacks. +
+ Idle is a method used to perform actions when the application enters an idle state. It allows the application to free components pending release, and handle any queued asynchronous requests. +
++ In addition, Idle calls event and application handlers assigned in the class instance. OnIdle is signalled (when assigned). NotifyIdleHandler is called to signal any application handler(s) using the ahtIdle handler type. +
++ The DoIdleActions method is called to update the actions for Visible and Enabled forms, and to hide visible splash screen forms (FormStyle is fsSplash). +
++ When the Wait argument is set to True, the AppWaitMessage method in the widgetset class is called to capture an message on the handles for the application. This action is not performed when Wait is False. +
++ Idle calls the DoOnIdleEnd method to signal the OnIdleEnd event handler and any application handlers using the ahtIdleEnd handler type. +
++ ModalLevel is a read-only Integer property with the number of forms displayed modally in the application. +
++ The value in ModalLevel is incremented in the ModalStarted method. It causes the OnModalBegin event handler and application handlers for the ahtModalBegin handler type to be signalled (when assigned) when its value is 1 following the increment. +
++ The value in ModalLevel is decremented in the ModalFinished method. It causes the OnModalEnd event handler and application handlers for the ahtModalEnd handler type to be signalled (when assigned) when its value is 0 following the decrement. +
- MoveFormFocusToChildren is a Boolean property which indicates if an active control is focused when a form receives focus in the application. + MoveFormFocusToChildren is a Boolean property which indicates if an active control is focused when a form receives focus in the application.
- The default value is True. When set to False, the window or form will still receive focus, but a child control is not selected. + The default value is True. When set to False, the window or form will still receive focus, but a child control is not selected.
-Used in TCustomForm.SetActive.
++ Used in the SetActive method in TCustomForm. +
+ Used to detect when the mouse enters and leaves a control. +
+ TaskBarBehavior is a TTaskBarBehavior property which indicates how forms in the application are represented in the task bar. The property value is used in conjunction with the ShowInTaskBar property for the TCustomForm instances in the application. For example: +
++ When the property value is changed, the UpdateShowInTaskBar for each TCustomForm instance is called when its ShowInTaskBar property is stDefault. +
++ UpdateFormatSettings is a platform-specific Boolean property which indicates if application format settings are updated when changed in a widgetset class. The default value for the property is True, as assigned in the Create constructor. +
++ The property value is used in the IntfSettingsChange method to determine if the GetFormatSettings or GetFormatSettingsUTF8 method is called for the Windows platform. GetFormatSettings is called when DisableUTF8RTL is defined for the compiler. Other platforms are not affected, and do not call either method. +
++ OnActionExecute is a TActionEvent property with the event handler signalled (when assigned) from the ExecuteAction method. +
++ The AAction argument contains the TBasicAction instance executed in the event handler. Handled indicates whether the action was executed in the event handler. Set Handled to False if the action was not executed. +
++ OnActionUpdate is a TActionEvent property with the event handler signalled to update actions used in the application. OnActionUpdate is signalled from the UpdateAction method called when the CM_UPDATEACTIONS control message is handled in the application. +
++ OnActivate is a TNotifyEvent property with the event handler signalled when an Activate message is handled for the application. +
++ OnActivate is signalled from the NotifyActivateHandler method, which occurs when the Activate method is called for the application. The event handler is also signalled (via Activate) from the WMActivate method in TCustomForm to ensure that the application is activated before one of its forms is updated in the task bar. +
++ Use the OnDeactivate event handler to perform actions needed when the main form in an application is de-activated. +
++ Use the TApplicationProperties class to assign properties and event handlers at design-time that are applied to the application instance at run-time. +
++ OnDeactivate is a TNotifyEvent property with the event handler signalled when a Deactivate message is handled in the application. +
++ It is signalled from the NotifyDeactivateHandler method, and occurs when the Deactivate method is called for the application. The event handler is also signalled (via Deactivate) from the WMActivate method in TCustomForm to ensure that the application is de-activated when its main form is de-activated. +
++ Use the OnActivate event handler to perform actions needed when the application is activated. +
++ Use the TApplicationProperties class to assign properties and event handlers at design-time that are applied to the application instance at run-time. +
+- Used in the implementation of the GetMainFormHandle method. Provides the first opportunity to set the handle value before calling the other handlers added to the application. + Used in the implementation of the GetMainFormHandle method. Provides the first opportunity to set the value for MainFormHandle before calling the other handlers added to the application.
+ OnIdle is a TIdleEvent property with the event handler signalled when the application enters the idle state. Assign an object procedure to the event handler to perform actions needed when other window or control messages are not present. +
++ It is signalled from the Idle method, and occurs after released components and asynchronous callbacks have been processed for the application. It occurs before the NotifyIdleHandler method is called to process other application handlers using the ahtIdle type. +
++ Any actions performed in the event handler should have a short duration, and relatively low resource requirements. This will ensure that system performance is not adversely affected, and the application is responsive. +
++ Use OnIdleEnd to perform actions needed when the application leaves the idle state. +
++ Use the TApplicationProperties class to assign properties and event handlers for an application instance at design-time that are applied at run-time. +
++ OnIdleEnd is a TNotifyEvent property with the event handler signalled when the application leaves the Idle state. +
++ It is signalled from the DoOnIdleEnd method, and occurs after the AppWaitMessage method in the widgetset class has been completed. It occurs before the NotifyIdleEndHandler method is called to process other application handlers using the ahtIdleEnd type. +
++ Use OnIdle to perform actions needed when the application enters the idle state. +
++ Use the TApplicationProperties class to assign properties and event handlers for an application instance at design-time that are applied at run-time. +
++ OnEndSession is a TNotifyEvent property with the event handler signalled when a session is ended in the application. It is called from the IntfEndSession method, and occurs when the WM_ENDSESSION message is handled in the widget class. It is signalled before other application handlers using the ahtEndSession type. +
++ OnMinimize is a TNotifyEvent property with the event handler signalled when the application has been minimized (iconified in GTK terminology). The application is minimized when its main form is also minimized. +
++ OnMinimize is signalled when the IntfAppMinimize method is called by the widgetset class, and occurs before other application handlers using the ahtMinimize type are notified. +
++ Use OnRestore to perform actions when the main form is restored from its minimized state. +
++ OnModalBegin is a TNotifyEvent property with the event handler signalled when a form in the application is displayed as a modal form. +
++ OnModalBegin is signalled from the ModalStarted method, which is called when the form instance calls its ShowModal method. It occurs only once - when the first modal form is displayed. Subsequent events are ignored in ModalStarted when a modal form is already active. +
++ Use OnModalEnd to perform actions needed when the number of modal forms for the application reaches 0 (zero). +
+ OnModalEnd is a TNotifyEvent property with the event handler signalled when the last modal form or dialog in the application has been exited. +
++ It is signalled from the ModalFinished method if the number of modal forms in the application is 0 (zero). It is signalled prior to other application handlers using the ahtModalEnd handler type. +
++ Use OnModalBegin to perform actions needed when the first modal form is displayed for the application. +
+ OnRestore is a TNotifyEvent property with the event handler signalled when the application is restored from a minimized / maximized state. It is signalled from the IntfAppRestore method, and occurs before other application handlers using the ahtRestore type are notified. +
++ Use OnMinimize to respond to the notification when the application is minimized. +
++ OnDropFiles is a TDropFilesEvent property with the event handler signalled when one or more files are dropped onto a form in the application. It is signalled from the IntfDropFiles method, and occurs after the corresponding method for the form that is the drop target has been notified from the window processing loop. +
++ OnHelp is a THelpEvent property with the event handler signalled (if assigned) when help is requested in the application. It is signalled from the DoOnHelp method when the ActiveForm does not have an assigned OnHelp event handler or does not respond the specified help command. It occurs before other application handlers using the ahtHelp handler type are notified. +
++ OnHint is a TNotifyEvent property with the event handler signalled when the value for the Hint property has been changed in the application. It is signalled (when assigned) from the SetHint method, and occurs before other application handlers using the ahtHint handler type are notified. +
++ OnShortcut is a TShortcutEvent property with the event handler signalled to determine if a keystroke message is a shortcut (or accelerator) key in the application. It is signalled (when assigned) from the IsShortcut method, and occurs before the OnShortcut event handlers for other forms are checked. +
++ This event handler can interpret keystrokes as shortcuts, before the normal target handles the key. The event handler can set its Handled argument to True when the Msg argument contains a shortcut keystroke specific to the application. This prevents the OnShortcut event handlers in the application forms from being notified. +
++ OnShowHint is a TShowHintEvent property with the event handler signalled prior to displaying a hint window for the application. +
++ It is signalled (when assigned) from the ShowHintWindow method when ShowHint has been enabled in the application. It occurs after HintControl has been assigned to the hint window, and the position for the hint window relative to HintControl has been calculated. It occurs before other application handlers using the ahtShowHint type are notified, and the hint window is made visible and activated. +
++ OnUserInput is a TOnUserInputEvent property with the event handler signalled when an input message is available in the processing loop for the widgetset class. It is signalled (when assigned) from the NotifyUserInputHandler method, and occurs before other application handlers using the ahtUserInput type are notififed. +
++ OnCircularException is a TExceptionEvent property with the event handler signalled when a circular exception occurs in an application. It is signalled from the HandleException method when another Exception occurs within the exception handler. +
++ Some platforms always show glyphs on buttons, while others do not. +
++ Allows the main form to be shown or hidden when an application is started. The default value for the property is True as assigned in the Create constructor. +
++ The property value is updated at run-time when a new value is assigned to the ShowMainFrom property in TApplicationProperties. +
++ ShowMainForm is used in the Run method to determine if the Show method is called for an assigned MainForm instance. The form is displayed prior to calling the AppRun method in the widgetset class. +
++ The read and write access specifiers for the property are overridden in TApplication. Read access ensures that an empty title defaults to the file name (without path information) for the application executable file. Write access ensures that a new value for the property is applied to the widgetset class using its AppSetTitle method. +
++ Scaled is a Boolean property which indicates if the application can be scaled between differing display densities (Pixels per Inch) at run-time. The default value for the property is normally set in the project file used to compile the application and its forms and controls. +
++ When Scaled is set to True, the application allows the design-time PixelsPerInch value to be adjusted to reflect the run-time value. Forms, frames, image lists, and other controls also have a Scaled property which determines if the feature is enabled for that particular class type. If Scaled is set to False in TApplication, the feature is disabled for all of the other class types. Scaled (at the application-level) is normally checked before the component- or control-level setting. +
++ The default value is bdLeftToRight. +
+- TApplicationProperties is a non-visual component that provides access to a number of application properties, including: + TApplicationProperties is a non-visual component used to provide design-time settings that are applied at run-time to an application, including:
- Values for the properties are assigned in the constructor to the currently assigned values in the Application singleton. + Values for the properties are assigned in the constructor using the currently assigned values in the Application singleton. The assignments can be maintained at design-time.
- At run-time, changes to the properties are also assigned to the Application singleton. For event handler properties, the previous routine is removed as a handler and the new handler is added to the Application singleton. When the component is freed, the event handlers are removed from the Application singleton. The changed properties are not assigned to Application at design-time. + At run-time, changes to the properties are also assigned to the Application singleton. For event handler properties, the previous routine is removed as a handler and the new handler is added to the Application singleton. When the component is freed, the event handlers are removed from the Application singleton. The changed properties are not assigned to the Application singleton at design-time.
TApplicationProperties is available on the Additional tab in the Lazarus IDE Component Palette. TApplicationProperties is similar to the TApplicationEvents class in Delphi.
@@ -11516,17 +12784,19 @@
+ Application is a unit global variable with the TApplication instance representing the currently executing application. The value for the variable is assigned in the initialization section for the unit when the application is started. It is freed in the finalization section when the application is terminated. +
++ Use the TApplicationProperties component to provide design-time configuration settings for properties (including event handlers) which are automatically applied to Application at run-time. +
+