11 Voto

Delphi/Lazarus: Tecla Entrar en Edit

Pregunta de Invitado | 01/01/2024 a las 12:30

Me gustaría ejecutar una acción específica automáticamente, cada vez que se presiona la tecla Intro respectivamente la tecla Enter desde un campo TEdit.

Esto puede ser, por ejemplo, el inicio automático de una búsqueda después de introducir una palabra clave, el salto al siguiente campo de entrada o la pulsación automática del botón al lado del campo.

¿Cómo puedo darme cuenta de eso?

ResponderPositivoNegativoFechaVotos
2Mejor Respuesta2 Votos

Puede simplemente reaccionar a la tecla Entrar en el evento OnKeyPress del campo Edit.

La clave de retorno tiene el código de clave #13, por lo que la declaración if podría verse así:

procedure TForm1.Edit1KeyPress(Sender: TObject; 
  var Key: Char);
begin
  if Key = #13 then begin
    Button1.Click;  // por ejemplo: simular clic en botón
    Edit2.SetFocus; // o: saltar a la siguiente edit 
    // ... o cualquier otra cosa
    Key := #0;
  end;
end; 

En este ejemplo, simplemente llamamos al procedimiento Button1Click, para que el código contenido en él se ejecute después de presionar la tecla Entrar, y saltamos al siguiente campo Edit. Por supuesto, también puede ejecutar o escribir cualquier otro código o función en este punto.

Es importante configurar Key en #0 después. Con esto, evita que le Edit procese más la entrada.
01/01/2024 a las 19:44

ResponderPositivo Negativo
11 Voto

Si se debe hacer clic en un botón al presionar la tecla Entrar, también puede establecer la propiedad "Default" del botón en "true". Con esto, se hará clic en el botón automáticamente al presionar Enter.

Lo mismo se aplica a la tecla ESC. En este caso, debe establecer la propiedad "Cancel" en "true".
02/01/2024 a las 20:30

ResponderPositivo Negativo
00 Votos

Esta solución es mejor para programas más pequeños o ventanas de diálogo.

La respuesta anterior es más adecuada para programas más largos.
03/01/2024 a las 00:21

Positivo Negativo
Responder
Responder

Temas Relacionados

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.