From 5cf0c4c22239258be903bcc6ff66725b068200ba Mon Sep 17 00:00:00 2001
From: kirkpatc
- TCustomActionList - the ancestor class for TActionList. If you want to define your own action list class, you should derive it from this class.
- TActionList, TAction, TActionLink and TContainedAction are used to centralize + TActionList, TAction, TActionLink and TContainedAction are used to centralize the implementation of user commands, and can then be linked to the appropriate button, menu or another component. This is an Object-Oriented programming strategy to reuse the code, as opposed to the Event-Oriented approach of writing an OnClick event for each component.
@@ -493,7 +493,7 @@ Take the following precautions when creating your own Destroy method:- TActionList - The basic actions list class
+ TActionList - The basic actions list class- TActionList is the last component on the "Standard" component pallete on the Lazarus IDE.
+ TActionList is the last component on the "Standard" component pallete on the Lazarus IDE.To use an ActionList, click on the icon on the IDE Standard Components toolbar, then click anywhere on the main form and an ActionList icon will appear. It doesn't matter where you position it, because it is not visible at run-time.
You can add, remove or modify actions on the list by right-clicking on the ActionList icon on the form editor and then choosing "Edit action list...", or by double-clicking on the icon with the left mouse button. This will open the "Action List Editor".
You can now use the "+" and "-" buttons to add and remove actions. The ActionList editor menu allows you to select standard actions from a selection (option 'New Standard Action') or create a new action (option 'New Action'). To edit an action, click it and then open the object inspector. To add code to be executed when an action is triggered, double-click the action's name on the "Action List Editor".
-The TActionList +
The TActionList Class introduces very few properties of its own, but inherits a lot from its ancestor, TCustomActionList, and related components TAction, TCustomAction, TContainedAction and TBasicAction
-Each entry in the ActionList appears in the Object Inspector as an instance of TAction, and its properties are accessible and modifiable from the Object Inspector
+Each entry in the ActionList appears in the Object Inspector as an instance of TAction, and its properties are accessible and modifiable from the Object Inspector
- TCustomAction is a generic class for all components that represent actions that can be be set on the user interface for buttons and other controls. TCustomAction is the ancestor for TAction. If you want to define your own action class, you should derive it from this class.
+ TCustomAction is a generic class for all components that represent actions that can be be set on the user interface for buttons and other controls. TCustomAction is the ancestor for TAction. If you want to define your own action class, you should derive it from this class.You can assign a action to a component by using the Object Inspector.
- TAction is the basic action object used on the LCL.
+ TAction is the basic action object used on the LCL.It redeclares many properties inherited from TCustomAction on the public section, but does not add any new features. For more details look at the See Also section for TCustomAction.
- The properties of each Action can be modified at design time in the Object Inspector + The properties of each Action can be modified at design time in the Object Inspector- Click + Click -- the procedure which allows programmatic simulation of a mouse click, and thus activation of the Action associated with the OnClick event +- the procedure which allows programmatic simulation of a mouse click, and thus activation of the Action associated with the OnClick event
// standard properties, which should be supported by all descendants
-Either reads a flag containing alignment instructions (FAlign) or writes alignment instructions (SetAlign)
+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
// 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 +
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
Gets caption as a text-string (GetText), or stores the new caption (SetText). Shows flag if caption is stored (IsCaptionStored).
-By default, the Caption appears the same as the control Name in the Object Inspector, +
Gets caption as a text-string (GetText), or stores the new caption (SetText). Shows flag if caption is stored (IsCaptionStored).
+By default, the Caption appears the same as the control Name in the Object Inspector, and the developer needs to set it explicitly to some new text.
-The VCL implementation relies on the virtual Get/SetTextBuf to exchange text between widgets and VCL. This means a lot of (unnecesary) text copies.
-The LCL uses strings for exchanging text (more efficient). To maintain VCL compatibility, the virtual RealGet/SetText is +
The VCL implementation relies on the virtual Get/SetTextBuf to exchange text between widgets and VCL. This means a lot of (unnecesary) text copies.
+The LCL uses strings for exchanging text (more efficient). To maintain VCL compatibility, the virtual RealGet/SetText is introduced. These functions interface with the LCLInterface.
-The default Get/SetTextBuf implementation calls the RealGet/SetText. As long as the Get/SetTextBuf isn't overridden Get/SetText calls RealGet/SetText to avoid PChar copying.
+The default Get/SetTextBuf implementation calls the RealGet/SetText. As long as the Get/SetTextBuf isn't overridden Get/SetText calls RealGet/SetText to avoid PChar copying.
To keep things optimal, LCL implementations should always override RealGet/SetText. Get/SetTextBuf is only kept for compatibility.
// 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.
+Determine Constraints (max and min height and width) for this control; reads the size constraints or stores new ones.
Defines if a button is the Default on a form. That is, pressing ENTER will execute its onClick method, whether the control has focus or not!
+Defines if a button is the Default on a form. That is, pressing ENTER will execute its onClick method, whether the control has focus or not!
// standard properties, which should be supported by all descendants
-Whether the control is Enabled. If not, it usually appears 'greyed-out'
+Whether the control is Enabled. If not, it usually appears 'greyed-out'
Reads a flag to see whether the control is enabled, or stores a new value. If stored, sets a flag to say so.
// standard properties, which should be supported by all descendants
Reads a flag to see what font should be used, or sets a flag to store it. If stored, sets a flag to say so
-The properties of Font are defined in the parent class TFont +
The properties of Font are defined in the parent class TFont
// standard properties, which should be supported by all descendants
-This is often the default action for many controls, and is often the ONLY action specified by the programmer. The action can be spcified by the user, either by typing explicit code into the implementation section for this control, or by selecting an action from a pre-supplied ActionList +
This is often the default action for many controls, and is often the ONLY action specified by the programmer. The action can be spcified by the user, either by typing explicit code into the implementation section for this control, or by selecting an action from a pre-supplied ActionList
Reads or writes a flag if a mouse click is detected, and sets a flag if a value is stored.
- OnKeyDown + OnKeyDown - event handler for instance when key is down while control has focus
-Differs from OnKeyPress in that the key may have already been down when the control received focus; with OnKeyPress the key needs to become pressed while the control has focus.
+Differs from OnKeyPress in that the key may have already been down when the control received focus; with OnKeyPress the key needs to become pressed while the control has focus.
- OnKeyPress + OnKeyPress - event controller for a key being pressed while the control has focus
-Differs from OnKeyDown in that the key needs to become pressed while the control has focus; with OnKeyDown the key may have already been down when the control received focus.
+Differs from OnKeyDown in that the key needs to become pressed while the control has focus; with OnKeyDown the key may have already been down when the control received focus.
- OnKeyUp + OnKeyUp - event handler for instance when a key is up (not pressed) while the control has focus
The key may already have been up when the control received focus, or a pressed key may become released during the time the control has focus.
The Visible property represents the ability to see a visual control. If Visible is True the control is shown, otherwise it is hidden. @@ -961,11 +961,11 @@ Reads flag or writes one to determine if a hint is to be shown when mouse hovers
- TCustomSpeedButton is the ancestor for TSpeedButton. If you want to define your own speedbutton class, you should use this class to derive it from.
+ TCustomSpeedButton is the ancestor for TSpeedButton. If you want to define your own speedbutton class, you should use this class to derive it from.The Speed Button is designed to automate a process when it is selected. An user pushes a button to start an action or set a mode.
When a user clicks on a SpeedButton focus is not shifted; a Speed Button never gets focus. The button may carry an descriptive glyph, and has a state (checked or not, etc)
@@ -1429,7 +1429,7 @@ Constructors allocate memory and system resources needed by the object. They als// standard properties, which should be supported by all descendants
-Either reads a flag containing alignment instructions (FAlign) or writes alignment instructions (SetAlign)
+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
// 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 +
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
// 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.
+Determine Constraints (max and min height and width) for this control; reads the size constraints or stores new ones.
Gets caption as a text-string (GetText), or stores the new caption (SetText). Shows flag if caption is stored (IsCaptionStored).
-By default, the Caption appears the same as the control Name in the Object Inspector, +
Gets caption as a text-string (GetText), or stores the new caption (SetText). Shows flag if caption is stored (IsCaptionStored).
+By default, the Caption appears the same as the control Name in the Object Inspector, and the developer needs to set it explicitly to some new text.
-The VCL implementation relies on the virtual Get/SetTextBuf to exchange text between widgets and VCL. This means a lot of (unnecesary) text copies.
-The LCL uses strings for exchanging text (more efficient). To maintain VCL compatibility, the virtual RealGet/SetText is +
The VCL implementation relies on the virtual Get/SetTextBuf to exchange text between widgets and VCL. This means a lot of (unnecesary) text copies.
+The LCL uses strings for exchanging text (more efficient). To maintain VCL compatibility, the virtual RealGet/SetText is introduced. These functions interface with the LCLInterface.
-The default Get/SetTextBuf implementation calls the RealGet/SetText. As long as the Get/SetTextBuf isn't overridden Get/SetText calls RealGet/SetText to avoid PChar copying.
+The default Get/SetTextBuf implementation calls the RealGet/SetText. As long as the Get/SetTextBuf isn't overridden Get/SetText calls RealGet/SetText to avoid PChar copying.
To keep things optimal, LCL implementations should always override RealGet/SetText. Get/SetTextBuf is only kept for compatibility.
// standard properties, which should be supported by all descendants
-Whether the control is Enabled. If not, it usually appears 'greyed-out'
+Whether the control is Enabled. If not, it usually appears 'greyed-out'
Reads a flag to see whether the control is enabled, or stores a new value. If stored, sets a flag to say so.
The Visible property represents the ability to see a visual control. If Visible is True the control is shown, otherwise it is hidden. @@ -1650,7 +1650,7 @@ introduced. These functions interface with the LCLInterface.Event Handler for mouse click @@ -1685,7 +1685,7 @@ introduced. These functions interface with the LCLInterface. // standard properties, which should be supported by all descendants
-This is often the default action for many controls, and is often the ONLY action specified by the programmer. The action can be spcified by the user, either by typing explicit code into the implementation section for this control, or by selecting an action from a pre-supplied ActionList +
This is often the default action for many controls, and is often the ONLY action specified by the programmer. The action can be spcified by the user, either by typing explicit code into the implementation section for this control, or by selecting an action from a pre-supplied ActionList
Reads or writes a flag if a mouse click is detected, and sets a flag if a value is stored.
@@ -1717,14 +1717,14 @@ Reads flag or writes one to determine if a hint is to be shown when mouse hovers - OnPaint - event handler for request to paint canvas + OnPaint - event handler for request to paint canvas- ParentFont - should the control use the same font as the parent? Default is true + ParentFont - should the control use the same font as the parent? Default is true@@ -1793,11 +1793,11 @@ Properties are defined in the parent class TPop - ParentShowHint - does the control adopt the same hinting behaviour as its parent? Default is true + ParentShowHint - does the control adopt the same hinting behaviour as its parent? Default is true
// standard properties, which should be supported by all descendants
Reads a flag to see what font should be used, or sets a flag to store it. If stored, sets a flag to say so
-The properties of Font are defined in the parent class TFont +
The properties of Font are defined in the parent class TFont
TStatusBar - a strip along the bottom of a form for displaying information on current status
++ TStatusBar - a strip along the bottom of a form for displaying information on current status
The bar may consist of a single SimplePanel, in which case the displayed text is contained in SimpleText.
However if SimplePanel is false, then there can be multiple panels or sub-sections of the status bar, whose properties are described in Panels.
The property SimpleText can be assigned programatically to display the value of some variable, such as the position of the Splitter in the example
@@ -474,7 +550,9 @@If SimplePanel is false, the contents of Panels is displayed.
+If SimplePanel is false, the contents of Panels is displayed.
Contents can be adjusted with a stringlist editor that pops up when the ellipsis (...) next to Panels in the Object Inspector is selected and allows insertion of an arbitrary number of sub-panels with their own strings
SimpleText - a character string containing the information to be displayed in the Status Bar
-This is displayed if SimplePanel is true; otherwise the information in Panels is displayed.
++ SimpleText - a character string containing the information to be displayed in the Status Bar
+This is displayed if SimplePanel is true; otherwise the information in Panels is displayed.
SimplePanel - boolean. Is there just one continuous panel, or several sub-panels?
++ SimplePanel - boolean. Is there just one continuous panel, or several sub-panels?
If true, the value of SimpleText is displayed; if false, the contents of Panels is displayed.
Contents can be adjusted with a stringlist editor that pops up when the ellipsis (...) next to Panels is selected and allows insertion of an arbitrary number of sub-panels with their own strings
TCustomListView is the ancestor for TListView. If you want to define your own ListView class, you should use this class to derive it from.
++ TCustomListView is the base class for TListView. If you want to define your own ListView class, you should derive it from this class.
This is an internal procedure which is called after an item has been changed. It is a programmatic method for simulating the OnChange event if the programmer has assigned a method to this event.
ColClick - procedure to simulate the OnColumnClick event.
++ ColClick - procedure to simulate the OnColumnClick event.
Can be used programmatically to execute the same code as is used to respond to the OnColumnClick event
Columns is a TCollectionItem and contains all information on the columns of a listview.
++ Columns is a TCollectionItem and contains all information on the columns of a listview.
The ColumnClick property of the ListView enables or disables the OnColumnClick Event. A call to OnColumnClick will only be done when a method has been assigned to the OnColumnClick event and ColumnClick is set to true (default).
Items - the list of entries in the list. Held as a linked list with a cached index of the last accessed item
-Items is of type TListitems which has a built-in cache of the last accessed item. This speeds up interface updates since Item.Index is often used for the same item updating more properties. If FCacheIndex = -1 then the cache is not valid.
++ Items - the list of entries in the list. Held as a linked list with a cached index of the last accessed item
++ Items is of type TListitems which has a built-in cache of the last accessed item. This speeds up interface updates since Item.Index is often used for the same item updating more properties. If FCacheIndex = -1 then the cache is not valid.
LargeImages - an ImageList to be used in association with the list of Items
++ LargeImages - an ImageList to be used in association with the list of Items +
A typical application might have two ImageLists: one ofLargeImages and one of SmallImages, containing two versions of the same collection of images, in large and small format; the index numbers of the first list would correspond with those in the second list.
SmallImages could be displayed beside the text strings in the list view, and the programmer would supply code to ensure that when an item with its associated SmallImage was selected, the corresponding LargeImage would be displayed in another window.
A TImageList control needs to be selected and pasted on to the Form Designer, and the ImageList Editor can be opened from the pop-up menu obtained by right-clicking on TImageList icon in the Form Designer. Then in the StringList editor for Items the correct ImageIndex must be allocated to each entry in the list.
@@ -4611,7 +5386,8 @@ cdsIndeterminateSmallImages - an ImageList of small images (icons) to be used in association with the list of Items
++ SmallImages - an ImageList of small images (icons) to be used in association with the list of Items +
A typical application might have two ImageLists: one ofLargeImages and one of SmallImages, containing two versions of the same collection of images, in large and small format; the index numbers of the first list would correspond with those in the second list.
SmallImages could be displayed beside the text strings in the list view, and the programmer would supply code to ensure that when an item with its associated SmallImage was selected, the corresponding LargeImage would be displayed in another window.
A TImageList control needs to be selected and pasted on to the Form Designer, and the ImageList Editor can be opened from the pop-up menu obtained by right-clicking on TImageList icon in the Form Designer. Then in the StringList editor for Items the correct ImageIndex must be allocated to each entry in the list.
@@ -4667,19 +5450,23 @@ cdsIndeterminateThis property can be used to read the information of a column.
The column whose information is to be retrieved is determined by an index (AIndex). As with nearly all indexes, this index is 0 based. In column[0] the caption of the listitem is show, in subsequent column the subitems of the listitem are shown.
@@ -4759,11 +5552,13 @@ cdsIndeterminateTListView - a window showing a list of items, which may or may not have associated icons
++ TListView - a window showing a list of items, which may or may not have associated icons
At first, this control looks very like TListBox, but it has a much higher degree of complexity. It is capable of displaying Items in Columns of Rows, and it can have images associated with the list Items.
The important information is held in Items, a string-list that can be created using the string-list editor obtained by right-clicking on the ListView in the Form Editor or by clicking on the ellipsis (...) next to the Items entry in the Object Inspector.
A typical application might have two ImageLists: one ofLargeImages and one of SmallImages, containing two versions of the same collection of images, in large and small format; the index numbers of the first list would correspond with those in the second list.
-SmallImages (if assigned to a string-list) can be displayed beside the text strings in the list view, and the programmer would supply code to ensure that when an item with its associated Small Image was selected, the corresponding Large Image would be displayed in another window.
++ SmallImages (if assigned to a string-list) can be displayed beside the text strings in the list view, and the programmer would supply code to ensure that when an item with its associated Small Image was selected, the corresponding Large Image would be displayed in another window.
One or more TImageList controls need to be selected and pasted on to the Form Designer, and the ImageList Editor can be opened from the pop-up menu obtained by right-clicking on TImageList icon in the Form Designer. The image list can be populated by reading from files. Then in the StringList editor for Items the correct ImageIndex must be allocated to each entry in the list.
These are the possible values of Style:
Use TToolButton to implement buttons on a toolbar. While other controls (including TButton and TSpeedButton) can be placed on toolbars, TToolButton utilizes special toolbar features to simplify the configuration of buttons and offers added display options such as pop-up borders and transparency.
+Use TToolButton to implement buttons on a toolbar. While other controls (including TButton and TSpeedButton) can be placed on toolbars, TToolButton utilizes special toolbar features to simplify the configuration of buttons and offers added display options such as pop-up borders and transparency.
To place tool buttons on a toolbar at design time, select the toolbar, right-click, and choose New Button.
TToolbar is a container for tool buttons (TToolButton). it provides an easy way to arrange and manage visual controls.
++ TToolbar is a container for tool buttons (TToolButton). it provides an easy way to arrange and manage visual controls.
Buttons maintains a list of TToolButton instances. All tool buttons that share a TToolBar parent have the same height and (except for separators and dividers) the same width. Other controls on a toolbar are held in place by invisible separators, which are automatically created and destroyed.
-To add tool buttons to the toolbar at design time, select the toolbar, right-click, and choose New Button. To create a space (separator) between one button and the next, select New Separator. To create a divider between buttons, add a button and set its Style propery to tbsDivider. Other controls may be added to the toolbar directly from the Component palette.
++ Buttons maintains a list of TToolButton instances. All tool buttons that share a TToolBar parent have the same height and (except for separators and dividers) the same width. Other controls on a toolbar are held in place by invisible separators, which are automatically created and destroyed.
+To add tool buttons to the toolbar at design time, select the toolbar, right-click, and choose New Button. To create a space (separator) between one button and the next, select New Separator. To create a divider between buttons, add a button and set its Style propery to tbsDivider. Other controls may be added to the toolbar directly from the Component palette.
TCustomTrackBar defines many of the properties inherited by TTrackBar, a device that allows the user to determine the value of a variable using a quasi-analog slider
++ TCustomTrackBar defines many of the properties inherited by TTrackBar, a device that allows the user to determine the value of a variable using a quasi-analog slider
TTrackBar: a device which allows the user to determine the value of a variable using a quasi-analog slider
++ TTrackBar: a device which allows the user to determine the value of a variable using a quasi-analog slider
The device looks like a slider-potentiometer control on a hi-fi amplifier, and consists of a slider which can be moved along a bar using the mouse. Tick marks can be displayed along one or both edges, giving an indication of the proportion of the maximum value of the controlled variable that is being selected.
The Position property indicates the distance along the bar that the slider has been placed, either by the program or by mouse capture and movement
In the example, movement of the slider is detected and shown in the associated TProgressBar.
@@ -8481,19 +9689,33 @@ cdsIndeterminateThis sets consist of three values:
++ taAdd: Adds the node as the last child.
++ taAddFirst: Adds the node as the first child.
++ taInsert: Adds the node in front another node.
+This set is used in TTreeNode.InternalMove and TTreeNodes.InternalAddObject +
+