Controles Estandar
La pestania Estandar contiene los controles mas utilizados. Estos son los bloques basicos de todo formulario.
TLabel CT_LABEL = 1
Muestra texto estatico en un formulario. No editable, usado para titulos, descripciones y etiquetas.
| Propiedad | Tipo | Valor predet. | Descripcion |
cText | String | "" | Texto a mostrar |
nLeft, nTop | Numerico | 0 | Posicion (pixeles) |
nWidth | Numerico | 80 | Ancho en pixeles |
oFont | Font | heredado | Fuente y tamano |
nClrPane | Color | transparente | Color de fondo |
| Evento | Categoria | Descripcion |
OnClick | Accion | Usuario hizo clic en la etiqueta |
OnDblClick | Accion | Usuario hizo doble clic |
OnMouseDown | Mouse | Boton del mouse presionado |
| Plataforma | Widget Nativo |
| Windows | STATIC (SS_LEFT) |
| macOS | NSTextField (no editable) |
| Linux | GtkLabel |
// Sintaxis de comando xBase
@ 10, 20 SAY oLabel PROMPT "Nombre:" OF oForm SIZE 80
TEdit CT_EDIT = 2
Campo de entrada de texto de una sola linea. El caballo de batalla de los formularios de entrada de datos.
| Propiedad | Tipo | Valor predet. | Descripcion |
cText | String | "" | Contenido de texto actual |
lReadOnly | Logico | .F. | Impedir edicion del usuario |
lPassword | Logico | .F. | Ocultar entrada con puntos |
nWidth, nHeight | Numerico | 120, 24 | Tamano |
| Evento | Categoria | Descripcion |
OnChange | Accion | Contenido de texto cambiado |
OnClick | Accion | Control pulsado |
OnEnter | Foco | Control recibio el foco |
OnExit | Foco | Control perdio el foco |
OnKeyDown | Teclado | Tecla presionada |
| Plataforma | Widget Nativo |
| Windows | EDIT (ES_AUTOHSCROLL) |
| macOS | NSTextField |
| Linux | GtkEntry |
// Sintaxis de comando xBase
@ 10, 100 GET oEdit VAR "John Doe" OF oForm SIZE 200, 24
TMemo CT_MEMO = 24
Editor de texto multilinea. Soporta ajuste de palabras y barras de desplazamiento.
| Propiedad | Tipo | Valor predet. | Descripcion |
cText | String | "" | Contenido de texto multilinea |
lReadOnly | Logico | .F. | Impedir edicion |
lWordWrap | Logico | .T. | Ajustar lineas largas |
| Plataforma | Widget Nativo |
| Windows | EDIT (ES_MULTILINE | WS_VSCROLL) |
| macOS | NSScrollView + NSTextView |
| Linux | GtkScrolledWindow + GtkTextView |
Boton de presion estandar. El control interactivo mas fundamental.
| Propiedad | Tipo | Valor predet. | Descripcion |
cText | String | "Button" | Leyenda del boton |
lDefault | Logico | .F. | Boton predeterminado (Enter lo activa) |
lCancel | Logico | .F. | Boton de cancelacion (Escape lo activa) |
nWidth, nHeight | Numerico | 88, 26 | Tamano |
| Evento | Categoria | Descripcion |
OnClick | Accion | Boton pulsado |
OnEnter | Foco | Boton recibio el foco |
OnKeyDown | Teclado | Tecla presionada mientras tiene el foco |
| Plataforma | Widget Nativo |
| Windows | BUTTON (BS_PUSHBUTTON) |
| macOS | NSButton (NSRoundedBezelStyle) |
| Linux | GtkButton |
// Sintaxis de comando xBase
@ 240, 120 BUTTON oBtn PROMPT "&OK" OF oForm SIZE 88, 26
oBtn:OnClick := { || MsgInfo( "Pulsado!" ) }
TCheckBox CT_CHECKBOX = 4
Control de verificacion. Puede estar marcado o desmarcado.
| Propiedad | Tipo | Valor predet. | Descripcion |
cText | String | "CheckBox" | Texto de etiqueta |
lChecked | Logico | .F. | Estado actual de verificacion |
// Sintaxis de comando xBase
@ 50, 20 CHECKBOX oChk PROMPT "Activo" OF oForm SIZE 120 CHECKED
Selector de exclusion mutua. Solo un boton de radio en un grupo puede estar seleccionado.
| Plataforma | Widget Nativo |
| Windows | BUTTON (BS_AUTORADIOBUTTON) |
| macOS | NSButton (NSRadioButton) |
| Linux | GtkRadioButton |
TListBox CT_LISTBOX = 7
Lista desplazable de elementos seleccionables.
| Plataforma | Widget Nativo |
| Windows | LISTBOX (WS_VSCROLL | LBS_NOTIFY) |
| macOS | NSScrollView + NSTableView |
| Linux | GtkScrolledWindow + GtkTreeView |
TComboBox CT_COMBOBOX = 5
Selector de lista desplegable con entrada de texto opcional.
| Propiedad | Tipo | Valor predet. | Descripcion |
nItemIndex | Numerico | -1 | Indice del elemento seleccionado (base 0) |
nItemCount | Numerico | 0 | Numero de elementos (solo lectura) |
// Sintaxis de comando xBase
@ 50, 20 COMBOBOX oCbx OF oForm ITEMS { "Usuario", "Admin" } SIZE 150
TGroupBox CT_GROUPBOX = 6
Contenedor visual que agrupa controles relacionados con un marco etiquetado.
// Sintaxis de comando xBase
@ 10, 10 GROUPBOX "Opciones" OF oForm SIZE 300, 100
TPanel CT_PANEL = 25
Panel contenedor plano. Use como fondo o para agrupar controles sin un borde visible.
| Plataforma | Widget Nativo |
| Windows | STATIC (SS_SUNKEN) |
| macOS | NSBox (NSBoxPrimary) |
| Linux | GtkFrame |
Control de barra de desplazamiento horizontal o vertical.
| Propiedad | Tipo | Valor predet. | Descripcion |
nMin | Numerico | 0 | Valor minimo |
nMax | Numerico | 100 | Valor maximo |
nPosition | Numerico | 0 | Posicion actual |
lHorizontal | Logico | .T. | Horizontal (o vertical) |
11 Controles Estandar
Estos controles estan disponibles en todas las plataformas (Windows, macOS, Linux) y utilizan widgets nativos para maximo rendimiento e integracion con el sistema operativo.