On Before Keystroke
Code | Pode ser chamado por | Definição |
---|---|---|
17 | Área 4D Write Pro - Caixa de Combinação - Formulário - Entrada - List Box - Coluna de List Box | Um carácter está prestes a ser introduzido no objecto que tem o foco. Obter texto editado devolve o texto do objeto sem este caractere. |
História
Release | Mudanças |
---|---|
18 R5 | - Support in non-enterable list boxes- The event is now triggered after IME validation |
Descrição
Depois que o evento On Before Keystroke
e os eventos On After Keystroke
são selecionados para um objeto, você pode detectar e manipular as teclas pressionadas dentro do objeto, usando o comando Form event code
que retornará On Before Keystroke
e então o evento On After Keystroke
(para mais informações, consulte a descrição do comando Get edited text
). No evento On Before Keystroke
, o comando FILTER KEYROKE
pode ser usado para filtrar caracteres tipados.
Esses eventos também são ativados por comandos de linguagem que simulam uma ação do usuário, como
POST KEY
.
O evento On Before Keystroke
não é gerado:
- em um método de coluna de uma list box exceto quando uma célula está sendo editada (no entanto, é gerado em todos os casos no método da list box)
- quando as modificações do usuário não forem realizadas usando o teclado (colar, arrastar e soltar, caixa de seleção, lista suspensa, caixa de seleção). Para processar estes eventos, você deve usar
No After Edit
.
Objectos não enterráveis
O evento On Before Keystroke
pode ser gerado em objetos não inseríveis, por exemplo, em uma caixa de seleção mesmo se as células da caixa de seleção não forem inseríveis, ou as linhas não forem selecionáveis. This allows you to build interfaces where the user can scroll dynamically to a specific row in a list box by entering the first letters of a value. No caso em que as células da caixa de listagem são editáveis, você pode usar o comando Is editing text
para saber se o usuário está realmente digitando texto em uma célula ou está usando o recurso de preenchimento automático e, em seguida, executar o código apropriado.
Sequência de teclas
Quando uma entrada requer uma sequência de pressionamentos de teclas, os eventos On Before Keystroke
e On After Keystroke
são gerados apenas quando a entrada é totalmente validada pelo usuário. O comando Keystroke
retorna o caractere validado. Este caso ocorre principalmente:
- ao usar teclas "mortas", como ^ ou ~: eventos são gerados somente quando o caractere ampliado for inserido depois (por exemplo, "e├" ou n^\),
- quando um IME (Input Code Editor) exibir uma caixa de diálogo intermediária na qual o usuário pode inserir uma combinação de caracteres: os eventos são gerados somente quando a caixa de diálogo do IME for validada.