Controles Adicionales

La pestania Adicionales proporciona controles visuales y de entrada mejorados que extienden el conjunto estandar con graficos, cuadriculas y editores especializados.

TBitBtn CT_BITBTN = 12

Un boton que muestra tanto una leyenda como un glifo (icono de mapa de bits). Ideal para barras de herramientas y botones de accion.

PropiedadTipoValor predet.Descripcion
cTextString"BitBtn"Leyenda del boton
cGlyphString""Ruta al glifo de imagen de mapa de bits
nGlyphAlignNumerico0Posicion del glifo: 0=Izquierda, 1=Derecha, 2=Arriba, 3=Abajo
nSpacingNumerico4Espacio entre glifo y texto (pixeles)
nWidth, nHeightNumerico100, 30Tamano
EventoCategoriaDescripcion
OnClickAccionBoton pulsado
OnEnterFocoControl recibio el foco
OnExitFocoControl perdio el foco
PlataformaWidget Nativo
WindowsBUTTON (BS_BITMAP | BS_PUSHBUTTON)
macOSNSButton (NSBezelStyleTexturedSquare + imagen)
LinuxGtkButton + GtkImage
// BitBtn con glifo
@ 10, 10 BITBTN oBtn PROMPT "Guardar" OF oForm GLYPH "save.bmp" SIZE 100, 30
oBtn:OnClick := { || SaveRecord() }

TSpeedButton CT_SPEEDBTN = 27

Boton plano disenado para barras de herramientas. Puede actuar como alternador y no recibe el foco.

PropiedadTipoValor predet.Descripcion
cGlyphString""Ruta al glifo de mapa de bits
lFlatLogico.T.Apariencia plana (sin borde hasta pasar el mouse)
lDownLogico.F.Estado presionado/alternado
nGroupIndexNumerico0Grupo para exclusion mutua (0 = ninguno)
lAllowAllUpLogico.F.Permitir que todos los botones del grupo se desactiven
EventoCategoriaDescripcion
OnClickAccionBoton pulsado
PlataformaWidget Nativo
WindowsBUTTON (BS_OWNERDRAW, renderizado plano)
macOSNSButton (NSBezelStyleRoundRect, sin borde)
LinuxGtkToggleButton (relieve plano)
// Botones de velocidad en barra de herramientas con exclusion mutua
@ 2, 2 SPEEDBTN oBold GLYPH "bold.bmp" OF oToolbar GROUP 1 SIZE 24, 24
@ 2, 28 SPEEDBTN oItalic GLYPH "italic.bmp" OF oToolbar GROUP 1 SIZE 24, 24

TImage CT_IMAGE = 14

Muestra una imagen de mapa de bits, JPEG, PNG o GIF en un formulario.

PropiedadTipoValor predet.Descripcion
cFileNameString""Ruta al archivo de imagen
lStretchLogico.F.Estirar imagen para ajustar al control
lProportionalLogico.F.Mantener relacion de aspecto al estirar
lCenterLogico.F.Centrar imagen dentro del control
nWidth, nHeightNumerico100, 100Tamano
EventoCategoriaDescripcion
OnClickAccionImagen pulsada
OnDblClickAccionDoble clic en la imagen
PlataformaWidget Nativo
WindowsSTATIC (SS_BITMAP | SS_REALSIZECONTROL)
macOSNSImageView
LinuxGtkImage
// Mostrar un logo
@ 10, 10 IMAGE oLogo FILENAME "logo.png" OF oForm SIZE 200, 80 STRETCH

TShape CT_SHAPE = 15

Dibuja formas geometricas (rectangulo, circulo, elipse, rectangulo redondeado) en un formulario.

PropiedadTipoValor predet.Descripcion
nShapeNumerico00=Rectangulo, 1=Circulo, 2=Elipse, 3=RoundRect
nPenColorColorCLR_BLACKColor del borde
nPenWidthNumerico1Grosor del borde
nBrushColorColorCLR_WHITEColor de relleno
PlataformaWidget Nativo
WindowsSTATIC dibujado por el propietario (dibujo GDI)
macOSNSView (Core Graphics drawRect:)
LinuxGtkDrawingArea (Cairo)

TBevel CT_BEVEL = 16

Control decorativo no interactivo que dibuja lineas y cajas con bisel elevado o hundido.

PropiedadTipoValor predet.Descripcion
nStyleNumerico00=Hundido, 1=Elevado
nBevelShapeNumerico00=Caja, 1=LineaSuperior, 2=LineaInferior, 3=LineaIzquierda, 4=LineaDerecha
PlataformaWidget Nativo
WindowsSTATIC (SS_ETCHEDHORZ / SS_ETCHEDFRAME)
macOSNSBox (NSBoxSeparator)
LinuxGtkSeparator / GtkFrame

TMaskEdit CT_MASKEDIT = 28

Entrada de texto con mascara de entrada que restringe el formato (fechas, numeros de telefono, etc.).

