From a54e6bdce6a613fa2d8538969d4ba72c8d99b00f Mon Sep 17 00:00:00 2001 From: dsiders Date: Thu, 21 Apr 2022 20:12:08 +0100 Subject: [PATCH] Docs: LCL/controls. Updates topic content. * Primarily in TControl topics, but other topics are also included. --- docs/xml/lcl/controls.xml | 1174 +++++++++++++++++++++++++++---------- 1 file changed, 865 insertions(+), 309 deletions(-) diff --git a/docs/xml/lcl/controls.xml b/docs/xml/lcl/controls.xml index 6b4a9fe41e..850132f346 100644 --- a/docs/xml/lcl/controls.xml +++ b/docs/xml/lcl/controls.xml @@ -1072,7 +1072,9 @@ - Set type used to store values from the TControlRoleForForm enumeration. + + Set type used to store values from the TControlRoleForForm enumeration. +

TControlRolesForForm is the type returned from the TCustomForm.GetRolesForControl method. @@ -1261,7 +1263,9 @@ - Message with the command constant and key code processed in the handler. + + Message with the command constant and key code processed in the handler. + @@ -2729,7 +2733,9 @@ Returns the dragging cursor type (shape). - In drag-drop operations the cursor signals acceptance or rejection of an drop, depending on Accepted. +

+ In drag-drop operations the cursor signals acceptance or rejection of an drop, depending on Accepted. +

@@ -2737,7 +2743,9 @@ The cursor to show. - Which cursor to return (rejected:crNoDrop or accepted:crDrag). + + Which cursor to return (rejected:crNoDrop or accepted:crDrag). + @@ -2747,10 +2755,14 @@ - Remembers the dragged control. - + Constructor for the class instance. + +

+ Create is the constructor for the class instance. It stores the value from the AControl argument to the Control property. +

+
- TObject.Create +
@@ -2766,6 +2778,10 @@ This constructor sets the AutoCreated and AutoFree flags. AutoFree is tested by the DragManager at the end of the dragging operation.

+ + + +
The control being dragged. @@ -2773,8 +2789,20 @@ Asks the image list to hide the drag image. + +

+ Calls the GetDragImages method to get the TDragImageList instance with the images displayed for the Control during drag and drop / dock operations. +

+

+ Please note that the image list is always unassigned (Nil) in TDragObject; it is provided by an overridden method in descendent classes like TDragControlObject. +

+
+ + + +
@@ -2783,6 +2811,9 @@ + + +
@@ -2842,21 +2873,19 @@ A class type. - - A drag object that is automatically destroyed after use. - - - - - Extends TDragObject to automatically free itself in the DragManager. + + Extends TDragObject to automatically free itself in the DragManager. +

TDragObjectEx is a TDragObject descendant. It provides an overridden constructor which sets the AutoFree property to True.

- + + +
@@ -3185,7 +3214,9 @@

Determines the hotspot offset for adjusting the floating DockRect. Since the undocked extent of the control doesn't change while dragging, we fix the hotspot offset here.

-

Usage:

+

+ Usage: +

OffsetRect(DockRect, FDockOffset);
@@ -3194,13 +3225,17 @@ - Shows the DockRect, remembers the coordinates in EraseDockRect. + + Shows the DockRect, and remembers the coordinates in EraseDockRect. + - Hides the DockRect, invalidates EraseDockRect to prevent further erases. + + Hides the DockRect, and invalidates EraseDockRect to prevent further erases. + @@ -3208,8 +3243,9 @@ Moves an already visible DockRect. -

Checks the DockRect for changes against EraseDockRect, to prevent flicker.

-

Remembers the drawn frame coordinates in EraseDockRect.

+

+ Checks the DockRect for changes against EraseDockRect, to prevent flicker. Remembers the drawn frame coordinates in EraseDockRect. +

@@ -3233,7 +3269,9 @@ - True when an event handler has been assigned to OnDrawDockImage. + + True when an event handler has been assigned to OnDrawDockImage. + @@ -3253,7 +3291,9 @@ - How the dragged control will be docked, relative to the target control. + + How the dragged control will be docked, relative to the target control. +

When the target is a DockTree, DropAlign indicates the placement of the control relative to DropOnControl. Other docking methods require a specialized (derived) DragDockObject. @@ -3272,18 +3312,30 @@ The final state of the dragged control (after drop). - True when the dragged control becomes or stays floating. + +

+ True when the dragged control becomes or stays floating. +

+
- Determines whether the dock site shall be enlarged. - Not normally used, perhaps a special AnchorDocking property? + + Indicates whether the dock site is enlarged after a Control has been docked. + + +

+ The property value is assigned when the ManualDock method is called for the Control. It is set to the inverse of the KeepDockSiteSize argument passed to the ManualDock or ManualFloat methods in Control. The value is not, however, subsequently used in the current LCL implementation. +

+
- Area to be erased when refreshing the display for the docking rectangle. + + Area to be erased when refreshing the display for the docking rectangle. +

EraseDockRect is a TRect property that represents the area to be erased when redrawing the docking rectangle. The value in EraseDockRect is assigned in InitDock, and updated to contain the value from DockRect when the docking rectangle has been altered in methods like ShowDockImage, HideDockImage, and MoveDockImage. @@ -3302,16 +3354,23 @@ - A drag object for docking that is automatically destroyed after use. + + A drag object for docking that is automatically destroyed after use. + - Creates an object to be destroyed after use. - + Constructor for the class instance. + +

+ Create is the overridden constructor for the class instance. + It calls the inherited constructor on entry to assign the value in AControl to the Control property. It sets the default value for the AutoFree property to True. +

+
- + Control for the drag and drop / dock operation. @@ -3334,7 +3393,11 @@ Handler for keyboard key released. - When the Ctrl key is released, a drop is enabled again. + +

+ When the Ctrl key is released, a drop is enabled again. +

+
@@ -3347,8 +3410,9 @@ Handler for keyboard key pressed. -

When (and while) the Ctrl key is pressed, dropping is disabled.

-

The Esc key aborts the current dragging operation immediately.

+

+ When (and while) the Ctrl key is pressed, dropping is disabled. The Esc key aborts the current dragging operation immediately. +

@@ -3360,7 +3424,9 @@
- Aborts the dragging operation, when the capturing control has changed. + + Aborts the dragging operation, when the capturing control has changed. + @@ -3369,7 +3435,9 @@
- Generates visual feedback for mouse movement in a drag operation. + + Generates visual feedback for mouse movement in a drag operation. + @@ -3422,7 +3490,9 @@ Initializes the Delphi default dragging parameters. -

