Controles Adicionais

A aba Adicionais fornece controles visuais e de entrada avancados que estendem o conjunto padrao com graficos, grades e editores especializados.

TBitBtn CT_BITBTN = 12

Um botao que exibe uma legenda e um glifo (imagem bitmap). Ideal para barras de ferramentas e botoes de acao.

PropriedadeTipoPadraoDescricao
cTextString"BitBtn"Legenda do botao
cGlyphString""Caminho para imagem bitmap do glifo
nGlyphAlignNumerico0Posicao do glifo: 0=Esquerda, 1=Direita, 2=Topo, 3=Inferior
nSpacingNumerico4Espacamento entre glifo e texto (pixels)
nWidth, nHeightNumerico100, 30Tamanho
EventoCategoriaDescricao
OnClickAcaoBotao clicado
OnEnterFocoControle recebeu foco
OnExitFocoControle perdeu foco
PlataformaWidget Nativo
WindowsBUTTON (BS_BITMAP | BS_PUSHBUTTON)
macOSNSButton (NSBezelStyleTexturedSquare + imagem)
LinuxGtkButton + GtkImage
// BitBtn com glifo
@ 10, 10 BITBTN oBtn PROMPT "Salvar" OF oForm GLYPH "save.bmp" SIZE 100, 30
oBtn:OnClick := { || SalvarRegistro() }

TSpeedButton CT_SPEEDBTN = 27

Botao plano projetado para barras de ferramentas. Pode atuar como alternancia e nao recebe foco.

PropriedadeTipoPadraoDescricao
cGlyphString""Caminho para bitmap do glifo
lFlatLogico.T.Aparencia plana (sem borda ate passar o mouse)
lDownLogico.F.Estado pressionado/alternancia
nGroupIndexNumerico0Grupo para exclusao mutua (0 = nenhum)
lAllowAllUpLogico.F.Permitir que todos os botoes do grupo fiquem despressionados
EventoCategoriaDescricao
OnClickAcaoBotao clicado
PlataformaWidget Nativo
WindowsBUTTON (BS_OWNERDRAW, renderizacao plana)
macOSNSButton (NSBezelStyleRoundRect, sem borda)
LinuxGtkToggleButton (alivio plano)
// Botoes de velocidade com exclusao mutua na barra
@ 2, 2 SPEEDBTN oNegrito GLYPH "bold.bmp" OF oToolbar GROUP 1 SIZE 24, 24
@ 2, 28 SPEEDBTN oItalico GLYPH "italic.bmp" OF oToolbar GROUP 1 SIZE 24, 24

TImage CT_IMAGE = 14

Exibe uma imagem bitmap, JPEG, PNG ou GIF em um formulario.

PropriedadeTipoPadraoDescricao
cFileNameString""Caminho para arquivo de imagem
lStretchLogico.F.Esticar imagem para caber no controle
lProportionalLogico.F.Manter proporcao ao esticar
lCenterLogico.F.Centralizar imagem no controle
nWidth, nHeightNumerico100, 100Tamanho
EventoCategoriaDescricao
OnClickAcaoImagem clicada
OnDblClickAcaoImagem clicada duas vezes
PlataformaWidget Nativo
WindowsSTATIC (SS_BITMAP | SS_REALSIZECONTROL)
macOSNSImageView
LinuxGtkImage
// Exibir um logotipo
@ 10, 10 IMAGE oLogo FILENAME "logo.png" OF oForm SIZE 200, 80 STRETCH

TShape CT_SHAPE = 15

Desenha formas geometricas (retangulo, circulo, elipse, retangulo arredondado) em um formulario.

PropriedadeTipoPadraoDescricao
nShapeNumerico00=Retangulo, 1=Circulo, 2=Elipse, 3=RetanguloArred
nPenColorCorCLR_BLACKCor da borda
nPenWidthNumerico1Espessura da borda
nBrushColorCorCLR_WHITECor de preenchimento
PlataformaWidget Nativo
WindowsSTATIC com desenhoproprio (desenho GDI)
macOSNSView (Core Graphics drawRect:)
LinuxGtkDrawingArea (Cairo)

TBevel CT_BEVEL = 16

Controle decorativo nao interativo que desenha linhas e caixas com relevo elevado ou rebaixado.

PropriedadeTipoPadraoDescricao
nStyleNumerico00=Rebaixado, 1=Elevado
nBevelShapeNumerico00=Caixa, 1=LinhaSuperior, 2=LinhaInferior, 3=LinhaEsquerda, 4=LinhaDireita
PlataformaWidget Nativo
WindowsSTATIC (SS_ETCHEDHORZ / SS_ETCHEDFRAME)
macOSNSBox (NSBoxSeparator)
LinuxGtkSeparator / GtkFrame

TMaskEdit CT_MASKEDIT = 28

Entrada de texto com mascara de entrada que restringe o formato (datas, telefones, CPF, etc.).

