comp • gb.qt4 • control • .keypress

Event Control.KeyPress (gb.qt4)

Event KeyPress ( )

Gerado quando uma tecla é pressionada enquanto o controle tem o foco.

Você obtém informações sobre a tecla pressionada com a classe Key.

Após a rotina KeyPress tiver terminada, o texto dentro de um TextBox é editado por Gambas, de acordo com a tecla. Por isso, não faz sentido escrever de volta para a propriedade Text qualquer informação a partir do evento KeyPress nem de qualquer uma das sub-rotinas e funções que ele chama. Em vez disso use o evento Change que vem após a atualização do conteúdo.

Exemplo

PUBLIC SUB n_Keypress()
'Manipulador de eventos para o Grupo n - isto é um array 9 por 9 de TextBoxes
DIM ltext AS Variant
DIM ltag AS Variant
    
ltext = Key.Text ' Obter o texto da tecla

ltag = LAST.Tag ' A propriedade Grup
IF NOT IsNull(ltext) THEN
  IF Mid(ltext, 1) >= "0" AND Mid(ltext, 1) <= "9" THEN
    ' Imprime uma das teclas numéricas de 0 a 9
    z[ltag] = Int(Asc(ltext) - 48) ' Converter String para Integer e salvar na array tipo Integer
...

' não deve atualizar o campo como, por exemplo: n.Text = 48 + i

Cancelamento do evento

Se você parar o evento com STOP EVENT, o controle não vai receber nenhum evento do teclado.