ListBox
From Morfik Wiki
A ListBox control is used to display a list of items that the user can select by clicking.
| | Key properties: | Data Field, Items |
| Key events: | OnClick | |
| Server Code: | ListBox = Class(TWebControl) | |
| Browser Code: | ListBox = Class(TPartsContainer) |
Graphical States
| States | Appearance | Description |
|---|---|---|
| Normal |
| The default state for the control when no other state is active. |
| Mouseover |
| This view is displayed when the user moves the cursor over the control |
| Focused |
| This view is displayed when the control's ability to receive input is disabled. |
| Disabled |
| This view is displayed when the control's ability to receive input is disabled. |
Learn more about Morfik Styles and Themes.
Layout
|
| ' |
Properties
| Property | Description |
|---|---|
| Border Color | The BorderColor property specifies the color that should be used for drawing a rectangular border around the Control. Note: the border will not be visible unless the BorderStyle and BorderWidth properties are also set. |
| Border Sides | The BorderSides property specifies the parts of a control's border that are displayed. |
| Border Style | The BorderStyle property of the control defines how and if a border will be drawn around the control. |
| Border width | The Border Width property specifies the line width used to draw the rectangular border around the Control. Note: the border will not be visible unless the BorderColor and BorderStyle properties are also set. |
| Color | The Color property specifies the background color of the Control. |
| Cursor | The Cursor property, if set, causes the appearance of the mouse cursor to change as it moves over the Control. |
| Data Field | The DataField property is used to bind the Control to a database field. Either through a table or a query which is specified through the DataSource property of the Form that contains the control. |
| Enabled | If the Enabled property is set to false, the Control's state (ticked or unticked) cannot be changed by the user. Note For Timer Control: This property controls whether the Timer event will be triggered at the time interval specified in the Interval property. If the Enabled property is set to false, the Timer event will not be triggered. |
| Font | The Font property (and its sub-properties Color and Name) is used to indicate which font should be used for drawing the text in the Control. |
| Height | The Height property specifies the vertical extent of the Control. Note: if the CanGrow or CanShrink properties are set, the actual height of the Control at run time may be different. |
| Hint | The Hint property, if set, specifies the text of a tooltip that is displayed when the user moves the cursor over the control. |
| Items | The Items property of the Control contains a list of strings with the values which will be displayed in the drop down list, if the choices will be a fixed. |
| Left | The Left property specifies the horizontal position of the Control in the form. |
| Margins | The Margins property clears an area around control (outside its border). |
| Multi Select | If MultiSelect is false, the user may only select one value from the list. If MultiSelect is true, the user may select any number of values from the list. |
| Name | The Name property specifies the identifier used to reference the control from browser- or server-side code. |
| Opacity | The Opacity property determines the extent to which the Control obscures any controls placed in its background. A value of 0 means that background controls are fully visible, whereas a value of 100 means that background controls are completely obscured. |
| Padding | The Padding property specifies the space between the border and the content of the editor. |
| Shared Style | The SharedStyle property can be used to force several controls always have the same appearance. |
| Sorted | The Sorted property indicates whether the Items list is sorted. |
| Tab Order | The TabOrder property allows the developer to specify the order in which controls should receive input focus when the user steps through them using the tab key. |
| Tag | The Tag property is used to store user data that is associated with the control. |
| Top | The Top property specifies the vertical position of the Control in the form. |
| Visible | The visible property is used to make controls visible or invisible. Invisible controls are frequently used to allow for easy access to information from a database table field, if the control is bound to one. |
| Width | The Width property specifies the horizontal extent of the Form/control. |
Events (browser-side)
| Event | Description |
|---|---|
| On Blur Event | This event is fired within the browser when a control loses focus either by the pointing device or by tabbing navigation. |
| On Change | This event is fired within the browser after the text in the control was changed by the user. Note: this event is not fired until the control loses keyboard focus. |
| On Click | The most commonly used event for a TextLabel control is the OnClick event, which should be handled to execute whatever action is intended when a control is clicked. |
| On Double Click | This event is fired when the user clicks on a control within the browser. |
| On Focus | This event is fired within the browser when a control receives focus either by the pointing device or by tabbing navigation. |
| On Key Down | This event is fired within the browser when a key is pressed down. |
| On Key Up | This event is fired within the browser when a key is released. |
| On Mouse Down | This event is fired within the browser when the mouse button, or any other pointing device button, is pressed while it is over a control. On a PC-based mouse, it specifically relates to the left-hand mouse button being depressed. |
| On Mouse Out | This event is fired when the mouse pointer, or any other pointing device button, is moved out of the region defined by a control. |
| On Mouse Over | This event is fired when the mouse pointer or any other pointing device is over (within the region defined by) a control. |
| On Mouse Up | This event is fired within the browser when the mouse button, or any other pointing device button, is released over a control. On a PC-based mouse, it specifically relates to when the left-hand mouse button is being released. |
| On After Pushed Or Pulled | This event is fired within the browser after the position of a control has changed in response to a change in the content of a sibling control. |
| On Before Pushed Or Pulled | This event is fired within the browser before the position of a control is changed in response to a change in the content of a sibling control. |
Events (server-side)
| Event | Description |
|---|---|
| On After Print | This event is fired on the server by a Control after its HTML (or in the case of Report generation, PDF) content is generated. |
| On Before Print | This event is fired by a control on the server before control’s HTML (or in the case of Report generation, PDF) content is generated. |
| On Print Style | This event is fired on the server to allow for CSS style changes when the HTML representation of a control is being constructed. |
Remarks
Data Binding
Use Data Field property to bound ListBox control to the data source allowing to display information associated with a field in the Data Source. ListBox bound to the Data Source in a single form mode will display all records available in the current page of the Dataset.
Run-time behavior
You can manipulate with Listbox items programmaticaly both in Server side and Browser side.
- Server-Side Syntax
FX Code
Procedure Form1.Listbox1BeforePrint(Sender: TWebControl; Canvas: TWebCanvas; Var Print: Boolean); Begin Listbox1.Items.Add('Red'); Listbox1.Items.Add('Green'); Listbox1.Items.Add('Blue'); End;
| BX Code |
|---|
Published Message Sub Listbox1BeforePrint(Sender As TWebControl, Canvas As TWebCanvas, ByRef Print As Boolean) Listbox1.Items.Add("Red") Listbox1.Items.Add("Green") Listbox1.Items.Add("Blue") End Sub |
| CX Code |
|---|
published message void Listbox1BeforePrint(TWebControl Sender, TWebCanvas Canvas, ref Boolean Print) { Listbox1.Items.Add("Red"); Listbox1.Items.Add("Green"); Listbox1.Items.Add("Blue"); } |
- Browser-Side Syntax
FX Code
Listbox1.Add('Red'); Listbox1.Add('Green'); Listbox1.Add('Blue');
| BX Code |
|---|
Listbox1.Add("Red") Listbox1.Add("Green") Listbox1.Add("Blue") |
| CX Code |
|---|
Listbox1.Add("Red"); Listbox1.Add("Green"); Listbox1.Add("Blue"); |

