Standard Controls

The Standard tab contains the most commonly used controls. These are the building blocks of every form.

TLabel CT_LABEL = 1

Displays static text on a form. Non-editable, used for captions, descriptions, and labels.

PropertyTypeDefaultDescription
cTextString""Display text
nLeft, nTopNumeric0Position (pixels)
nWidthNumeric80Width in pixels
oFontFontinheritedFont face and size
nClrPaneColortransparentBackground color
EventCategoryDescription
OnClickActionUser clicked the label
OnDblClickActionUser double-clicked
OnMouseDownMouseMouse button pressed
PlatformNative Widget
WindowsSTATIC (SS_LEFT)
macOSNSTextField (non-editable)
LinuxGtkLabel
// xBase command syntax
@ 10, 20 SAY oLabel PROMPT "Name:" OF oForm SIZE 80

TEdit CT_EDIT = 2

Single-line text input field. The workhorse of data entry forms.

PropertyTypeDefaultDescription
cTextString""Current text content
lReadOnlyLogical.F.Prevent user editing
lPasswordLogical.F.Mask input with dots
nWidth, nHeightNumeric120, 24Size
EventCategoryDescription
OnChangeActionText content changed
OnClickActionControl clicked
OnEnterFocusControl received focus
OnExitFocusControl lost focus
OnKeyDownKeyboardKey pressed
PlatformNative Widget
WindowsEDIT (ES_AUTOHSCROLL)
macOSNSTextField
LinuxGtkEntry
// xBase command syntax
@ 10, 100 GET oEdit VAR "John Doe" OF oForm SIZE 200, 24

TMemo CT_MEMO = 24

Multi-line text editor. Supports word wrap and scroll bars.

PropertyTypeDefaultDescription
cTextString""Multi-line text content
lReadOnlyLogical.F.Prevent editing
lWordWrapLogical.T.Wrap long lines
PlatformNative Widget
WindowsEDIT (ES_MULTILINE | WS_VSCROLL)
macOSNSScrollView + NSTextView
LinuxGtkScrolledWindow + GtkTextView

TButton CT_BUTTON = 3

Standard push button. The most fundamental interactive control.

PropertyTypeDefaultDescription
cTextString"Button"Button caption
lDefaultLogical.F.Default button (Enter activates)
lCancelLogical.F.Cancel button (Escape activates)
nWidth, nHeightNumeric88, 26Size
EventCategoryDescription
OnClickActionButton clicked
OnEnterFocusButton received focus
OnKeyDownKeyboardKey pressed while focused
PlatformNative Widget
WindowsBUTTON (BS_PUSHBUTTON)
macOSNSButton (NSRoundedBezelStyle)
LinuxGtkButton
// xBase command syntax
@ 240, 120 BUTTON oBtn PROMPT "&OK" OF oForm SIZE 88, 26
oBtn:OnClick := { || MsgInfo( "Clicked!" ) }

TCheckBox CT_CHECKBOX = 4

Toggle check control. Can be checked or unchecked.

PropertyTypeDefaultDescription
cTextString"CheckBox"Label text
lCheckedLogical.F.Current check state
// xBase command syntax
@ 50, 20 CHECKBOX oChk PROMPT "Active" OF oForm SIZE 120 CHECKED

TRadioButton CT_RADIO = 8

Mutual exclusion selector. Only one radio button in a group can be selected.

PlatformNative Widget
WindowsBUTTON (BS_AUTORADIOBUTTON)
macOSNSButton (NSRadioButton)
LinuxGtkRadioButton

TListBox CT_LISTBOX = 7

Scrollable list of selectable items.

PlatformNative Widget
WindowsLISTBOX (WS_VSCROLL | LBS_NOTIFY)
macOSNSScrollView + NSTableView
LinuxGtkScrolledWindow + GtkTreeView

TComboBox CT_COMBOBOX = 5

Drop-down list selector with optional text input.

PropertyTypeDefaultDescription
nItemIndexNumeric-1Selected item index (0-based)
nItemCountNumeric0Number of items (read-only)
// xBase command syntax
@ 50, 20 COMBOBOX oCbx OF oForm ITEMS { "User", "Admin" } SIZE 150

TGroupBox CT_GROUPBOX = 6

Visual container that groups related controls with a labeled frame.

// xBase command syntax
@ 10, 10 GROUPBOX "Options" OF oForm SIZE 300, 100

TPanel CT_PANEL = 25

Flat container panel. Use as a background or to group controls without a visible border.

PlatformNative Widget
WindowsSTATIC (SS_SUNKEN)
macOSNSBox (NSBoxPrimary)
LinuxGtkFrame

TScrollBar CT_SCROLLBAR = 26

Horizontal or vertical scroll bar control.

PropertyTypeDefaultDescription
nMinNumeric0Minimum value
nMaxNumeric100Maximum value
nPositionNumeric0Current position
lHorizontalLogical.T.Horizontal (or vertical)
11 Standard Controls

These controls are available on all platforms (Windows, macOS, Linux) and use native widgets for maximum performance and OS integration.

On This Page

TLabel CT_LABEL = 1 TEdit CT_EDIT = 2 TMemo CT_MEMO = 24 TButton CT_BUTTON = 3 TCheckBox CT_CHECKBOX = 4 TRadioButton CT_RADIO = 8 TListBox CT_LISTBOX = 7 TComboBox CT_COMBOBOX = 5 TGroupBox CT_GROUPBOX = 6 TPanel CT_PANEL = 25 TScrollBar CT_SCROLLBAR = 26