PropiedadTipoValor predet.Descripcion
cTextString""Contenido de texto actual (con literales)
cMaskString""Mascara de entrada (ej. "999-999-9999")
lSaveLiteralsLogico.T.Incluir literales de mascara en el valor
cPlaceholderString"_"Caracter de marcador de posicion
EventoCategoriaDescripcion
OnChangeAccionContenido de texto cambiado
OnValidateAccionValidacion de mascara completada
OnEnterFocoControl recibio el foco
OnExitFocoControl perdio el foco
PlataformaWidget Nativo
WindowsEDIT (ES_AUTOHSCROLL + logica de mascara)
macOSNSTextField + NSFormatter
LinuxGtkEntry + filtrado de entrada
// Mascara de telefono
@ 50, 120 MASKEDIT oPhone MASK "(999) 999-9999" OF oForm SIZE 160, 24

TStringGrid CT_STRINGGRID = 29

Cuadricula editable de celdas organizadas en filas y columnas. Adecuada para entrada de datos tabulares.

PropiedadTipoValor predet.Descripcion
nColCountNumerico5Numero de columnas
nRowCountNumerico5Numero de filas
nFixedColsNumerico1Numero de columnas fijas (encabezado)
nFixedRowsNumerico1Numero de filas fijas (encabezado)
nDefaultColWidthNumerico64Ancho predeterminado de columna
nDefaultRowHeightNumerico24Alto predeterminado de fila
lEditingLogico.T.Permitir edicion de celdas
EventoCategoriaDescripcion
OnSelectCellAccionCelda seleccionada
OnSetEditTextAccionTexto de celda cambiado
OnDrawCellDibujoPintado personalizado de celda
OnKeyDownTecladoTecla presionada en la cuadricula
PlataformaWidget Nativo
WindowsCuadricula personalizada dibujada por propietario (basada en WC_LISTVIEW)
macOSNSTableView (editable mult_columna)
LinuxGtkTreeView + GtkListStore (editable)
// Crear una cuadricula tipo hoja de calculo de 3 columnas
@ 10, 10 STRINGGRID oGrid OF oForm SIZE 400, 200 COLS 3 ROWS 10
oGrid:SetCell( 0, 0, "Producto" )
oGrid:SetCell( 0, 1, "Cant" )
oGrid:SetCell( 0, 2, "Precio" )

TScrollBox CT_SCROLLBOX = 30

Panel contenedor desplazable. Los controles colocados dentro obtienen barras de desplazamiento automaticamente cuando exceden el area visible.

PropiedadTipoValor predet.Descripcion
lAutoScrollLogico.T.Mostrar barras de desplazamiento automaticamente
nHorzPosNumerico0Posicion de desplazamiento horizontal
nVertPosNumerico0Posicion de desplazamiento vertical
nWidth, nHeightNumerico200, 200Tamano del area visible
EventoCategoriaDescripcion
OnScrollAccionPosicion de desplazamiento cambiada
OnResizeDisenoContenedor redimensionado
PlataformaWidget Nativo
WindowsWindow (WS_HSCROLL | WS_VSCROLL)
macOSNSScrollView + NSView
LinuxGtkScrolledWindow + GtkViewport

TStaticText CT_STATICTEXT = 31

Etiqueta con borde visible. Similar a TLabel pero con estilo de borde hundido, elevado o simple.

PropiedadTipoValor predet.Descripcion
cTextString""Texto a mostrar
nBorderStyleNumerico00=Ninguno, 1=Simple, 2=Hundido
nAlignmentNumerico00=Izquierda, 1=Centro, 2=Derecha
PlataformaWidget Nativo
WindowsSTATIC (SS_SUNKEN | SS_LEFT)
macOSNSTextField (con borde, no editable)
LinuxGtkLabel + GtkFrame

TLabeledEdit CT_LABELEDEDIT = 32

Control compuesto que combina un TLabel y un TEdit en un solo componente. Simplifica el diseno de formularios.

PropiedadTipoValor predet.Descripcion
cTextString""Contenido de texto del edit
cLabelTextString"Label"Leyenda para la parte de etiqueta
nLabelPositionNumerico00=Izquierda, 1=Arriba, 2=Derecha, 3=Abajo
nLabelSpacingNumerico3Espacio entre etiqueta y edit (pixeles)
lReadOnlyLogico.F.Impedir edicion
EventoCategoriaDescripcion
OnChangeAccionTexto del edit cambiado
OnEnterFocoEdit recibio el foco
OnExitFocoEdit perdio el foco
// Ediciones etiquetadas para un formulario de entrada rapida
@ 20, 20 LABELEDEDIT oName LABEL "Nombre Completo:" OF oForm SIZE 200, 24
@ 50, 20 LABELEDEDIT oEmail LABEL "Correo:" OF oForm SIZE 200, 24
10 Controles Adicionales

Estos controles mejorados proporcionan elementos graficos, entrada con mascara, edicion en cuadricula y compuestos. Disponibles en todas las plataformas con renderizado nativo o dibujado por el propietario.

En Esta Página

TBitBtn CT_BITBTN = 12 TSpeedButton CT_SPEEDBTN = 27 TImage CT_IMAGE = 14 TShape CT_SHAPE = 15 TBevel CT_BEVEL = 16 TMaskEdit CT_MASKEDIT = 28 TStringGrid CT_STRINGGRID = 29 TScrollBox CT_SCROLLBOX = 30 TStaticText CT_STATICTEXT = 31 TLabeledEdit CT_LABELEDEDIT = 32