Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Curiosidad... (https://www.clubdelphi.com/foros/showthread.php?t=13454)

superhopi 19-08-2004 10:54:02

Curiosidad...
 
A ver si me podéis ayudar (seguro que sí)

Cuando tengo un form con muchos edits, y son campos para rellenar, me gusta que apretando al intro pase al siguiente campo para evitar al usuario molestarse.

El caso que lo hago de la siguiente:

- En el evento on key press -> if key=#13 then edit2.setfocus;

y el pequeño inconveniente es que hace un pequeño bip que llega a ser molesto cada vez que se aprieta al intro.

¿Alguien conoce alguna forma de hacerlo distinta a la mía?

Gracias, y un saludo.

tcp_ip_es 19-08-2004 11:20:38

prueba con esto a lo mejor te funciona :D

Código Delphi [-]
if key=#13 then
 begin
  key:= #0;
  edit2.setfocus;
 end;

Saludos, Tony

superhopi 19-08-2004 12:23:02

Ostras, de lujo...
 
Genial, gracias,
pero , como aprendeis esas cosas? yo es que no las leo en ningun libro, y si no me las cuentan... pues como que no las se.

Gracias y un saludo

marcoszorrilla 19-08-2004 12:35:20

Sería conveniente que revisarás este hilo:

http://www.clubdelphi.com/foros/show...t=enter+tab%2A

Un Saludo.

jachguate 19-08-2004 15:22:50

Código Delphi [-]
begin
  if key = #13 Then
  begin
    edit2.setfocus;
    key := #0;
  end;

Hasta luego.

;)

moesis 22-08-2004 03:55:45

Saludos

Estando totalmente de acuerdo con todas las respuestas que tienes en el hilo, te recomendaría que lo hicieras de otra forma....

Dado que todos los TEdit comparten la misma funcionalidad (o al menos eso he entendido) puedes asignarle a todos los eventos KeyPress de todos los controles el siguiente código...

Código Delphi [-]
begin
  if key = #13Then
  begin
    // edit2.setfocus;
    Perform(WM_NEXTDLGCTL, 0, 0);
    key := #0;
  end;
end;
De esta forma te evitas hacer referencia al siguiente control, y por lo tanto evitas escribir código superfluo para la unidad, sin mencionar la claridad de código así como el asegurarte de que el siguiente control que recibe el foco es el correcto...

Espero haberte ayudado un poco más de lo que lo han hecho los compañeros del foro.

superhopi 22-08-2004 20:32:44

Muy bueno, tomo tona
 
Buen consejo, gracias.

superhopi 22-08-2004 20:33:20

Tomo tona? jejejeje
 
Tomo nota mejor dicho ^_^


La franja horaria es GMT +2. Ahora son las 18:53:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi