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 07-12-2007
diego11 diego11 is offline
Miembro
 
Registrado: oct 2007
Posts: 20
Poder: 0
diego11 Va por buen camino
Saber cuando has pulsado Enter en un botón

Pues eso, estoy cambiando en mi formulario la tecla TAB por la tecla INTRO, pero al llegar a un botón, si pulsas la tecla INTRO no se lanza el evento KeyPress del formulario ni del botón. ¿Cómo puedo hacer para que al pulsar intro en un botón salte al siguiente control?

Un saludo y gracias anticipadas.
Responder Con Cita
  #2  
Antiguo 07-12-2007
wofox wofox is offline
Miembro
 
Registrado: dic 2007
Posts: 28
Poder: 0
wofox Va por buen camino
Pues simplemente en la opción Default del botón tienes que cambiarle a True.
Responder Con Cita
  #3  
Antiguo 07-12-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Ojalá funcione, pero quizás el método que usa para capturar la tecla INTRO por TAB tenga interferencias.

¿de qué manera cambias el intro por tab?
- Por codigo delphi puro y duro
- Usando el componente de la JVCL TJvEnterAsTab
- Usando otro componente de terceros.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 07-12-2007 a las 14:37:46.
Responder Con Cita
  #4  
Antiguo 07-12-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
No captures en <Enter> en el OnKeyPress, si no en el OnKeyUp y para pasar el foco al siguiente control puedes hacer esto:

Código Delphi [-]
  if Ord(Key) = 13 then
  begin
     PostMessage(Form1.Handle, WM_NEXTDLGCTL, 0, 0);
  end;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 07-12-2007
diego11 diego11 is offline
Miembro
 
Registrado: oct 2007
Posts: 20
Poder: 0
diego11 Va por buen camino
Gracias jhonny, lo que me has dicho me ha funcionado perfectamente.

Buscando en los trucos he encontrado que hay uno para desplazarse por los TEdit de un formulario usando Enter, cambiando una línea se puede adaptar para que sirva para todos los controles, sólo hay que seguir los pasos al pie de la letra y hacer el cambio que os pongo a continuación:

Código:
procedure TMainForm.AppMessage(var Msg: TMsg; var Handled: Boolean);
     var
       actual: TWinControl;
     begin
       if Msg.message = WM_KEYDOWN then
          if Msg.wParam = VK_RETURN then
             begin
               actual := Screen.ActiveControl;
               if actual is TEdit then --> COMENTAMOS O ELIMINAMOS ESTA LÍNEA
                  Msg.wParam := VK_TAB;
             end;
     end;
Gracias a todos y perdonad las molestias
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
Controlar cuando se ha pulsado un botón en otra unidad (propiedades) David OOP 9 17-11-2007 21:08:45
como se si he pulsado un boton ercrizeporta Varios 11 03-04-2007 13:56:56
Saber cuando se pulsa la tecla Enter D@byt Varios 2 25-05-2005 17:21:52
he pulsado el botón enviar?? valentine API de Windows 7 02-06-2004 17:21:54
Quiero Saber como hacer que un boton se vea que esta siendo pulsado Julio César Varios 2 27-11-2003 18:34:11


La franja horaria es GMT +2. Ahora son las 22:17:02.


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