The Delphi VCL sets DragImmediate=True and DragThreshold=5.

+

+ The Delphi VCL sets DragImmediate to True and DragThreshold to 5. +

A docking operation never should start immediately.
@@ -3542,14 +3612,14 @@ - Start dragging immediately, on MouseDown? + Start dragging immediately on MouseDown. This is the default value for e.g. BeginDrag. - The threshold amount for mouse movement before delayed dragging starts (default is 5 pixels). + The threshold for mouse movement before delayed dragging starts (default is 5 pixels). @@ -3748,10 +3818,14 @@ How to dock, relative to DropCtl. - The screen rectangle of the docksite, to be adjusted by this method. + + The screen rectangle of the docksite, to be adjusted by this method. + - The DragDockObject holding all information about the drag-dock operation. + + The DragDockObject holding all information about the drag-dock operation. + @@ -3768,7 +3842,9 @@ - ResetBounds refreshes the layout of the docksite. + + Refreshes the layout for the dock site. +

This method typically notifies the DockManager when the DockSite calls its Resize method. When the extent of the docksite has changed, the DockManager should reposition and resize all docked controls accordingly. @@ -3889,7 +3965,9 @@ - Holds maximum and minimum values that can be used in sizing objects. + + Holds maximum and minimum values that can be used in sizing objects. + @@ -4010,7 +4088,9 @@ - Determines the minimum applicable width, given the local and interface constraints. + + Determines the minimum applicable width, given the local and interface constraints. + @@ -4019,7 +4099,8 @@ - Determines the minimum applicable height, given the local and interface constraints. + + Determines the minimum applicable height, given the local and interface constraints. @@ -4029,7 +4110,9 @@ - Determines the maximum applicable width, given the local and interface constraints. + + Determines the maximum applicable width, given the local and interface constraints. + @@ -4038,7 +4121,9 @@ - Determines the maximum applicable height, given the local and interface constraints. + + Determines the maximum applicable height, given the local and interface constraints. + @@ -4047,7 +4132,9 @@ - Determines the constrained Width, and transfers it to the widget. + + Determines the constrained Width, and transfers it to the widget. + @@ -4059,7 +4146,9 @@ - Determines the constrained Height, and transfers it to the widget. + + Determines the constrained Height, and transfers it to the widget. + @@ -4151,7 +4240,9 @@ - Specifies an event handler signalled to resize a control to the specified size constraints. + + Specifies an event handler signalled to resize a control to the specified size constraints. +

TConstrainedResizeEvent is an object procedure type that specifies an event handler signalled to resize a control to the specified size constraints. Used to implement the OnConstrainedResize event in TControl. @@ -4202,7 +4293,7 @@ - Cause the cell to fill the available space for the cell. + Causes the cell to fill the available space for the cell. @@ -4218,7 +4309,9 @@ - Set type used to store values from the TControlCellAlign enumeration. + + Set type used to store values from the TControlCellAlign enumeration. + @@ -4561,12 +4654,14 @@ - Pointer to an record with default settings; can be Nil for all zero defaults. + Pointer to a record with default settings; can be Nil for all zero defaults. - Copies property values from the specified persistent object. + + Copies property values from the specified persistent object. + TPersistent @@ -4590,7 +4685,9 @@ - True when the specified spacing is the same as the current settings. + + True when the specified spacing is the same as the current settings. + @@ -4640,7 +4737,9 @@ - Automatically adjusts the size of the control using the specified proportions. + + Automatically adjusts the size of the control using the specified proportions. +

AutoAdjustLayout is a procedure used to automatically adjust the size of the control using the specified proportions. @@ -4695,7 +4794,9 @@ - Spacing used around and on the left-hand side of the control. + + Spacing used around and on the left-hand side of the control. +

AroundLeft is a read-only Integer property which indicates the spacing used around and on the left-hand side of the control. @@ -4711,19 +4812,25 @@ - Space reserved around and on the top edge of the control. + + Space reserved around and on the top edge of the control. + - Space reserved around and on the right-hand side of the control. + + Space reserved around and on the right-hand side of the control. + - Space reserved around and on the bottom edge of the control. + + Space reserved around and on the bottom edge of the control. + @@ -5414,7 +5521,9 @@ - Flags mostly for pending actions. + + Flags values used mostly for pending actions in a control. + @@ -5448,32 +5557,48 @@ Set when BoundsRectForNewParent has been initialized. - Indicates if the rectangle in the base bounds for a control is valid. + + Indicates if the rectangle in the base bounds for a control is valid. + - Set when PreferredSize has been calculated (CalculatePreferredSize). + + Set when PreferredSize has been calculated (CalculatePreferredSize). + - + + Set when PreferredSize has been calculated (CalculatePreferredSize) for the minimum height and width for a control. + - + + Set when the BoundsRect for a control has been changed and the host has not been updated. + Set (in WndProc) while processing an LM_PAINT message. - + + Set when a control is auto-sized. Used to prevent recursive calls when a control, its Parent, or its Children are auto-sized. + - + + Set when a control is auto-sized. Used to prevent recursive calls when a control, its Parent, or its Children call their InvalidatePreferredSize methods. + - + + Set when a control is auto-sized. Used to prevent recursive calls when a control, its Parent, or its Children call their AdjustSize methods. + - Set type used to store values from the TControlFlag enumeration. + + Set type used to store values from the TControlFlag enumeration. + @@ -5526,7 +5651,7 @@ - Smartphone platforms use this one, the x axis is stretched to fill the screen and the y axis is scaled to fit the DPI. + Smartphone platforms use this one; the x axis is stretched to fill the screen and the y axis is scaled to fit the DPI. @@ -5534,14 +5659,18 @@ - Indicates the role which a accessible object takes in the user interface. + + Indicates the role which a accessible object takes in the user interface. + - Something to be ignored. For example a blank space between other objects. + + Something to be ignored. For example a blank space between other objects. + An object that displays an animation. @@ -5556,7 +5685,9 @@ An object that displays a graphical representation of data. - An object that can be checked or unchecked, or sometimes in an intermediary state. + + An object that can be checked or unchecked, or sometimes in an indeterminate state. + A clock displaying time. @@ -5571,7 +5702,9 @@ A list of choices that the user can select from. - A controls which displays and possibly allows one to choose a date. + + A controls which displays and possibly allows one to choose a date. + A grid control which displays cells. @@ -5586,7 +5719,9 @@ A text label as usually placed near other widgets. - A list of items, from which the user can select one or more items. + + A list of items, from which the user can select one or more items. + An item in a list of items. @@ -5604,7 +5739,9 @@ A radio button, see for example TRadioButton. - A grip that the user can drag to change the size of widgets. + + A grip that the user can drag to change the size of widgets. + A generic row in a table. @@ -5613,7 +5750,9 @@ A control to scroll another one. - A control which allows one to increment / decrement a value. + + A control which allows one to increment / decrement a value. + A control with tabs, like TPageControl. @@ -6745,8 +6884,7 @@ No actions are performed in the method when AutoSizingAll is True, or when the control is not derived from TWinControl.

