Hola, necesito hacer que en un formuario de llenado, cuando se de <ENTER> me pase al siguiente campo de llenado, o sea usar enter en vez de tab para ir al siguiente en el orden de tabulación.
gracias
| |||
Re: pasar al siguiente campo con <ENTER> Hola, mira la verdad hace años que no veo nada de Delphi, ademas solo lo vi un par de meses, luego nos cambiaron la curricula, pero creo que es algo como esto procedure TmiForm.EditnKeypress(Sender: TObject; var Key: Char); begin if key = 13 then Editnn.Setfocus; end; end; No recuerdo si se cerraban los if's con end, pero te aseguro que haciendo unas pequeñasmodificaciones te servira, si tuviera Delphi insalado lo probaría... suerte!! ![]() |
| ||||
Re: pasar al siguiente campo con <ENTER> En efecto el concepto es correcto tu tienes que pescar el ecento onkeypress ahì checas que la tecla sea la numero 13 (un enter) y pones el "focus" en el elemento que quieras ![]() |
| ||||
Re: pasar al siguiente campo con <ENTER> Hola, zink. Prueba este código, con él al pulsar "Enter" pasarás al siguiente control en el orden de tabulación.
Código:
Saludos, procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if Key=#13 then begin Key:=#0; Perform(CM_DialogKey,VK_TAB,0); end; end; --------------- Pregunta lo que ignoras y pasarás por tonto 5 minutos. No lo preguntes y serás tonto toda la vida. |
| ||||
Re: pasar al siguiente campo con <ENTER> Muchas gracia spor su ayuda, estoy probando el codigo, aunque aun no lo he echado a andar pero en eso estoy. Gracias adickldn voy a probar el codigo y tambien el de JavierB, y gracias a Akela por la idea :) ![]() |
| |||
Re: pasar al siguiente campo con <ENTER> Bueno, aquí va otra alternativa: procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = 13 then SelectNext(Screen.ActiveControl, True, False); end; No olvides cambiar la propiedad "KeyPreview" de la forma a "True" para que esto funcione... ![]() Saludos ..-._.-._ReLoAd-._.-._.... |