Controles Nativos de Plataforma

La pestania Win32 / Cocoa / GTK3 proporciona controles complejos que se asignan directamente a los widgets nativos avanzados de cada plataforma. Estos controles ofrecen funcionalidad rica con integracion completa del sistema operativo.

TTabControl CT_TABCONTROL = 33

Contenedor de paginas con pestanas. Cada pestana alberga un panel de controles, permitiendo interfaces multipagina.

PropiedadTipoValor predet.Descripcion
nTabIndexNumerico0Pestana activa actualmente (base 0)
nTabCountNumerico0Numero de pestanas (solo lectura)
nTabPositionNumerico00=Arriba, 1=Abajo, 2=Izquierda, 3=Derecha
lHotTrackLogico.F.Resaltar pestanas al pasar el mouse
EventoCategoriaDescripcion
OnChangeAccionPestana activa cambiada
OnChangingAccionLa pestana esta a punto de cambiar (se puede cancelar)
PlataformaWidget Nativo
WindowsWC_TABCONTROL (SysTabControl32)
macOSNSTabView
LinuxGtkNotebook
// Crear un formulario con pestanas
@ 10, 10 TABCONTROL oTab OF oForm SIZE 400, 300
oTab:AddTab( "General" )
oTab:AddTab( "Detalles" )
oTab:AddTab( "Notas" )

TTreeView CT_TREEVIEW = 20

Visualizacion de arbol jerarquico con nodos expandibles/colapsables. Ideal para exploradores de archivos, arboles de categorias y organigramas.

PropiedadTipoValor predet.Descripcion
lShowLinesLogico.T.Mostrar lineas conectoras entre nodos
lShowButtonsLogico.T.Mostrar botones de expandir/colapsar
lCheckBoxesLogico.F.Mostrar casillas de verificacion junto a los elementos
lSortedLogico.F.Ordenar nodos automaticamente por orden alfabetico
oSelectedTreeNodeNILNodo seleccionado actualmente
EventoCategoriaDescripcion
OnChangeAccionNodo seleccionado cambiado
OnExpandingAccionNodo a punto de expandirse
OnCollapsingAccionNodo a punto de colapsarse
OnDblClickAccionDoble clic en nodo
OnEditedAccionEtiqueta del nodo editada
PlataformaWidget Nativo
WindowsWC_TREEVIEW (SysTreeView32)
macOSNSOutlineView
LinuxGtkTreeView (modelo de arbol)
// Construir un arbol de categorias
@ 10, 10 TREEVIEW oTree OF oForm SIZE 200, 300
oRoot := oTree:AddItem( "Productos" )
oRoot:AddChild( "Electronica" )
oRoot:AddChild( "Ropa" )
oRoot:Expand()

TListView CT_LISTVIEW = 21

Lista mult_columna con iconos. Soporta modos de vista: icono, icono pequeno, lista y detalle/informe.

PropiedadTipoValor predet.Descripcion
nViewStyleNumerico30=Icono, 1=IconoPeq, 2=Lista, 3=Informe
lGridLinesLogico.F.Mostrar lineas de cuadricula en vista informe
lCheckBoxesLogico.F.Mostrar casillas de verificacion
lMultiSelectLogico.F.Permitir seleccion multiple
nSortColumnNumerico-1Columna para ordenar (-1 = ninguna)
EventoCategoriaDescripcion
OnSelectItemAccionElemento seleccionado
OnDblClickAccionDoble clic en elemento
OnColumnClickAccionEncabezado de columna pulsado (para ordenar)
OnEditedAccionEtiqueta del elemento editada
PlataformaWidget Nativo
WindowsWC_LISTVIEW (SysListView32)
macOSNSTableView (mult_columna)
LinuxGtkTreeView + GtkListStore

TProgressBar CT_PROGRESSBAR = 22

Indicador visual del progreso de una operacion. Soporta modos determinista (porcentaje) e indeterminado (marquesina).

PropiedadTipoValor predet.Descripcion
nMinNumerico0Valor minimo
nMaxNumerico100Valor maximo
nPositionNumerico0Valor de progreso actual
lMarqueeLogico.F.Modo indeterminado (animado)
PlataformaWidget Nativo
WindowsPROGRESS_CLASS (msctls_progress32)
macOSNSProgressIndicator
LinuxGtkProgressBar
// Barra de progreso para procesamiento de archivos
@ 200, 20 PROGRESSBAR oProgress OF oForm SIZE 300, 20 RANGE 0, 100
oProgress:nPosition := 45

TRichEdit CT_RICHEDIT = 23

Editor de texto enriquecido que soporta negrita, cursiva, subrayado, colores, fuentes y formateo de parrafos (RTF).

