PDA

Ver la Versión Completa : evitar que llegue la pulsacion


maruenda
15-01-2004, 19:37:30
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
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
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
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.