Array
(
)

Usando KeyPress ?

Renatacoimbra
   - 22 mar 2006

Oi !

Criei um DBEdit derivado da classe TDBEdit, Gostaria de testar uma condição no KeyPress do mesmo.

Exemplo:

Eu criei uma propriedade chamada EditKeyTab, lá eu defino qual tecla vai ser usado para passar de um edit para o outro. tipo: #13,

Mais se eu coloco para Passar com Enter, o usuário tb pode usar a tecla TAB, e funciona.

Eu Gostaria de testar se o usuário usou uma tecla para continuar ou para voltar.

Exemplo:

Tenho uma propriedade chamada TabKey

Goatria de testar assim

if TeclouParaPularparaOutroEdit then
TabKey := True
else
TabKey := False;


vou colocar o techo do código que estou testando.

#Código



procedure TSDBEdit.KeyPress(var Key: Char);
var
FEditTemp : TCustomForm;
begin
if Key = EditKeyTab then begin //Tecla definida para pular para o próximo edit exempo 13.
FEditTemp := GetParentForm(Self);
SendMessage(FEditTemp.Handle, WM_NEXTDLGCTL, 0, 0);
TabKey := True; // Só que ele pode usar o Tab e não passa aqui...
Key := #0;
end
else begin
if EditInput = etNumero then begin
if not (Key in [´0´..´9´,8,13]) then
Key := 0;
if Key = 32 then
Key := 15;
end;
if EditInput = etString then begin
if (key in [´0´..´9´]) then
key := 13;
end;

end;

if Key <> 0 then
inherited KeyPress(Key);
end;




Obrigada.


Edilcimar
   - 22 mar 2006

Se entendi direito o que vc está querendo fazer é ´gravar´ qual a tecla pressionada, se for isto, crie uma matriz dinâmica e vá colocando as teclas ou o valor das memas nesta matriz, assim vc poderá fazer o que quiser com elas depois, inclusive guardar em um arquivo