Some extra controls commonly used in Lazarus forms TCustomPage : The base type for Page TCustomPage : The base type for the tabbed pages found in notebooks PageIndex - integer index value for this page in the notebook ImageIndex - integer index value for the image associated with this page NoteBook Pages - an array of strings containing the names of the pages TCustomNotebook : The base type for TNotebook

TCustom Notebook : The base type for TNotebook

A notebook consists of several Pages, usually of similar type and kept indexed. They may contain Images listed in a table. One page is displayed at a time, but the other pages are indicated by tabs which may have their names on them, and a different page can be selected for display by clicking its tab

TPage : One of the pages in a tabbed Notebook

TPage : One of the pages in a tabbed Notebook

Inherits most of its properties from TCustomPage

HowToUseStdCtrls
TNotebook : A series of tabbed pages placed together to make a notebook

TNotebook : A series of tabbed pages placed together to make a notebook

A notebook consists of several Pages, usually of similar type and kept indexed. They may contain Images listed in a table. One page is displayed at a time, but the other pages are indicated by tabs which may have their names on them, and a different page can be selected by clicking its tab

Inherits most of its properties from TCustomNoteBook

HowToUseStdCtrls TPage
TTimer: An elapsed timer useful in many applications

TTimer: An elapsed timer useful in many applications

Inherits most of its properties from TCustomTimer

TIdleTimer : A timer to measure idle time between processes

TIdleTimer: A timer to measure idle time between processes

Inherits most of its properties from TCustomTimer

Shape Shape: An arbitrary graphic geometrical shape placed on the Form. It may be one of a series of standard shapes defined by TShapeType The Brush to be used for colouring this shape The Pen to be ussed for drawing this shape Which Shape? (Rectangle, Square, RoundRect, RoundSquare, Ellipse, Circle, SquaredDiamond, Diamond) TCustomSplitter : the base type for TSplitter

TCustomSplitter: the base type for TSplitter

A Splitter is a vertical or horizontal bar that can be placed on a panel or form, to separate sub-panels functionally and allow re-sizing of the constituent sub-panels

This class defines many of the basic properties for the children classes, such as positioning, sizing and alignment

{ TCustomSplitter is a control for interactively resizing another control.
    It is a vertical or horizontal bar anchored to a side of a control.
    You can either set the Align property to alLeft (alRight,alTop,alBottom),
    then it will become a vertical bar, aligned to the left and when the user
    moves it with the mouse, the control to the left with the same Align=alLeft
    will be resized.
    The second more flexible possibility is to set the properties Align=alNone,
    AnchorSides and ResizeAnchor.
    }   
Style for resizing - as a line, a pattern, full update, or none AutoSnap - automatically snaps to a grid point or grid line in the Form designer Boolean property, true if snapping to grid positions Whether the edges of the splitter bar are bevelled Minimum size for splitter - default 30 pixels Event handler for receiving permission to resize Event handler for occasion when splitter has moved TSplitter : A vertical or horizontal bar placed on a panel or form, to separate sub-panels functionally

TSplitter: A vertical or horizontal bar that can be placed on a panel or form, to separate sub-panels functionally and allow re-sizing of the constituent sub-panels

The splitter extends for the full height (if vertical) or full width (if horizontal) of the parent control (form or panel) and is anchored to the edges; its position along the length or height of the parent is determined by the programmer or user by moving the whole control with the mouse, and its size can be adjusted using the sizing bars and with the ResizeAnchor property

HowToUseStdCtrls
TPaintBox: a painted rectangular box with defined size and color

TPaintBox: a painted rectangular box with defined size and colour

HowToUseStdCtrls
TCustomImage - the base type for TImage TCustomImage : The base type for TImage . This is a control of the class TGraphicControl , designed to be lightweight and fast TGraphicControl Should image be centered? Boolean property - True if image is to be centered Picture - the actual image for display True if picture is to be stretched True if you can see through the image True if image is proportional TImage - a graphic image placed on the form; usually loaded from a picture file.

TImage : a graphic image placed on the form; usually loaded from a picture file.

The actual image is found in Picture or Canvas

Inherits most of its properties from its ancestors, TCustomImage, TGraphicControl and TControl

HowToUseStdCtrls
A bevel placed around the edge of buttons and other components

TBevel - a bevel placed around the edge of buttons and other components.

Its appearance is governed by TBevelShape, TBevelStyle and TBevelwidth

