Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   evitar que llegue la pulsacion (https://www.clubdelphi.com/foros/showthread.php?t=6633)

maruenda 15-01-2004 19:37:30

evitar que llegue la pulsacion
 
buenaaaaassss. ahi va mi pregunta. quiero evitar que al pulsar determinadas teclas estas se reflejen en el dbedit que tiene el foco.

uso el evento keydown y tengo la propiedad keypreview del form a true
aunque pongo a cero key, no funciona. sugerencias ? gracias.

procedure Tfclientes.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
vk_add: begin // aqui me pongo en modo insercion, siempre
// que tenga el form en blanco. si tengo un registro
//visualizandolo quiero ignorar la pulsacion

key:=0;
botoninsertar.click;
end;

end;

madriles 15-01-2004 19:51:15

hola
utiliza el evento OnKeyPress con algo parecido a esto
if Key = 'T' then exit; //donde T seria la tecla que no deseas, o bien
if (key <'0') or (key >9) then exit;//no te deja meter numeros

maruenda 15-01-2004 20:46:49

no funciona
 
gracias madriles, pero no funciona, sigue llegando la pulsacion.

necesito asignarle algun valor a key, en el evento keydown, para que no llegue la`pulsacion al dbedit. gracias.

marcoszorrilla 15-01-2004 21:58:09

Código:

procedure TForm1.DBEdit2KeyPress(Sender: TObject; var Key: Char);
begin
 if (Sender is TdbEdit) and (key ='A') then
 begin
 ShowMessage('Ni te menees');
 Key:=#0;
 end;
end;

Un Saludo.

maruenda 15-01-2004 22:15:45

Funcionaaaaaa
 
GRACIAS MARCOSZORRILLA, Y A LOS DEMAS. HE HECHO LO QUE DICES PERO CON UNA VARIANTE. UTILIZO EL EVENTO ONKEYPRESS PERO DEL FORM. DE ESTA MANERA SI LA TECLA QUE PULSO NO QUIERO QUE LLEGUE A CUALQUIER CONTROL LE ASIGNO EL VALOR #0. DE LA FORMA QUE TU DICES TENDRIA QUE USAR EL EVENTO DE CADA CONTROL.

YA SOLO FALTA QUE ME TOQUE LA PRIMITIVA. JEJEJEJE :p

marcoszorrilla 15-01-2004 22:20:37

Hombre era un ejemplo básico, es lógico que utilices un manejador para todo el formulario de la manera que dices.

Y si te toca la primitiva mándanos algún presente.


Un Saludo.


La franja horaria es GMT +2. Ahora son las 16:52:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi