GARANTIR DESCONTO

Fórum Comportamento Estranho de MaskEdit Num Form KeyPreview=true #347117

08/10/2007

0

Por gentileza, faça o teste abaixo e me ajude, se puder:

1) Inicie uma aplicação;
2) Coloque um TMaskEdit com propriedade EditMask=000\-00\-0000;1;_
3) Mude a propriedade KeyPreview do form para true;
4) No OnKeyDown do [b:5d5a4ef94b]form[/b:5d5a4ef94b], coloque showmessage(inttostr(key));

Estranhamente o resultado vai ser 37, independentemente da tecla pressionada, ou seja, é o código da setaEsquerda.

Tirando a máscara ou colocando KeyPreview do form = false, não dá o bug. O showmessage mostra o código da tecla que realmente foi pressionada.
Outros componente como o TEdit, não se comportam assim.

Na minha aplicação eu tenho que deixar o KeyPreview do form = true, tenho que colocar máscara no MaskEdit e tenho que capturar a real tecla pressionada no [b:5d5a4ef94b]onKeyDown do form[/b:5d5a4ef94b].

Qualquer dica ajuda.
Obrigado.


Armindo

Armindo

Responder

Posts

09/10/2007

Paulo

Acho que tem a ver com a máscara. Porque num edit ou no maskedit sem máscara, não acontece nada. Acho que com Keypreview = True, ele chama o evento da máscara primeiro(código dela, ou coisa parecida) e depois o da tecla acionada, acho eu. Veja qual é o código 37.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar