Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-08-2014
pepesoft pepesoft is offline
Miembro
 
Registrado: ago 2014
Posts: 15
Poder: 0
pepesoft Va por buen camino
Escribir y pasar Foco a un Edit

Hola amigos del foro, quiero que me ayuden con este problemita.

Tengo un TEdit y varios TRadiButton, lo que pasa es que al seleccionar un RadioButton el Focus queda en él. y lo que quiero es que al precionar una tecla cualquiera ponga el focus en el TEdit y al mismo tiempo escriva el valor de la tecla que se pulso.

estoy intentando con este código pero falta algo para verse bien.


Código Delphi [-]
procedure TForm1.RadioButton1KeyPress(Sender: TObject; var Key: Char);
begin
  if key in ['a'..'z','A'..'Z','1'..'9','0', #13] then
  begin
    // ....
    txtbuscar.SetFocus;
  end;
end;
Responder Con Cita
  #2  
Antiguo 30-08-2014
Luis F. Orjuela Luis F. Orjuela is offline
Miembro
 
Registrado: may 2003
Ubicación: Bogotá - Colombia
Posts: 68
Poder: 21
Luis F. Orjuela Va por buen camino
Pero acaso el RadioButton no se selecciona con el mouse o con las teclas de cursor?

Tengo dudas...

Pero para lo que tú quieres debes replicar el mismo evento a los demás radiobuttons:

Código Delphi [-]
procedure TForm1.RadioButton1KeyPress(Sender: TObject; var Key: Char);
begin
  Edit1.Text:=Key;
  Edit1.SetFocus;
end;

Es decir en el Inspector de Objetos para el RadioButton2 en su envento OnKeyPress debes colocar RadioButton1KeyPress, que es el evento definido previamente, y hacer lo mismo para los demás RadioButtons..
__________________
Ing. LUIS FERNANDO ORJUELA
BOGOTA - COLOMBIA
Responder Con Cita
  #3  
Antiguo 30-08-2014
pepesoft pepesoft is offline
Miembro
 
Registrado: ago 2014
Posts: 15
Poder: 0
pepesoft Va por buen camino
Luis F. Orejuela, gracias por tu ayuda.

El codigo quedo asi y claro que yo lo tengo que replicar en cada RadioButton, Funciona mas o menos asi. Copia el valor de la tecla pulsada, pone el foco y tambien el cursor delante del caracter que hay en el Edit.

Código Delphi [-]
procedure TForm1.RadioButtonKeyPress(Sender: TObject; var Key: Char);
begin
  if key in ['a'..'z','A'..'Z','1'..'9','0', #13] then
  begin
    txtbuscar.Text := Key;
    txtbuscar.SetFocus;
    txtbuscar.SelStart := length(txtbuscar.text);
  end;
end;
Responder Con Cita
  #4  
Antiguo 31-08-2014
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Poder: 13
engranaje Va por buen camino
No es necesario que lo repliques en cada RadioButton. Basta con que se asigne en el OnKeyPress de cada radio button el mismo procedure. Todos los RadioButton pueden apuntar al mismo (si realmente quieres hacerlo exactamente igual en todos ellos)

Por otra parte si además de lo que has explicado cada radio button debe hacer cosas adicionales, o el texto debe enviarse a disitintos edits, puedes crearte un procerude del tipo:

Código Delphi [-]
procedure EnviarTeclaAtEdit(var Key: Char; aDestinoTecla:tEdit); 
begin   
  if key in ['a'..'z','A'..'Z','1'..'9','0', #13] then   
  begin
    aDestinoTecla.Text := Key;    
    aDestinoTecla.SetFocus;     
    aDestinoTecla.SelStart := length(aDestinoTecla.text);   
  end; 
end;

Para despues llamar al procedure en el OnKeyPress de cada radioButton de esta forma, pasandole el edit en el que quieras escribir:

Código Delphi [-]
procedure TForm1.RadioButtonKeyPress(Sender: TObject; var Key: Char); 
begin  
  EnviarTeclaAtEdit(Key,txtbuscar); 
end;

Última edición por engranaje fecha: 31-08-2014 a las 11:52:07.
Responder Con Cita
  #5  
Antiguo 01-09-2014
pepesoft pepesoft is offline
Miembro
 
Registrado: ago 2014
Posts: 15
Poder: 0
pepesoft Va por buen camino
engranaje, Excelente respuesta justo lo que necesito Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Escribir en Edit lucas05 Varios 2 21-10-2012 04:47:08
Cambio de foco a otro edit odrack Varios 30 14-03-2008 19:27:02
escribir en un edit principiante22 Varios 2 18-07-2007 02:31:39
Controlar el foco al salir de un edit ingel Varios 14 30-09-2005 18:58:15
Foco de un edit iriber Varios 6 26-11-2003 10:27:17


La franja horaria es GMT +2. Ahora son las 15:08:12.


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
Copyright 1996-2007 Club Delphi