- Calls DoAutoSize while the control includes cfAutoSizeNeeded in its ControlFlags property. - Called from the AdjustSize and EnableAutoSizing methods. + Calls DoAutoSize while the control includes cfAutoSizeNeeded in its ControlFlags property. Called from the AdjustSize and EnableAutoSizing methods.

@@ -6893,14 +7031,20 @@
- Checks for a defined (non-zero) value in BorderSpacing.InnerBorder. + + Checks for an assigned value in BorderSpacing.InnerBorder. + - True when InnerBorder has been assigned and must be applied to the control. + + True when InnerBorder has been assigned and must be applied to the control. + - Implements the storage specifier for the Caption property. + + Implements the storage specifier for the Caption property. +

Returns True if ActionLink has not been assigned, or its IsCaptionLinked property is set to False. @@ -6933,21 +7077,38 @@ Signals the OnConstrainedResize handler. + +

+ ConstrainedResize is a method used to signal the OnConstrainedResize event handler (when assigned) for the control. +

+

+ It is called from the DoConstrainedResize method, and occurs after values from Constraints have been normalized to the constraints from the LCL interface. The normalized values are stored in the MinWidth, MinHeight, MaxWidth, and MaxHeight arguments and passed to the OnConstrainedResize event handler. +

+
+
- + + Variable argument with the minimum width for the control. + - + + Variable argument with the minimum height for the control. + - + + Variable argument with the maximum width for the control. + - + + Variable argument with the maximum height for the control. + @@ -6976,12 +7137,18 @@ Set this argument to the preferred height. - True when space around stacked controls should be added. + + True when space around stacked controls should be added. + Signals OnResize event handlers for the control. - + +

+ Signals the OnResize event handler (when assigned) using the control instance as the Sender for the event notification. Calls DoCallNotifyHandler to signal any handler routines using the chtOnResize handler type. +

+
@@ -6993,8 +7160,13 @@ Signals OnChangeBounds event handlers for the control. - + +

+ DoOnChangeBounds ensures that cfOnChangeBoundsNeeded is removed from the flag values for the control. DoOnChangeBounds signals the OnChangeBounds event handler (when assigned) using the control instance as the Sender for the event notification. Calls DoCallNotifyHandler to signal any handler routines using the chtOnChangeBounds handler type. +

+
+ @@ -7037,9 +7209,15 @@ - Smart calling of Parent.AlignControls (very indirectly). + Asks the parent control to realign all controls that are siblings. + +

+ Calls the AdjustSize method to handle resize operations delayed during loading or handle creation. +

+
+
@@ -7050,7 +7228,7 @@ - Sets the bounds (left, top, height, width) optionally the BaseBounds of the control. + Sets the bounds (left, top, height, width) and optionally the BaseBounds of the control.

@@ -7068,53 +7246,71 @@ - + + New value for the Left property in the control. + - + + New value for the Top property in the control. + - + + New value for the Width property in the control. + - + + New value for the Height property in the control. + True when the BaseBounds should not be modified. - Internal function to set the control's bounds (Left, Top, Height, Width). + + Internal function used to set the bounds for the control (Left, Top, Height, Width). +

- DoSetBounds is a low level function to set the private variables FLeft, FTop, FWidth, FHeight. Do not call this function, only the LCL calls it. + DoSetBounds is a low-level function used to set the private variables FLeft, FTop, FWidth, FHeight. Do not call this function; only the LCL calls it.

It also updates FClientWidth and FClientHeight accordingly.

- Override this to update the content layout of the control, for example scroll bars. As always: do not paint here, but call Invalidate and paint in OnPaint or override Paint. + Override this to update the content layout within the control, for example scroll bars. As always: do not paint here, but call Invalidate and paint using the OnPaint handler or an overridden Paint method.

- + + Value applied to the Left member in the control. + - + + Value applied to the Top member in the control. + - + + Value applied to the Width member in the control. + - + + Value applied to the Height member in the control. + Scales the minimum and maximum Width and Height.

- ScaleConstraints is called from the ChangeScale method; never call it directly. Multiplier and Divider contain the values passed as arguments to the ChangeScale method. + ScaleConstraints is called from the ChangeScale method; never call it directly. Multiplier and Divider contain the values passed as arguments to the ChangeScale method.

@@ -7123,10 +7319,14 @@
- Multiplier used to derive the scaling factor for the control constraints. + + Multiplier used to derive the scaling factor for the control constraints. + - Divisor used to derive the scaling factor for the control constraints. + + Divisor used to derive the scaling factor for the control constraints. + @@ -7135,7 +7335,7 @@

