Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-06-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
Evento OnEnter

hola,

quiero que al presionar Enter en un edit, me aparezca un mensaje en el mismo.
Utilizo este codigo:

Código Delphi [-]
procedure TForm1.Edit1Enter(Sender: TObject);
begin
   edit1.Text:='Hola';
end;

Pero apenas le doy clic en el edit1 para poner el cursor aparece el mensaje. Ademas este edit no se deja borrar no editar. No quiero esto. Lo que quiero es cuando le de Enter aparezca el mensaje y que pueda escribir mas cosas.

Gracias
Responder Con Cita
  #2  
Antiguo 06-06-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

El evento OnEnter en un TEdit no es para cuando presionas la tecla <Enter>, si no para cuando el control recibe el foco del teclado.

Para lo que tu quieres, necesitas usar el evento OnKeyDown del control:

Código Delphi [-]
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if Key = VK_RETURN then
    ShowMessage('Hola')
end;


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #3  
Antiguo 06-06-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
Sale un error que dice : Identifier not found "VK_RETURN".
Responder Con Cita
  #4  
Antiguo 06-06-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
ok

VK_RETURN=13 para la tecla ENTER.

Gracias
Responder Con Cita
  #5  
Antiguo 06-06-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
cambialo por 13

Código Delphi [-]
 
if Key = 13 then
 
...
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #6  
Antiguo 06-06-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
y para que me deje escribir otros caracteres???
Responder Con Cita
  #7  
Antiguo 06-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola leogobo.

Creo que el equivalente de VK_RETURN para Lazarus en Windows es: Windows.VK_RETURN.

En este enlace explican como asignar valores a los códigos virtuales de teclado según la plataforma sea Windows o Linux: Lazarus

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 06-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por leogobo Ver Mensaje
y para que me deje escribir otros caracteres???
Si tu código es como te indicaron:
Código Delphi [-]
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if Key = 13 then
    ShowMessage('Hola');
end;
No tendrías que tener problemas en escribir otros caracteres. Hay un condicional y sólo se detiene el ingreso normal de teclado si se cumple que la tecla presionada es Enter.

Si agregaste algo más por favor ponelo para ver por que no te deja escribir.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 06-06-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
Bueno, este es el codigo completo

Código Delphi [-]
procedure TForm1.idKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
  ultimo: string;
begin
    if Key = 13 then
      begin
              dbf1.Last;
              ultimo:=dbf1.FieldByName('id').AsString;
              dbf1.First;
       while id.Text <> dbf1.FieldByName('id').AsString do
       begin
         if dbf1.FieldByName('id').AsString=ultimo then
             begin
           break;
             end;
         dbf1.Next;
       end;

  end;
end;

Última edición por leogobo fecha: 06-06-2011 a las 23:44:29.
Responder Con Cita
  #10  
Antiguo 07-06-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
Ya solucione el problema,

Era por que tenia un TDBEdit en vez de un TEdit. Con el TEdit no hay problemas.

Muchas 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
evento OnResize 3DLord Varios 2 24-03-2011 20:39:16
Llamar evento desde otro evento nachito_tuc OOP 1 23-08-2006 21:37:43
LabeledEdit.onEnter <-- ayuda Dr.Bizarre OOP 2 31-05-2006 18:54:37
evento OnMouseOut masterjail API de Windows 1 08-11-2004 00:19:02
OnEnter en DBGrid (Cambio de Fila) JANDREGUE Varios 1 27-08-2004 00:23:00


La franja horaria es GMT +2. Ahora son las 07:36:48.


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