Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como moverme con enter a traves de los controles de una aplicacion (https://www.clubdelphi.com/foros/showthread.php?t=37133)

karla 03-11-2006 18:38:55

Como moverme con enter a traves de los controles de una aplicacion
 
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

EnterToTab
 
Usar (y no tirar:-) en el KeyPress del control:

Código:

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

creo que es solo esto
 
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:
Código Delphi [-]
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 ;).


La franja horaria es GMT +2. Ahora son las 14:28:52.

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