- ChangeScale is amethod used to apply scaling, expressed by the Multiplier and Divider arguments, to size values in the control. These values include: + ChangeScale is a method used to apply scaling, expressed by the Multiplier and Divider arguments, to size values in the control. These values include:

  • @@ -7223,10 +7423,22 @@ - Determine if a parent control is involved in the alignment process. + + Determines if a parent control is involved in the alignment process for the control. + + +

    + The return value is True when a control in the Parent hierarchy has been assigned and has wcfAligningControls in its Window control flags. The return value is False if both conditions are not satisfied. +

    + + This method is not used in the current LCL implementation. + +
    - + + True if a Parent control is actively aligning its descendent controls. + @@ -7292,7 +7504,8 @@ - The scrolled ClientRect (TopLeft, BottomRight). + + The scrolled ClientRect (TopLeft, BottomRight). @@ -7301,7 +7514,9 @@ Returns the offset of the scrolled client area (in a scrolling TWinControl). - The overridden method may fail when the TScrollingWinControl has only one scrollbar. +

    + The overridden method may fail when the TScrollingWinControl has only one scroll bar. +

    @@ -7311,7 +7526,7 @@ - The X and Y offsets of the visible client area, equal to the scrollbar positions. + The X and Y offsets of the visible client area, equal to the scroll bar positions. @@ -7320,7 +7535,9 @@ Gets the value for the ControlOrigin property. - Returns the origin (top left pixel) of the control, in screen coordinates. +

    + Returns the origin (top, left pixel) for the control, in screen coordinates. +

    @@ -7331,29 +7548,39 @@ - Implements the storage specifier for the ClientHeight property. + + Implements the storage specifier for the ClientHeight property. + - True if the value for ClientHeight is stored using LCL component streaming. + + True if the value for ClientHeight is stored using LCL component streaming. + - Implements the storage specifier for the ClientWidth property. + + Implements the storage specifier for the ClientWidth property. + - True if the property is stored using LCL component streaming. + + True if the property is stored using LCL component streaming. + - True when both the control's left and right side are anchored. + + True when both the control's left and right side are anchored. + @@ -7362,16 +7589,31 @@ - True when both the control's top and bottom side are anchored. + + True when both the control's top and bottom side are anchored. + - True if the Height varies with the Parent.Height. + + True if the Height varies with the Parent.Height. + - True while auto-sizing is in progress. + + Contains True while auto-sizing is in progress. + + +

    + AutoSizing is a read-only Boolean property which indicates if an auto-size operation is currently active for the control. The property value is set to True when the BeginAutoSizing method is called, and set to False in the EndAutoSizing method. These methods raise a catchable exception when AutoSizing does not contain the expected / required value. +

    +
    + + + +
    @@ -7383,7 +7625,9 @@ - Internal counter, increased/decreased by DisableAutoSizing/EnableAutoSizing. + + Internal counter increased and decreased in the DisableAutoSizing and EnableAutoSizing methods. + @@ -7408,7 +7652,7 @@

    - No actions are performed in the method at design-time, or when the result code in Message has non-zero value. + No actions are performed in the method at design-time, or when the result code in Message has a non-zero value.

    Calls DoContextPopup to signal the OnContextPopup event handler (when assigned). No additional actions are performed in the method if the context menu was displayed and executed in the OnContextPopup event handler. @@ -7557,200 +7801,203 @@ - Message handler for right mouse button double click. + Message handler for right mouse button double click events. - + Window message handled in the method. - Message handler for middle mouse button double click. + Message handler for middle mouse button double click events. - + Window message handled in the method. - Message handler for extra mouse button double click. + Message handler for extra mouse button double click events. - + Window message handled in the method. - Message handler for left mouse button triple click. + Message handler for left mouse button triple click events. - + Window message handled in the method. - Message handler for right mouse button triple click. + Message handler for right mouse button triple click events. - + Window message handled in the method. - Message handler for middle mouse button triple click. + Message handler for middle mouse button triple click events. - + Window message handled in the method. - Message handler for extra mouse button triple click. + Message handler for extra mouse button triple click events. - + Window message handled in the method. - Message handler for left mouse button quadruple click. + Message handler for left mouse button quadruple click events. - + Window message handled in the method. - Message handler for right mouse button quadruple click. + Message handler for right mouse button quadruple click events. - + Window message handled in the method. - Message handler for middle mouse button quadruple click. + Message handler for middle mouse button quadruple click events. - + Window message handled in the method. - Message handler for extra mouse button quadruple click. + Message handler for extra mouse button quadruple click events. - + Window message handled in the method. - Message handler for extra mouse button going up. + Message handler for extra mouse button up events. - + Window message handled in the method. - Message handler for mouse moved. + Message handler for mouse move events. - + Window message handled in the method. - Message handler for left mouse button going up. + Message handler for left mouse button up events. - + Window message handled in the method. - Message handler for right mouse button going up. + Message handler for right mouse button up events. - + Window message handled in the method. - Message handler for middle mouse button going up. + Message handler for middle mouse button up events. - + Window message handled in the method. + Handles mouse wheel messages for the control. Mouse wheel message handled in the method. + Handles horizontal mouse wheel messages for the control. Mouse wheel message handled in the method. + - Message handler for control moved. + Message handler for control move events. - + Window message handled in the method. @@ -7761,18 +8008,18 @@ - + Window message handled in the method. - Message handler for changed control position. + Message handler for changed control position events. - + Window message handled in the method. @@ -7929,18 +8176,19 @@ - Message handler for control's Text changed. + Message handler for a text changed control message. - + Control message handled in the method. + Message handler for special character (TAB...). - + Control message handled in the method. @@ -8004,7 +8252,7 @@ Determines whether the control is floating.

    - Floating state is assumed when the control has a HostDockSite of FloatingDockSiteClass, and is the only docked client. + Floating state is assumed when the control has a HostDockSite using the FloatingDockSiteClass type, and is the only docked client.

    @@ -8060,12 +8308,16 @@ - Adjust the DockRect for floating state (no drop target under the mouse). + + Adjust the DockRect for floating state (no drop target under the mouse). + - The dragged DockObject, containing the DockRect to adjust. + + The dragged DockObject, containing the DockRect to adjust. + The mouse position, in screen coordinates. @@ -8631,7 +8883,9 @@ - Called for each control on a form where the update count has reached 0 (zero). + + Called for each control on a form where the update count has reached 0 (zero). +

    FormEndUpdated is overridden in descendent classes, like TWinControl, which provides a container for its child controls. @@ -8670,7 +8924,9 @@ True if the control use an opaque drawing style. - True if TWinControl descendants are ignored in the method. + + True if TWinControl descendants are ignored in the method. + @@ -9162,7 +9418,9 @@ Adds an notification handler. - Notification handlers allow to notify other components of certain events. When the registered event occurs, all installed (added) handlers are invoked. +

    + Notification handlers allow components to be notified of certain events. When the registered event occurs, all installed (added) handlers are invoked. +

    @@ -9176,7 +9434,9 @@ - Removes the given notification handler. + + Removes the given notification handler from the specified handler type. + @@ -9201,62 +9461,115 @@ Passes key events for the specified type to the handlers added to the control. - - + +

    + DoCallKeyEventHandler iterates over the handler routines using the type specified in HandlerType. The routines are cast to the TKeyEvent type used to implement the handler and receives the arguments specified in Key and Shift. The current class instance is used as the Sender for the event notification. +

    +

    + DoCallKeyEventHandler is called from the KeyDown method in descendent classes like TWinControl. +

    +
    + + + + + TShiftState +
    - + + Type for the handler, like OnKeyDown. + - + Key code for the key event notification. - + + Shift, Ctrl, or Alt modifier for the key event notification. + - Passes mouse wheel events to the handlers added to the control. - + + Executes assigned mouse wheel events until a handler is found for the event notifications. + + +

    + DoCallMouseWheelEventHandler iterates over the handler routines using the type specified in HandlerType. The routines are cast to the TMouseWheelEvent type used to implement the handler and receives the arguments specified in Shift, WheelDelta, MousePos, and Handled. Iteration is halted when an event handler returns True in the Handled argument, or when all handlers for the type have been signalled. +

    +

    + The current class instance is used as the Sender for each of the event notifications. +

    +

    + DoCallMouseWheelEventHandler is called from methods like DoMouseWheel and DoMouseWheelHorz. +

    +
    - + + Type for the handlers signalled in the method. + - + + Shift, Ctrl, or Alt modifier for the mouse wheel event notification. + - + + Number of relative units that the mouse wheel was moved. Negative values indicate a move wheel up or left direction. + - + + Position of the mouse pointer when the wheel event occurred. + - + + Set to True in a handler routine if the control handles the event notification. + - Invokes the OnContextPopup handler. + Signals the OnContextPopup handler. + +

    + DoContextPopup is a method used to signal the OnContextPopup event handler (when assigned). The control instance is used as the Sender argument. Values in MousePos and Handled are also passed as parameters to the event handler. Handled should be set to True in the handler routine if the context pop-up was displayed and a menu item was executed. +

    +
    - Mouse position, used to place the menu. + + TPoint instance with the Mouse position, used to place the menu. + - To be set by the handler, when it has handled the menu display and selection. + + Set to True in the event handler if the menu display and selection was handled for the control. + - Moves the control in front or back of all sibling controls. + + Moves the control in front of or back all sibling controls. + - + + True to move the control in front of other sibling controls. False to move the control behind other siblings. + - Returns the default size for this class of controls (when added to a form). + + Returns the default size for this class of controls (when added to a form). + @@ -9267,10 +9580,13 @@ + - + + True when ParentColor is not enabled for the control. + @@ -9331,10 +9647,14 @@
    - + + TFont instance updated in the method. + - + + Design-time display density to which the font height is adjusted. + @@ -9404,19 +9724,29 @@ The cursor shape shown while the control is dragged. - Default is crDrag. When no drop is allowed, the cursor changes temporarily to crNoDrop. + +

    + The default value is crDrag. If the control cannot be dropped on a target, the cursor changes temporarily to crNoDrop. +

    +
    The operation when the control is dragged - Drag or Dock. - Set to dkDrag for drag-drop, or to dkDock for drag-dock operation. + +

    + Set to dkDrag for a drag-drop operation, or to dkDock for a drag-dock operation. +

    +
    Allows the user to drag the control. -

    Default is dmManual, meaning that dragging must be started in code.

    +

    + Default is dmManual, meaning that dragging must be started in code. +

    Set to dmAutomatic to allow the user to drag this control. In this mode dragging can start immediately (on left mouse button press) or delayed, after the mouse has been moved away by a number of pixels (Threshold).

    @@ -9583,7 +9913,7 @@ Event handler for a control being dragged over this control. - The handler can reject an drop, by setting Accept to False. + The handler can reject a drop by setting Accept to False. @@ -9646,7 +9976,9 @@ - Event handler signalled when a mouse up event is handled for the control. + + Event handler signalled when a mouse up event is handled for the control. +

    OnMouseUp is signalled (when assigned) from the MouseUp method. It is signalled when standard mouse events are enabled using the ControlStyle property. The event is signalled after the mouse position has been updated and the event is applied to an active DragManager. @@ -9677,7 +10009,9 @@ - Event handler signalled when the mouse pointer has entered the control. + + Event handler signalled when the mouse pointer has entered the control. +

    OnMouseEnter is a TNotifyEvent property with the event handler signalled when the mouse pointer has entered the bounds for the control. OnMouseEnter is signalled from the MouseEnter method (when assigned), and occurs after the Parent control has been notified of the event. The Sender argument contains the control for the notification, and must be cast to a TControl type to access the properties or values specific to the class type. @@ -9695,7 +10029,9 @@ - Event handler signalled when the mouse pointer has left the control. + + Event handler signalled when the mouse pointer has left the control. +

    OnMouseLeave is a TNotifyEvent property with the event handler signalled when the mouse pointer has left the bounds for the control. OnMouseLeave is signalled from the MouseLeave method (when assigned), and occurs after the Parent control has been notified of the event. The Sender argument contains the control for the notification, and must be cast to a TControl type to access the properties or values specific to the class type. @@ -9754,13 +10090,13 @@ - Event handler for left movements of the mouse wheel. + Event handler signalled for left mouse wheel movements. - Event handler for right movements of the mouse wheel. + Event handler signalled for right mouse wheel movements. @@ -9768,7 +10104,9 @@ Event handler for the start of a docking operation. -

    The handler can provide a special DragDock object, otherwise a default object is created.

    +

    + The handler can provide a special DragDock object, otherwise a default object is created. +

    @@ -9812,7 +10150,9 @@
    - Invokes the OnDragDrop handler, when a dragged object is dropped onto this control. + + Invokes the OnDragDrop handler, when a dragged object is dropped onto this control. + @@ -10305,7 +10645,8 @@ - Setup AnchorSide to center the control horizontally relative to a sibling. + + Anchors the horizontal center of the control to the center of the specified sibling. @@ -10313,7 +10654,8 @@ - Setup AnchorSide to center the control vertically relative to Sibling. + + Anchors the vertical center of the control to the center of the specified Sibling. @@ -10521,18 +10863,34 @@ - Gets the scaling factor for the canvas used to render the control. - + + Gets the scaling factor for the canvas used to render the control. + + +

    + GetCanvasScaleFactor is a Double function used to get the scaling factor for the Canvas in the control. +

    +

    + GetCanvasScaleFactor calls the corresponding method in the widgetset class to get the return value. For TControl and TWSControl, the return value is always 1.0. It may be overridden in descendent classes to use a value appropriate to the implementation. +

    +

    + GetCanvasScaleFactor is used in descendent classes when selecting a scalable image resolution for images and glyphs associated with a control. +

    +
    - + + Scaling factor applied to images drawn on the control Canvas. + - The default width for this control, independent of any calculated values like Width and GetPreferredSize. + The default width for the control independent of any calculated values like Width and GetPreferredSize. + + @@ -10540,8 +10898,10 @@ - The default height for this control, independent of any calculated values like Height and GetPreferredSize. + The default height for the control independent of any calculated values like Height and GetPreferredSize. + + @@ -10611,32 +10971,53 @@ - Returns a RGB value for the color of the control. + Returns a RGB value for the color used on the control.

    - This convenience routine will allow to obtain the Color of the control while resolving clDefault, ParentColor and system color indexes and returns a TColor value. + GetRGBColorResolvingParent is a convenience routine used to get an RGB color value for the background on the control. It calls GetColorResolvingParent to translate the clDefault color value to the Brush color in a Parent control. It calls ColorToRGB to convert a color constant to its numeric equivalent and to remove any alpha channel information in the color value.

    - + + ColorToRGB
    - The client coordinate of the given side. + The client coordinate for the specified side. + +

    + The return value contains the coordinate for the anchor side indicated in the Side argument. For example: +

    +
    +
    akLeft
    +
    Returns the value in the Left property.
    +
    akTop
    +
    Returns the value in the Top property.
    +
    akRight
    +
    Returns the value in the Right property.
    +
    akBottom
    +
    Returns the value in the Bottom property.
    +
    +
    - + Value for the specified anchor side. - + TAnchorSide value which coordinate value is returned. Message handler for preferred size changed. + +

    + Called by the LCL interface, when something changed that effects the interface values for GetPreferredSize. +

    +
    @@ -10662,13 +11043,29 @@ - Turns on (enables) automatic sizing. - - + Enables automatic sizing for the control. + +

    + EnableAutoSizing is used along with DisableAutoSizing to suspend and restore auto-sizing when the Parent, alignment, layout, visibility, or state for the control is updated. An exception is raised if EnableAutoSizing is called when DisableAutoSizing has not been called. +

    +

    + EnableAutoSizing decrements the internal counter used to track auto-sizing locks. When the counter reaches 0 (zero), the EnableAutoSizing method in the Parent control is called (when assigned). Otherwise, the DoAllAutoSize method is called to trigger the OnResize event handlers for the control. +

    +

    + It is not generally used in application code, but is needed by component developers. +

    +
    + + + + +
    - Update the basic boundaries of the control - essential if there has been a lot of re-sizing. + + Update the base boundaries for the control; essential if there has been a lot of re-sizing. + @@ -10716,7 +11113,9 @@ - The Parent's client size, for which the BaseBounds are valid. + + The client size for the Parent, for which the BaseBounds are valid. +

    BaseBounds and BaseParentClientSize determine the distance to keep from Parent's sides, when a side is anchored to the Parent (akLeft...), and the Parent is resized. @@ -10727,13 +11126,20 @@ Used for debugging. + +

    + Formats and outputs bounds, alignment, and anchor information for the debugger. +

    +
    - Applies an automatic adjustment layout policy to the control. + + Applies an automatic adjustment layout policy to the control. +

    AutoAdjustLayout can be used to alter PPI settings, scale the control, or apply changes to height or width without scaling. @@ -10928,7 +11334,9 @@ - Called when the Return key is pressed, signifying the default action. + + Called when the Return key is pressed, signifying the default action. +

    ExecuteDefaultAction has an empty implementation in TControl. It can be overridden in descendent classes to perform any actions needed for the class type. @@ -10938,7 +11346,9 @@ - Called when the Escape key is pressed or the Cancel button is clicked. + + Called when the Escape key is pressed or the Cancel button is clicked. +

    ExecuteCancelAction has an empty implementation in TControl. It can be overridden in descendent classes to perform any actions needed for the class type. @@ -10948,7 +11358,9 @@ - Starts a drag operation for the control (programmatically). + + Starts a drag operation for the control (programmatically). + @@ -10957,12 +11369,14 @@ - Minimum mouse movement before delayed dragging starts (in pixels); -1 uses the DragManager default. Ignored when Immediate=True. + Minimum mouse movement before delayed dragging starts (in pixels); -1 causes the DragManager default to be used. Ignored when Immediate is set to True. - Ends a drag operation by notifying the drag manager. + + Ends a drag operation by notifying the drag manager. + @@ -10985,7 +11399,9 @@ - Returns True if there is a Parent component responsible for streaming. + + Returns True if there is a Parent component responsible for streaming. +

    HasParent is called during streaming to decide if a component has to be streamed by its owner or Parent. @@ -11037,10 +11453,12 @@ - Finds the control that is the top-most Parent in the control hierarchy. + + Finds the control that is the top-most Parent in the control hierarchy. +

    - GetTopParent is a TControl function used to get the control which is the top-most or intial Parent in the control hierarchy. + GetTopParent is a TControl function used to get the control which is the top-most or initial Parent in the control hierarchy.

    GetTopParent visits each of the control instances in the Parent property. The return value is set to control where Parent is unassigned (Nil). The return value is the current control instance (Self) if Parent has not been assigned. @@ -11052,7 +11470,9 @@ - TControl instance which is the top-most Parent in the control hierarchy, or Self. + + TControl instance which is the top-most Parent in the control hierarchy, or Self. + @@ -11083,7 +11503,9 @@ - Gets the effective visibility for the control and all of its Parent controls. + + Gets the effective visibility for the control and all of its Parent controls. +

    IsVisible calls IsControlVisible to determine if the control has its Visible property set to True. At design-time, ControlStyle is also checked to ensure that csNoDesignVisible is not used in the style flags. Each of the Parent controls in the hierarchy call their IsVisible method to determine the return value for the method. @@ -11100,11 +11522,15 @@ - True when the control and and all Parent controls are Visible. + + True when the control and and all Parent controls are Visible. + - True if the control is Visible, or is in design mode. + + True if the control is Visible, or is in design mode. +

    The return value is True when the Visible property is set to True. The value is False at design-time if the ControlStyle property includes the value csNoDesignVisible. IsControlVisible does not check the visibility for parent controls in the control hierarchy. @@ -11126,7 +11552,9 @@ - Returns True if both the control and all of its Parent controls are Enabled. + + Returns True if both the control and all of its Parent controls are Enabled. +

    Returns True when both the control instance and its parent control hierarchy are enabled. Used internally by TGraphicControls for painting and various states during run-time. @@ -11134,11 +11562,15 @@ - True when the control and all Parent controls are enabled. + + True when the control and all Parent controls are enabled. + - Provides access to the value in the protected ParentColor property. + + Provides access to the value in the protected ParentColor property. +

    Returns the value for the protected ParentColor property. Used in places where we need to check ParentColor property from within the TControl. Needed for widgetset classes. @@ -11151,7 +11583,9 @@ - Provides access to the value in the protected ParentFont property. + + Provides access to the value in the protected ParentFont property. +

    Checks the value for the protected ParentFont property. Used in places where we need to check ParentFont from within TControl. Needed for widgetset classes. @@ -11196,7 +11630,9 @@ - Hides the control by setting the Visible property to False. + + Hides the control by setting the Visible property to False. + @@ -11216,7 +11652,9 @@ - Immediately redraws the control when visible, bypassing the message queue. + + Immediately redraws the control when visible, bypassing the message queue. +

    Repaint is a method called redraw the control when it is visible. No actions are performed in the method when: @@ -11371,7 +11809,9 @@ - Copy the Text property into Buffer. + + Copy the Text property into Buffer. +

    This method only exists for Delphi compatibility.

    @@ -11393,12 +11833,19 @@
    - The length of Text, here: of Caption. - + The length of the Text for the control. + +

    + In TControl, the value indicates the size for the Caption property. + Descendent classes may use a different a different property as the basis for the return value. +

    +
    - + + Length of the text for the control. + @@ -11418,7 +11865,9 @@ - Calls a message handler directly, bypassing the message queue. + + Calls a message handler directly, bypassing the message queue. +

    Perform is a method used to pass a message to the processing loop for the control. @@ -11438,17 +11887,25 @@ Result value from the WindowProc routine. - Control message constant for the message executed in the method. + + Control message constant for the message executed in the method. + - Parameter with a handle or Integer value (not necessarily 16-bits any more). + + Parameter with a handle or Integer value (not necessarily 16-bits any more). + - Parameter with a Pointer to its value (not necessarily 32-bits any more). + + Parameter with a Pointer to its value (not necessarily 32-bits any more). + - Converts absolute screen coordinates into client-relative coordinates. + + Converts absolute screen coordinates into client-relative coordinates. +

    The APoint argument contains the screen coordinates which are converted to client-relative coordinates in the method. The X member has the horizontal coordinate, and the Y member has the vertical coordinate. @@ -11479,28 +11936,40 @@ - TPoint instance with the client-relative coordinates for the specified screen coordinates. + + TPoint instance with the client-relative coordinates for the specified screen coordinates. + - TPoint instance with the screen coordinates converted in the method. + + TPoint instance with the screen coordinates converted in the method. + - Converts client-relative coordinates to absolute screen coordinates. + + Converts client-relative coordinates to absolute screen coordinates. + - TPoint instance with the screen coordinates for the specified client coordinates. + + TPoint instance with the screen coordinates for the specified client coordinates. + - TPoint instance with the client-relative coordinates converted in the method. + + TPoint instance with the client-relative coordinates converted in the method. + - Converts absolute screen coordinates to control-relative coordinates. + + Converts absolute screen coordinates to control-relative coordinates. + @@ -11516,7 +11985,9 @@ - Converts control-relative coordinates to absolute screen coordinates. + + Converts control-relative coordinates to absolute screen coordinates. + @@ -11606,7 +12077,9 @@ - Makes the control visible by setting Visible to True. + + Makes the control visible by setting Visible to True. +

    Show calls the ShowControl method in the Parent control (when assigned) to ensure that the control instance is visible on the Parent control. Show sets the value in the Visible property to True. The value in the Visible property is not changed at design-time or when csNoDesignVisible has not been included in the ControlStyle property. @@ -11640,7 +12113,9 @@ - True if the control should be visible, unless it's being destroyed. + + True if the control should be visible, unless it's being destroyed. +

    HandleObjectShouldBeVisible is a Boolean function which indicates if the control requires a valid handle in its widgetset class instance and should be visible. The return value is set to True when the following conditions are satisfied: @@ -11691,7 +12166,9 @@ - Update the action associated with the control through its action link. + + Updates the action associated with the control using its action link. +

    Calls the Update method in ActionLink to signal the OnUpdate event handler for the linked TBasicAction instance. No actions are performed in the method when ActionLink has not been assigned. @@ -11744,7 +12221,9 @@ - Indicates whether a HelpKeyword or HelpContext identifier is assigned for the control. + + Indicates whether a HelpKeyword or HelpContext identifier is assigned for the control. + @@ -11753,7 +12232,9 @@ - True when a HelpKeyword or HelpContext has been assigned. + + True when a HelpKeyword or HelpContext has been assigned. + @@ -11762,49 +12243,71 @@ - Adds or inserts the specified OnResize event handler. + + Adds or inserts the specified OnResize event handler. + - + + Handler routine added or inserted in the method. + - + + True if the routine is inserted as the first handler in the list. False to append the handler to the end of the list. + - Removes the specified OnResize event handler. + + Removes the specified OnResize event handler. + - + + Handler routine to locate and remove in the method. + - Adds or inserts the specified OnChangeBounds event handler. + + Adds or inserts the specified OnChangeBounds event handler. + - + + Handler routine added or inserted in the method. + - + + True if the routine is inserted as the first handler in the list. False to append the handler to the end of the list. + - Removes the specified OnChangeBounds event handler. + + Removes the specified OnChangeBounds event handler. + - + + Handler routine to locate and remove from the list of handlers. + - Adds or inserts the specified OnVisibleChanging event handler. + + Adds or inserts the specified OnVisibleChanging event handler. + @@ -11937,7 +12440,7 @@ - Describes the accessibility description for the control, like "a text caption", etc. + Provides the accessibility description for the control, like "a text caption", etc. The accessible description of the control. This should describe the role of the control, for example for TLabel it could be "a text caption". @@ -12167,7 +12670,9 @@ - The Top, Left and Bottom, Right for the control, in client coordinates. + + The Top, Left and Bottom, Right for the control, in client coordinates. +

    The BoundsRect rectangle describes the Top, Left and Bottom, Right coordinates for the control, relative to its parent. @@ -12351,7 +12856,7 @@ ALabel.Caption := '&Notes && Comments'; The background color of the control.

    - The default value in Color is the same as the value in the parent window Color. If the color is clDefault, the result will need to be passed through GetDefaultColor to resolve clDefault. Convenience routines which obtain the color by resolving clDefault and ParentColor are also provided as TControl.GetColorResolvingParent and TControl.GetRGBColorResolvingParent. + The default value in Color is the same as the value in the parent window Color. If the color is clDefault, the result will need to be passed through GetDefaultColor to resolve clDefault. Convenience routines which obtain the color by resolving clDefault and ParentColor are also provided as TControl.GetColorResolvingParent and TControl.GetRGBColorResolvingParent.

    @@ -12441,7 +12946,9 @@ ALabel.Caption := '&Notes && Comments';
    - Determines whether the control reacts on mouse or keyboard input. + + Determines whether the control responds to mouse or keyboard input. +

    Enabled is a Boolean property which indicates whether the control can respond to focus, input, or mouse events. The default value for the property is True. When Enabled is set to False, the control is displayed with a "grayed-out" appearance. It is unable to receive input focus, handle keyboard navigation or input, respond to mouse click events, or execute its Action. @@ -12462,7 +12969,9 @@ ALabel.Caption := '&Notes && Comments'; - The font to be used for text display in this control. + + The font to be used for text display in this control. +

    Font is a TFont property with the typeface and display attributes used for textual values on the control. Use properties in the TFont instance to change attributes like Name (for the typeface), Charset, Color, Height, Orientation (rotation degrees), Pitch, Quality, Size, and Style. Assigning a new TFont instance to the property causes the control to be redrawn. @@ -12489,7 +12998,9 @@ ALabel.Caption := '&Notes && Comments'; - True when the mouse has entered the control. (Deprecated) + + True when the mouse has entered the control. (Deprecated) + Deprecated. Use MouseInClient instead. @@ -12499,7 +13010,9 @@ ALabel.Caption := '&Notes && Comments'; - True when the mouse is in the client area for the control. + + True when the mouse is in the client area for the control. +

    MouseInClient is a read-only Boolean property which indicates if the mouse pointer has entered the client area for the control. The value for the property is updated when CM_MOUSEENTER or CM_MOUSELEAVE messages are handled for the control. The property value is set to True in CMMouseEnter, and set to False in CMMouseLeave. @@ -12520,7 +13033,9 @@ ALabel.Caption := '&Notes && Comments'; - Event handler signalled when the Bounds of the control have been changed. + + Event handler signalled when the Bounds for the control have been changed. +

    OnChangeBounds is signalled from the DoOnChangeBounds method (when assigned). It occurs after the internal control flags have been updated to exclude cfOnChangeBoundsNeeded, and before DoCallNotifyHandler is called to notify handlers for the chtOnChangeBounds type. @@ -12582,7 +13097,9 @@ ALabel.Caption := '&Notes && Comments'; - Event handler signalled when a hint window is displayed for the control. + + Event handler signalled when a hint window is displayed for the control. +

    OnShowHint is a TControlShowHintEvent property with the event handler signalled when a hint window is displayed for the control. Arguments to the event handler include the control instance for the event notification, and a pointer to the structure with the Hint details for the control. @@ -12610,15 +13127,23 @@ ALabel.Caption := '&Notes && Comments'; The control within which the control is shown. -

    When the Parent moves or hides, all its children move or hide together with it.

    -

    Every TControl must have a Parent, else it is never shown.

    -

    The Parent of a floating form is Nil.

    -

    Set the parent last to reduce updates. For example:

    +

    + When the Parent moves or hides, all its children move or hide together with it. +

    +

    + Every TControl must have a Parent, else it is never shown. +

    +

    + The Parent of a floating form is Nil. +

    +

    + Set the parent last to reduce updates. For example: +

    - Button1 := TButton.Create(Self); - Button1.Name := 'Button1'; - Button1.Caption := 'Click me'; // parent is not set, so it does not update the whole form - Button1.Parent := Form1; // set parent as last, the LCL now applies all properties +Button1 := TButton.Create(Self); +Button1.Name := 'Button1'; +Button1.Caption := 'Click me'; // parent is not set, so it does not update the whole form +Button1.Parent := Form1; // set parent as last, the LCL now applies all properties

    Delphi/VCL: Parent must be set first under Delphi, because many properties work differently if they are set before or after Handle creation. The LCL applies the properties when the Handle is created. @@ -12664,7 +13189,9 @@ ALabel.Caption := '&Notes && Comments'; - Allows the control, and all of its children, to be displayed or hidden. + + Allows the control, and all of its children, to be displayed or hidden. +

    Visible is set to True by Show, or to False by Hide. Calling these methods is equivalent to setting the Visible property. @@ -12750,13 +13277,17 @@ ALabel.Caption := '&Notes && Comments'; - The Width when last docked, with siblings to the left or right. + + The Width when last docked, with siblings to the left or right. + - The Height when last docked, with siblings above or below. + + The Height when last docked, with siblings above or below. + @@ -12792,7 +13323,9 @@ ALabel.Caption := '&Notes && Comments'; - True when scrollbars appear at the left side of the control. + + True when BiDiMode indicates right-to-left reading is in use. + @@ -12810,7 +13343,8 @@ ALabel.Caption := '&Notes && Comments'; - Customization (of text controls) in bidirectional reading environments. + + Indicates whether text controls use in bi-directional reading.

    @@ -13077,7 +13611,9 @@ ALabel.Caption := '&Notes && Comments'; - Indicates whether context-sensitive Help is selected by numeric ID or keyword. + + Indicates whether context-sensitive Help is selected by numeric ID or keyword. +

    HelpType is a THelpType property which indicates the mechanism used to locate and display a help topic for the control. @@ -13169,7 +13705,9 @@ ALabel.Caption := '&Notes && Comments'; - Integer type used for + + Integer type used for . +

    TBorderWidth is an Integer type with the range of values that can be used as the width for a border on a control. TBorderWidth is the type used to implement the BorderWidth property in TWinControl and descendent classes. @@ -13181,7 +13719,9 @@ ALabel.Caption := '&Notes && Comments'; - Type used for a callback method, to be called for all children of a control. + + Type used for a callback method, to be called for all children of a control. + @@ -20198,44 +20738,60 @@ AControl.Align := AnchorAlign[alRight]; // contains [akRight, akTop, akBottom] - Adjusts the space around the border for the control. + + Adjusts the border space around the control to the client rectangle. + -

    RemainingClientRect: remaining clientrect without CurBorderSpace

    -

    CurBorderSpace: current borderspace around RemainingClientRect

    -

    Left, Top, Right, Bottom: apply these borderspaces to CurBorderSpace

    -

    CurBorderSpace will be set to the maximum of CurBorderSpace and Left, Top, Right, Bottom.

    -

    RemainingClientRect will shrink.

    -

    RemainingClientRect will not shrink to negative size.

    +

    + AdjustBorderSpace is an overloaded routines used to determine the space reserved for borders on the corresponding edges of a control. AdjustBorderSpace is called from methods in a widgetset class when the its bounds and constraints are realized and child controls are aligned to the new dimensions. +

    +

    + The overloaded variants allow the border spaces to be specified as individual Integer values or passed in a TRect instance. +

    - + + TRect instance with the unused client area in a control. + - + + TRect instance with the space reservers for borders on the corresponding edges of a control. + - + + Space reserved on the left edge of the client area. + - + + Space reserved on the top edge of the client area. + - + + Space reserved on the right edge of the client area. + - + + Space reserved on the bottom edge of the client area. + - + + TRect instance with the border space reserved on the corresponding edges of a control. + Determines if the color for the control is the system default (GTK).

    - Used by GTK-based widgetset classes to determine if the color in a control needs to be compares to the SYS_COLOR_BASE value used in the widgetset. + Used by GTK-based widgetset classes to determine if the color in a control needs to be compared to the SYS_COLOR_BASE value used in the widgetset.