Is editing text
Is editing text : Boolean
Parâmetro | Tipo | Descrição | |
---|---|---|---|
Resultado | Boolean | ← | True se texto estiver sendo digitado, senão False |
Esse comando não é seguro para thread e não pode ser usado em código adequado.
Descrição
O comando Is editing text devolve True se o usuário estiver ingressando valores em um objeto de formulário de entrada e False em todos os demais casos.
Este comando se utiliza principalmente para distinguir, dentro do código ativado pelo evento de formulário On Before Keystroke, entre a entrada de dados de usuário real e o uso de teclas de acesso direto. Por exemplo, é possível que queira executar um código diferente se o usuário esteja pressionando uma tecla para ingressar texto em uma célula ou para deslocar-se pelo listbox.
O comando Is editing text só pode ser utilizado com os objetos de formulário abaixo:
- entrada
- listbox (editáble e não editável)
- combo box
Com outros objetos, o comando sempre devolve False. Em particular, não pode utilizar com as áreas 4D Write Pro e 4D View Pro.
Exemplo
Se quiser permitir que o usuário selecione uma linha começando com a letra ou número digitado em uma listbox editável:
Case of
:(FORM Event.code=On Before Keystroke) //uma tecla é pressionada
If(Is editing text) //texto é digitado
// proíbe alguns caracteres
If(Keystroke="+")|(Keystroke="-")|(Keystroke="/")|(Keystroke="*")
FILTER KEYSTROKE("")
End if
Else
//nada está sendo digitado, é a funcionalidade de deslocamento atalho
$charCode:=Keystroke
$char:=Uppercase($charCode) // remove acentos
Case of
:((($char>="A")&($char<="Z"))|(($char>="0")&($char<="9")))
... //Seleciona uma linha começando com a letra ou número digitado
:($charCode>=Left arrow key)&($charCode<=Down arrow key) // flechas esquerda/direita/cima/embaixo
FILTER KEYSTROKE("") // desativa ações das flechas
End case
End if
End case