Delphi - proceso para usar tab y enter, con menos codigo

 
Vista:

proceso para usar tab y enter, con menos codigo

Publicado por alberto (117 intervenciones) el 16/04/2007 22:43:01
buenas tardes de nuevo por aqui.

tengo una pregunta si tienen respuesta para esta les agradezco me la hagan llegar

estoy viendo la programacion de la navegacion entre mis campos, con enter = #13 y el evento onexit del edit para ir al siguiente campo, esto son el fin de que el enter y el tab funcionen de la misma manera, PEROO::... como puedo hacer para no tener tanto codigo ya que por cada campo de mi forma debo de tener tanto en el codigo del keyprees como onexit el campo que sigue. habra alguna forma para minimizar la cantidad de codigo o solo se puede hacer campo por cmapo???

Muchas Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:proceso para usar tab y enter, con menos codigo

Publicado por E.T. (1244 intervenciones) el 16/04/2007 23:25:40
Que tal, puedes dar click derecho en tu forma, y en el menú que aparece busca "Tab Order" acomoda tus componentes en el orden deseado, y al dar "tab" éste se brincará en ese orden, para el enter si necesitas código, ésto por medio de una función que depende de en que componente estes te brinque al siguiente, esta función la agregas en cada componente en su evento OnKeyDown, en el cual especificas que si dan enter ejecute la función
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:proceso para usar tab y enter, con menos codigo

Publicado por nombre (106 intervenciones) el 17/04/2007 00:13:29
Pon este código en el evento OnKeyPress de un edit cualquiera. Por ej. Edit1

if (key = #13) then
begin
key:=#0;
perform(wm_nextdlgctl,0,0);
end;

Es el único código que tendrás que escribir, bueno ni eso, lo copias de aquí y lo pegas y así no hay que escribirlo

Con esto al pulsar Intro va al siguiente componete (según tab order), para el tab no tienes que hacer nada.

Ahora solo tienes que poner este evento en todos los demás, pero no hace falta volverlo a escribir uno a uno, simplemente selecciona el componente, por ej. Edit2 y en su evento OnKeyPress picas en la ventanilla y aparecerá el nombre de Todos los que hay, entre ellos uno que será algo como Edit1KeyPress, lo seleccionas y ya está. Incluso puedes seleccionar todos los componentes donde desees ponerlo y con una vez que lo hagas ya están todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:proceso para usar tab y enter, con menos codigo

Publicado por Jose Luis (157 intervenciones) el 18/04/2007 19:30:28
Prueba este codigo me funciona tanto en delphi 4 como en el 7

La funcion la declaras en el private
private
procedure Enter(Sender: TObject; var Key: Char);

procedure TForm1.Enter(Sender: TObject; var Key: Char);
begin
if (Key = #13) and (ActiveControl is TEdit) then //Aqui puedes colocar el componente que //quieras Memos u otro que quieras que funciones el salto
begin
Key := #0;
SelectNext(ActiveControl, GetKeyState(VK_SHIFT) and $80 = 0, True)
end
end;

luego la usas en el

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
Enter(Self, Key)
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar