Ver la Versión Completa : TECLA <ENTER> en TEdit
inetplus
16-03-2004, 22:45:25
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
....
..
__cadetill
16-03-2004, 22:51:17
Pues probado y funcionando en D6 :confused:
roman
16-03-2004, 22:51:59
Por qué, no lo sé, pero sí sé que puedes usar OnKeyDown para detectar la tecla.
// Saludos
inetplus
16-03-2004, 23:00:25
Me parece que el problema viene por otro lado, ya que tampoco me reconoce esta tecla con los eventos KeyDown y KeyUp
jachguate
16-03-2004, 23:01:03
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.
inetplus
16-03-2004, 23:04:09
Que tipo de dato es la constante vk_Enter, ya que en estos eventos la variable Key es de tipo Word
jachguate
16-03-2004, 23:20:38
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...
inetplus
16-03-2004, 23:36:23
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
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.