FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
TECLA <ENTER> en TEdit
Alguien sabe porque razón el evento KeyPress de un TEdit no reconoce la tecla <ENTER>
Abajo coloco el fragmento donde tomo la tecla <enter> procedure TFVenta.EditClienteKeyPress(Sender: TObject; var Key: Char); var if (key=#13) then .... .. |
#2
|
|||
|
|||
Pues probado y funcionando en D6
|
#3
|
||||
|
||||
Por qué, no lo sé, pero sí sé que puedes usar OnKeyDown para detectar la tecla.
// Saludos |
#4
|
|||
|
|||
Me parece que el problema viene por otro lado, ya que tampoco me reconoce esta tecla con los eventos KeyDown y KeyUp
|
#5
|
||||
|
||||
Solo que en el Caso de OnKeyDown y OnKeyUp no has de compararlo con el valor #13, sino con la constante vk_Enter.
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
|||
|
|||
Que tipo de dato es la constante vk_Enter, ya que en estos eventos la variable Key es de tipo Word
|
#7
|
||||
|
||||
ups... no es vk_enter, es vk_return. He visto la windows.pas y no tiene un tipo definido... supongo que el compilador usará un tipo byte o single para representarla, dado su valor... aunque quizas la directiva {$externalsym} afecte el comportamiento normal y la declare como word... que es como me imagino que está en las cabeceras del API.
Habrá que ver...
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#8
|
|||
|
|||
Estuve investigando sobre el tema y de esta forma es solucionable, pero no dentro del evento OnKeyPress:
procedure TFCTarjetas.FormCreate(Sender: TObject); begin Application.OnMessage := AppMessage; end; Procedure TFCTarjetas.AppMessage(var Msg: TMSg; Var Handled:Boolean); var actual : TWincontrol; begin if Msg.message = WM_RETURN then begin Actual := Screen.ActiveControl; if Actual is TCustomEdit then ..... El problema es que aqui no puedo controlar un TEdit en particular. un saludo y Gracias Última edición por inetplus fecha: 17-03-2004 a las 00:38:49. |
|
|
|