PropiedadTipoValor predet.Descripcion
cTextString""Contenido de texto plano
cRTFTextString""Contenido de texto enriquecido (RTF)
lReadOnlyLogico.F.Impedir edicion
lWordWrapLogico.T.Ajustar lineas largas
nSelStartNumerico0Posicion de inicio de seleccion
nSelLengthNumerico0Longitud de seleccion
EventoCategoriaDescripcion
OnChangeAccionContenido cambiado
OnSelChangeAccionSeleccion cambiada
OnKeyDownTecladoTecla presionada
PlataformaWidget Nativo
WindowsRICHEDIT_CLASS (RichEdit20W)
macOSNSTextView (RTF habilitado)
LinuxGtkTextView (con marcado Pango)

TTrackBar CT_TRACKBAR = 34

Control deslizante para seleccionar un valor numerico dentro de un rango. Usado para volumen, zoom y ajustes similares.

PropiedadTipoValor predet.Descripcion
nMinNumerico0Valor minimo
nMaxNumerico100Valor maximo
nPositionNumerico0Posicion actual del deslizador
nTickFreqNumerico1Frecuencia de marcas
lHorizontalLogico.T.Orientacion horizontal
EventoCategoriaDescripcion
OnChangeAccionPosicion del deslizador cambiada
PlataformaWidget Nativo
WindowsTRACKBAR_CLASS (msctls_trackbar32)
macOSNSSlider
LinuxGtkScale

TUpDown CT_UPDOWN = 35

Boton giratorio (flechas arriba/abajo) normalmente asociado con un control de edicion para entrada numerica.

PropiedadTipoValor predet.Descripcion
nMinNumerico0Valor minimo
nMaxNumerico100Valor maximo
nPositionNumerico0Valor actual
nIncrementNumerico1Incremento por paso
oBuddyControlNILControl de edicion asociado
lWrapLogico.F.Volver de maximo a minimo
EventoCategoriaDescripcion
OnChangeAccionValor cambiado (clic arriba/abajo)
PlataformaWidget Nativo
WindowsUPDOWN_CLASS (msctls_updown32)
macOSNSStepper
LinuxGtkSpinButton

TDateTimePicker CT_DATETIMEPICKER = 36

Selector de fecha y/u hora con calendario desplegable. Proporciona formateo consciente de la configuracion regional.

PropiedadTipoValor predet.Descripcion
dValueDateDate()Fecha/hora seleccionada
dMinDateDateNILFecha minima seleccionable
dMaxDateDateNILFecha maxima seleccionable
cFormatString""Formato de visualizacion personalizado (ej. "yyyy-MM-dd")
nKindNumerico00=Fecha, 1=Hora, 2=FechaHora
EventoCategoriaDescripcion
OnChangeAccionFecha/hora seleccionada cambiada
OnDropDownAccionCalendario desplegable abierto
OnCloseUpAccionCalendario desplegable cerrado
PlataformaWidget Nativo
WindowsDATETIMEPICK_CLASS (SysDateTimePick32)
macOSNSDatePicker
LinuxGtkCalendar + GtkPopover
// Selector de fecha para fecha de factura
@ 80, 120 DATETIMEPICKER oDtp OF oForm SIZE 150, 24
oDtp:cFormat := "dd/MM/yyyy"

TMonthCalendar CT_MONTHCALENDAR = 37

Control de calendario mensual en linea. Muestra una cuadricula completa del mes para seleccion de fecha.

PropiedadTipoValor predet.Descripcion
dValueDateDate()Fecha seleccionada
dMinDateDateNILFecha minima seleccionable
dMaxDateDateNILFecha maxima seleccionable
lMultiSelectLogico.F.Permitir seleccionar un rango de fechas
lShowTodayLogico.T.Resaltar la fecha de hoy
EventoCategoriaDescripcion
OnSelectAccionFecha seleccionada
OnSelChangeAccionRango de seleccion cambiado
PlataformaWidget Nativo
WindowsMONTHCAL_CLASS (SysMonthCal32)
macOSNSDatePicker (NSClockAndCalendarDatePickerStyle)
LinuxGtkCalendar
9 Controles Nativos de Plataforma

Estos controles utilizan widgets avanzados especificos del sistema operativo para maxima apariencia nativa. HarbourBuilder asigna automaticamente cada control al widget correcto en Windows (Win32), macOS (Cocoa) y Linux (GTK3).

En Esta Página

TTabControl CT_TABCONTROL = 33 TTreeView CT_TREEVIEW = 20 TListView CT_LISTVIEW = 21 TProgressBar CT_PROGRESSBAR = 22 TRichEdit CT_RICHEDIT = 23 TTrackBar CT_TRACKBAR = 34 TUpDown CT_UPDOWN = 35 TDateTimePicker CT_DATETIMEPICKER = 36 TMonthCalendar CT_MONTHCALENDAR = 37