Virtual Paint method called in response to paint requests. Virtual Paint method called in response to paint requests received by the parent control. Create a new instance of a Graphic Control Destroy this instance of a graphic control and return its resources Render this control non-valid Used to align the control in one of four directions.

// standard properties, which should be supported by all descendants

Either reads a flag containing alignment instructions (FAlign) or writes alignment instructions (SetAlign)

May have no alignment, may have custom or client alignment, or can be aligned to top, bottom, left or right

The set of anchor definitions for this control

// standard properties, which should be supported by all descendants

Determines how the control is to be anchored to its client or parent conrol

Either reads a flag containing the set of anchors to be used, or writes a set of anchors. If they have been written, this is indicated in IsAnchorsStored

Determines the border spacing for this control

// standard properties, which should be supported by all descendants

Determines the border spacing for this control

Reads flag to find stored spacing values required for the border of the control, or writes the flag to set the spacing.

The properties are defined in the parent class TControlBorderSpacing

Determine Constraints (max and min height and width) for this control

// standard properties, which should be supported by all descendants

Determine Constraints (max and min height and width) for this control; reads the size constraints or stores new ones.

Height - the vertical dimension of the control Left - the coordinate of the left edge of the control Name of the component. Name is the name of the component. This name should be a valid identifier, i.e. must start with a letter, and can contain only letters, numbers and the underscore character. When attempting to set the name of a component, the name will be checked for validity. Furthermore, when a component is owned by another component, the name must be either empty or must be unique among the child component names. Attempting to set the name to an invalid value will result in an exception being raised. Shape - whether a box, a frame or a line along one of the edges Top - the coordinates of the top edge of the control Style - whether raised or lowered Visible - can the control be seen?
The Visible property represents the ability to see a visual control. 
          If Visible is True the control is shown, otherwise it is hidden.
          Calling Show sets, among others, Visible to True.
          Setting Visible to False is equivalent to calling Hide method.
The Visible property does not depend on control's parent visibility. Use IsVisible method to consider this and get real visibility.
Width - the horizontal dimension of the control Event handler for a change in bounds of the control

// standard properties, which should be supported by all descendants

Reads or Writes flag if bounds are changed

Event Handler for resize of control // standard properties, which should be supported by all descendants
Reads or Writes flag if control is re-sized.
Event handler for when a mouse button is pressed down Event handler for mouse movement within the current control Event handler for when the mouse button is released, ie "up" OnPaint - event handler for request to paint canvas TCustomRadioGroup: the base type for TRadioGroup

TCustomRadioGroup: the base type for TRadioGroup

A group of related but mutually exclusive radio buttons, requiring the user to select one af a set of alternatives

This class defines Items, where the captions for individual radio boxes are stored, Rows and Columns for arranging the radio boxes, and ColumnLayout to determine whether the data are arranged down the columns first, or across the rows first.

Items - a string list containing the captions for the radio boxes Columns - the number of columns in which the Items (radio buttons) are to be arranges ColumnLayout - HorizontalThenVertical or vice versa Rows - the number of rows in which Items (radio boxes) are held Number of rows TRadioGroup : A group of related but mutually exclusive radio buttons, requiring the user to select one af a set of alternatives

TRadioGroup: A group of related but mutually exclusive radio buttons, requiring the user to select one af a set of alternatives. As one button becomes selected, the remaining buttons in the group become automatically deselected.

To Use this control, place it in the required position on the form, then in the Object Inspector select Items and click on the ellipsis (...) to open the string editor. Type in the captions to accompany each check box, then close the string editor and you will see a series of Radio Boxes with their captions displayed beside them. (Note - unlike TCheckGroup, there is no special RadioGroup editor)

Inherits properties from TCustomRadioGroup and TCustomGroupBox

TRadioGroup behaves differently from a group of TRadioButton controls placed arbitrarily around a form.

In the case of TRadioButton, the mutual exclusivity is a feature that applies to any RadioButton anywhere in the Form, and the RadioButtons can be rearranged in any order or placed anywhere within the containing Form, while in TRadioGroup the exclusivity applies only to buttons within the Group, which are ordered strictly according to their ItemIndex within the Items stringlist.

TRadioButton is an entity in itself, with a number of additional properties, whereas the buttons within TRadioGroup are not separate entities, but rather are simply entries in a list of strings, each of which is associated with the on-screen image of a RadioButton.

The example shows the difference between the use of TRadioButton and TRadioGroup

HowToUseStdCtrls TRadioButton
Caption - the text string appearing above the whole RadioGroup box Items - a string list containing the captions of the radio boxes

Items - a string list containing the captions of the radio boxes

Use the String List editor, opened by selecting Items and the ellipsis (...) in the Object Inspector, to insert the captions for the radio boxes, and determine their order and layout using the Rows, Columns and ColumnLayout properties

TCustomCheckGroup: The base type for TCheckGroup

TCustomCheckGroup: The base type for TCheckGroup

This class defines Items, where the captions for individual check boxes are stored, Rows and Columns for arranging the check boxes, and ColumnLayout to determine whether the data are arranged down the columns first, or across the rows first.

TCustomGroupBox
Rows - the number of rows in which the Items (check boxes) are arranged The number of rows holding items Items - a string list for the captions of the check boxes Columns - the number of columns in which the Items (check boxes) are to be arranges ColumnLayout - HorizontalThenVertical or vice versa OnItemClick - event handler for mouse click on one of the Items in the Check Group TCheckGroup : A group of Check Boxes physically and logically grouped together on a form

TCheckGroup: A group of Check Boxes physically and logically grouped together on a form

To Use this control, place it in the required position on the form, then either right-click on the control to see the pop-up CheckGroup editor, or in the Object Inspector select Items and click on the ellipsis (...) to open the string editor. In either case, type in the captions to accompany each check box, then close the string or CheckGroup editor and you will see a series of boxes with their captions displayed beside them.

Inherits properties from TCustomCheckGroup and TCustomGroupBox

HowToUseStdCtrls TRadioGroup
Caption: the string which appears at the top of the Check Group Box

Caption: the string which appears as a caption at the top of the Check Group Box to describe the function of the Check Group as a whole

Items - a string list containing the captions of the check boxes

Items - a string list containing the captions of the check boxes

Use the String List editor or the CheckGroup editor (opened by right-clicking on the control in the Form) to insert the captions for the check boxes, and determine their order and layout

TBoundLabel: A label bound to another object, for example in TLabeledEdit TBoundLabel: A label bound to another object, for example in TLabeledEdit TLabeledEdit Create a new instance of a Graphic Control FocusControl - whether this control has focus The Caption to be used for this label Caption : the caption which will appear on the Bound Label, to identify its function The Colour to be used for this label The height (vertical dimension) of the label The coordinates of the left border The colour of the parent - should we stay the same? Do we retain the font of the parent? Do we use the same hinting rules as the parent? A popup menu to be shown if the right mouse button is clicked over this control Should accelerator character be displayed (underlined in label)? Should hint be shown? Coordinates of the top edge of the label Layout - is text at top, bottom, left or right of allocated rectangle? WordWrap - do we wrap to the next line if text is too long to fit on one line? Event Handler for mouse click Event handler for mouse double-click Event handler for mouse button pressed over the label Event handler for mouse movement within label Event handler for mouse button being released ('up') within label Custom Labelled Edit

TCustomLabeledEdit : The base type for LabeledEdit.

Note particularly the EditLabel property (see TBoundLabel), which contains the label attached to the Edit control.

TCustomEdit TCustomLabel
EditLabel - the label attached to the edit box LabelPosition - whether above, below, to the left or to the right of the Edit box LabelSpacing - the distance between the Label and the Edit box Labelled Edit: An Edit Box with a permanently attached Label

TLabeledEdit : An Edit Box with a permanently attached Label

Saves time and effort over placing separate Label and Edit Box on Form. The properties are described in the parent component, TCustomLabeledEdit from which most of the properties are inherited

TCustomEdit TBoundLabel
Text : the text-string being entered or edited in the Labelled Edit box TCustomPanel: The base type for TPanel

TCustomPanel: The base type for TPanel

A Panel is a defined rectangular area of the form into which other components can be placed to group them functionally and geographically.

TCustomPanel defines the positioning and bevelling properties of any descendant classes, and provides methods for painting and writing text to the panel.

Alignment - whether text is left or right justified, or centered BevelInner - determines the nature of the Inner Bevel of the panel (whether raised, lowered etc) BevelOuter - determines the nature of the Outer Bevel of the panel (whether raised, lowered etc) BevelWidth - the Width of the panel's bevel in pixels TPanel: A defined rectangular area of the form into which other components can be placed

TPanel: A defined rectangular area of the form into which other components can be placed to group them functionally and geographically

Most of the properties are defined in ancestor classes including TCustomPanel, TCustomControl and TWinControl

Any controls such as buttons or check boxes that are placed inside the panel become its children, and inherit many of its properties. If the Panel is moved, the child controls move with it. Any part of a child control that falls outside the panel becomes invisible.

HowToUseStdCtrls
OnEnter - event handler for mouse entering the control or the control getting focus OnExit - event handler for mouse leaving the control or the control losing focus TCustomTrayIcon - the base class for TTrayIcon, a multiplatform System Tray component. TTrayIcon is a multiplatform System Tray component. It adds an icon to the tray and signifies an application that is inactive but ready to be activated. Under Windows the System tray is usually located on the bottom-right corner of the screen, but it may be elsewhere. On other operating systems this position varies. Creates a new instance of the component. Create creates a new instance of a TCustomTrayIcon class. If AOwner is not Nil, the new component attempts to insert itself in the list of owned components of the owner. Destroys the instance of the component. Destroy sends a opRemove notification to all components in the free-notification list. After that, all owned components are destroyed by calling DestroyComponents (and hence removed from the list of owned components). When this is done, the component removes itself from its owner's child component list. After that, the parent's destroy method is called. Hide - Removes the icon from the System Tray Show - Shows the icon on the System Tray ShowBalloonHint displays a smal balloon-like window near the tray icon. It can be used to send notifications about the status of an action, or notify of a received message or any other event which doesn't require an imediate response. The Ballon window disappears after BallonHintTimeout milliseconds of when the user clicks it or it's close button. Find the position of the Tray Icon and thus a position suitable to display the hinting BalloonHint. Under Windows an approximate location is detected. the set of kinds of ballon flag that can be displayed (may be None, Info, Warning or Error) The text to be shown in the hinting balloon The period after which the hinting balloon disappears The title to be shown on the hinting balloon The canvas of the Tray Icon PopUpMenu - a small menu popup that is displayed when right mouse button is clicked over icon - separate from hint balloon The Icon or picture that is to be displayed A simple hint that is shown when the mouse hovers over the icon. Determines if Icon should be painted to the System Tray. This can be set to false if one wishes to instead paint to the Canvas of the Tray Icon. It is set to true when the icon is shown and remains true until Hide is called. Setting Visible has the same effect as calling Hide or Show. Event Handler for Mouse Click on Tray Icon Event handler for mouse double-click Event handler if mouse button is pressed down Event handler if mouse button is up Event handler for mouse movement Use this to implement custom drawing to the icon. Draw using the canvas property of the icon. Note: Does not work on win32. The set of kinds of ballon flag that can be displayed (may be None, Info, Warning or Error) The text to be shown in the hinting balloon The period after which the hinting balloon disappears The title to be shown on the hinting balloon PopUpMenu - a small menu popup that is displayed when right mouse button is clicked over icon - separate from hint balloon The Icon or picture that is to be displayed A simple hint that is shown when the mouse hovers over the icon. It is set to true when the icon is shown and remains true until Hide is called. Setting Visible has the same effect as calling Hide or Show. Event Handler for Mouse Click on Tray Icon Event handler for mouse double-click Event handler if mouse button is pressed down Event handler if mouse button is up Event handler for mouse movement Use this to implement custom drawing to the icon. Draw using the canvas property of the icon. Note: Does not work on win32. Assign the contents of one class to another.

Assign copies the contents of Source to Self, if the classes of the destination and source classes are compatible.

The TPersistent implementation of Assign does nothing but calling the AssignTo method of source. This means that if the destination class does not know how to assign the contents of the source class, the source class instance is asked to assign itself to the destination class. This means that it is necessary to implement only one of the two methods so that two classes can be assiged to one another.

In general, a statement of the form

Destination:=Source;

(where Destination and Source are classes) does not achieve the same as a statement of the form

Destination.Assign(Source);

After the former statement, both Source and Destination will point to the same object. The latter statemtent will copy the contents of the Source class to the Destination class.

The type of cursor to be used if this control is being dragged The mode of dragging to be used Event handler for Drag-drop process Event handler if another control is dragged over current label event handler for end of drag manoeuvre Event handler for beginning of drag manoeuvre