PropriedadeTipoPadraoDescricao
cTextString""Conteudo do texto atual (com literais)
cMaskString""Mascara de entrada (ex. "999-999-9999")
lSaveLiteralsLogico.T.Incluir literais da mascara no valor
cPlaceholderString"_"Caractere de espaco reservado
EventoCategoriaDescricao
OnChangeAcaoConteudo do texto alterado
OnValidateAcaoValidacao da mascara concluida
OnEnterFocoControle recebeu foco
OnExitFocoControle perdeu foco
PlataformaWidget Nativo
WindowsEDIT (ES_AUTOHSCROLL + logica de mascara)
macOSNSTextField + NSFormatter
LinuxGtkEntry + filtragem de entrada
// Mascara de telefone
@ 50, 120 MASKEDIT oTelefone MASK "(99) 99999-9999" OF oForm SIZE 160, 24

TStringGrid CT_STRINGGRID = 29

Grade editavel de celulas organizadas em linhas e colunas. Adequada para entrada de dados tabulares.

PropriedadeTipoPadraoDescricao
nColCountNumerico5Numero de colunas
nRowCountNumerico5Numero de linhas
nFixedColsNumerico1Numero de colunas fixas (cabecalho)
nFixedRowsNumerico1Numero de linhas fixas (cabecalho)
nDefaultColWidthNumerico64Largura padrao da coluna
nDefaultRowHeightNumerico24Altura padrao da linha
lEditingLogico.T.Permitir edicao de celulas
EventoCategoriaDescricao
OnSelectCellAcaoCelula selecionada
OnSetEditTextAcaoTexto da celula alterado
OnDrawCellDesenhoPintura personalizada da celula
OnKeyDownTecladoTecla pressionada na grade
PlataformaWidget Nativo
WindowsGrade customizada com desenho proprio (baseada em WC_LISTVIEW)
macOSNSTableView (multi-coluna editavel)
LinuxGtkTreeView + GtkListStore (editavel)
// Criar uma grade estilo planilha de 3 colunas
@ 10, 10 STRINGGRID oGrade OF oForm SIZE 400, 200 COLS 3 ROWS 10
oGrade:SetCell( 0, 0, "Produto" )
oGrade:SetCell( 0, 1, "Qtd" )
oGrade:SetCell( 0, 2, "Preco" )

TScrollBox CT_SCROLLBOX = 30

Painel conteiner com rolagem. Controles colocados dentro recebem barras de rolagem automaticamente quando excedem a area visivel.

PropriedadeTipoPadraoDescricao
lAutoScrollLogico.T.Exibir barras de rolagem automaticamente
nHorzPosNumerico0Posicao da rolagem horizontal
nVertPosNumerico0Posicao da rolagem vertical
nWidth, nHeightNumerico200, 200Tamanho da area visivel
EventoCategoriaDescricao
OnScrollAcaoPosicao da rolagem alterada
OnResizeLayoutConteiner redimensionado
PlataformaWidget Nativo
WindowsWindow (WS_HSCROLL | WS_VSCROLL)
macOSNSScrollView + NSView
LinuxGtkScrolledWindow + GtkViewport

TStaticText CT_STATICTEXT = 31

Rotulo com borda visivel. Similar ao TLabel mas com estilo de borda rebaixada, elevada ou simples.

PropriedadeTipoPadraoDescricao
cTextString""Texto de exibicao
nBorderStyleNumerico00=Nenhuma, 1=Simples, 2=Rebaixada
nAlignmentNumerico00=Esquerda, 1=Centro, 2=Direita
PlataformaWidget Nativo
WindowsSTATIC (SS_SUNKEN | SS_LEFT)
macOSNSTextField (com borda, nao editavel)
LinuxGtkLabel + GtkFrame

TLabeledEdit CT_LABELEDEDIT = 32

Controle composto que combina um TLabel e um TEdit em um unico componente. Simplifica o layout de formularios.

PropriedadeTipoPadraoDescricao
cTextString""Conteudo do texto de edicao
cLabelTextString"Label"Legenda para a parte do rotulo
nLabelPositionNumerico00=Esquerda, 1=Topo, 2=Direita, 3=Inferior
nLabelSpacingNumerico3Espacamento entre rotulo e edicao (pixels)
lReadOnlyLogico.F.Impede edicao
EventoCategoriaDescricao
OnChangeAcaoTexto de edicao alterado
OnEnterFocoEdicao recebeu foco
OnExitFocoEdicao perdeu foco
// Edicoes rotuladas para formulario rapido de entrada
@ 20, 20 LABELEDEDIT oNome LABEL "Nome Completo:" OF oForm SIZE 200, 24
@ 50, 20 LABELEDEDIT oEmail LABEL "E-mail:" OF oForm SIZE 200, 24
10 Controles Adicionais

Estes controles avancados fornecem elementos graficos, entrada com mascara, edicao em grade e widgets compostos. Disponiveis em todas as plataformas usando renderizacao nativa ou com desenho proprio.

Nesta 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