PDA

Ver la Versión Completa : Como moverme con enter a traves de los controles de una aplicacion


karla
03-11-2006, 18:38:55
hola:

Yo estoy haciendo una aplicación que tiene un stringrid, yo quisiera que al dar enter en una celda de este el cursor se moviera hacia la celda siguiente.
Ademas quisiera hacerlo con otros controles, o sea que el moverme de un control a otro en vez de ser con la tecla TAB sea con la tecla ENTER.

Gracias por la ayuda

cecam
03-11-2006, 18:58:35
Usar (y no tirar:-) en el KeyPress del control:


procedure EnterToTab(Sender:TObject; var Key:char);
begin
if (Key=#13) then
begin
if (Sender is TWinControl) then
begin
Key := #0;
TWinControl(Sender).Perform(WM_NEXTDLGCTL, 0, 0);
end;
end;
end;


Saludos!!

karla
04-11-2006, 15:39:01
hola:
la verdad es que probe ese codigo pero no me funciona, voy a seguir probando

Gracias

Besto
17-11-2006, 14:24:17
Tienes que tener en el form la propiedad keypreview = true

pipe
13-12-2006, 19:44:05
supongamos que tenemos dos edit en un form y quiero pasar de uno a otro presionando enter, entonces en el evento OnKeyPress del edit colocas algo asi:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key = #13) then
edit2.setfocus;
end;

:D

Albano
13-12-2006, 19:54:14
Una pequeña corrección:
procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key = #13) then
begin
edit2.SetFocus;
abort;
end;
end;
Si pones atención, cuando cambias el focus con el código anterior, hace un ruido como de error... creo que es porque se trata de ejecutar algún otro evento con la tecla "Enter", si le pones "abort", se cancela dicho evento y ya no hace el mismo ruido.
No me creas del todo, tal vez no esté en lo correcto. Si alguien sabe algo de lo que comento y me quiere corregir, adelante ;).