Controles de Sistema

A aba Sistema contem controles nao visuais e de baixo nivel que fornecem funcionalidade de temporizacao e superficies de desenho personalizado.

TTimer CT_TIMER = 38

Componente nao visual que dispara um evento em intervalos regulares. Usado para tarefas periodicas como sondagem, animacoes, salvamento automatico e atualizacoes de status. Nao aparece no formulario em tempo de execucao.

PropriedadeTipoPadraoDescricao
nIntervalNumerico1000Intervalo do temporizador em milissegundos
lEnabledLogico.T.Se o temporizador esta ativo
EventoCategoriaDescricao
OnTimerAcaoDisparado a cada intervalo decorrido
PlataformaImplementacao
WindowsSetTimer() / WM_TIMER
macOSNSTimer (scheduledTimerWithTimeInterval:)
Linuxg_timeout_add()
// Salvamento automatico a cada 30 segundos
TIMER oTimer OF oForm INTERVAL 30000
oTimer:OnTimer := { || SalvarAutomatico() }

// Desativar temporizador temporariamente
oTimer:lEnabled := .F.

// Reativar com intervalo mais rapido
oTimer:nInterval := 5000
oTimer:lEnabled := .T.

TPaintBox CT_PAINTBOX = 39

Superficie de desenho personalizado. Fornece um objeto Canvas para pintura livre com linhas, retangulos, elipses, texto e imagens. O evento OnPaint e chamado sempre que o controle precisa ser redesenhado.

PropriedadeTipoPadraoDescricao
oCanvasCanvas(auto)Objeto de superficie de desenho com caneta, pincel e fonte
nWidth, nHeightNumerico200, 200Tamanho da area de desenho
nClrPaneCorCLR_WHITECor de fundo
EventoCategoriaDescricao
OnPaintDesenhoControle precisa ser repintado (recebe oCanvas)
OnClickAcaoSuperficie clicada
OnMouseDownMouseBotao do mouse pressionado (nRow, nCol, nFlags)
OnMouseMoveMouseMouse movido sobre a superficie
OnMouseUpMouseBotao do mouse solto
PlataformaImplementacao
WindowsSTATIC com desenho proprio (WM_PAINT + GDI/GDI+)
macOSNSView (drawRect: + Core Graphics)
LinuxGtkDrawingArea (sinal draw + Cairo)
// Desenho personalizado em um PaintBox
@ 10, 10 PAINTBOX oPaint OF oForm SIZE 300, 200
oPaint:OnPaint := { |oCanvas|
   oCanvas:FillRect( 0, 0, 300, 200, CLR_WHITE )
   oCanvas:SetPen( CLR_BLUE, 2 )
   oCanvas:DrawRect( 20, 20, 280, 180 )
   oCanvas:DrawEllipse( 50, 50, 250, 150 )
   oCanvas:DrawText( 110, 90, "Ola Canvas!" )
}
2 Controles de Sistema

Temporizador fornece disparo periodico de eventos para tarefas em segundo plano, enquanto PaintBox oferece uma superficie de desenho livre. Ambos sao essenciais para construir aplicacoes interativas e dinamicas.

Nesta Página

TTimer CT_TIMER = 38 TPaintBox CT_PAINTBOX = 39