Sign in Join
FPDoc Onlineexperiment

TFrame.ClientWidth property

Member of TFramepublishedIn unit Forms

The width of the client area for the control.

Declaration

pascal
property ClientWidth:;

Description

ClientWidth is an Integer property with the number of pixels need for the horizontal client area on the control. The property contains the value from the Right member in ClientRect. Changing the value for ClientWidth causes SetClientSize to be called to apply the new property value and the existing ClientHeight for the control.

The value for ClientWidth is not stored or used to set the Width for the control during LCL component streaming. It is used, however, when AutoSizing is restored and when auto-layout policies using Anchors are applied to the control. For example, when Anchors is set to [akRight] the value in ClientWidth is needed / used.

In the LCL, ClientWidth has the same value as Width. Derived classes (like TCustomForm or TForm) may implement a ClientWidth property that differs from Width - but in the current LCL version, they do not. This differs from the behavior in the Delphi VCL where a TForm instance adjusts the value in ClientWidth to remove pixels used in non-client areas like the borders, frames, and scroll bars. LCL uses this approach because there is no reliable way to determine the sizes for all of the non-client areas on all of the platforms where LCL is supported. Without a reliable way, the LCL would needlessly move the forms around on the screen or resize them endlessly. In the LCL, neither Width nor ClientWidth include the non-client area on a form instance.

Use ClientHeight to access the number of pixels needed for the vertical client area on the control.

This description is the one of Controls.TControl.ClientWidth.

See also

  • ClientRect
  • ClientHeight
  • Width
  • AutoSizing
  • EnableAutoSizing
  • AutoAdjustLayout
  • Resize
  • Anchors

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.