FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
como se si he pulsado un boton
hola!!tengo el siguiente problema: tengo un campo "tedit" con un evento que ocurre al salir de el (onexit). Lo que me pasa es que las acciones que se ejecutan en el evento onexit solo quiero que se realicen si no se pulsa un botón que tengo en el formulario, es decir si salgo del campo tedit al pulsar ese determinado botón entonces no quiero que se realice. Para ello necesito saber si hay alguna opción para saber si el botón determinado ha sido pulsado o no.
muchas gracias!!! |
#2
|
||||
|
||||
Hola,
Puedes valerte de una variable global, o de una propiedad del formulario que alberga botón y casilla de edición:
|
#3
|
||||
|
||||
Mi duda es... ¿Se ejecutará primero en evento OnExit o el OnClick?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
||||
|
||||
Hola,
Cita:
|
#5
|
|||
|
|||
el evento que se ejecuta primero es el evento onexit, así que esa posible solución de la variable no es válida, ya que el valor de la variable se modificará una vez haya realizado el evento onexit, y yo necesitaría que se supiera antes del evento...teneis alguna otra idea de como realizarlo??
muchas gracias!!! |
#6
|
||||
|
||||
Al hacer clic sobre el botón el edit le pasa el foco al botón, eso lo puedes verificar de esta manera.
Sin embargo, existe un caso desfavorable, si el botón recibe el foco no necesariamente implica que se ha pulsado sobre el. Bueno, espero que esto sea útil de cualquier manera. |
#7
|
||||
|
||||
Hola,
Cita:
¿Que no se pulsó el botón? Se ejecuta el código del evento "OnExit" del "TEdit". ¿Que ya se pulsó el botón? El código del evento "OnExit" del "TEdit" ya no se ejecutará. ¿No entendí bien el asunto o qué? |
#8
|
||||
|
||||
Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#9
|
||||
|
||||
Yo vengo desde otro frente.
Cita:
Me recuerda a casos típicos de hacer algo "automáticamente", es decir... "intentos de dar inteligencia al Software". En la mayoría de las ocasiones se trata de un mal planteamiento de la solución, aunque no sé si será este el caso. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#10
|
||||
|
||||
Pues ya Héctor lo dijo. Aun cuando el evento OnExit se ejecuta antes del OnClick, para cuando estamos en OnExit, el botón ya tiene el foco.
A veces era necesario esto por ejemplo para validar un campo, pero si el botón era el de Cancelar, pues la validación no debe tener lugar. Ahra mismo no se me ocurriría una altenativa, pero yo es que de hecho no me gustan las validaciones en cada edit y prefiero hacelas al final, todas juntas, en el evento OnCloseQuery. // Saludos |
#11
|
|||
|
|||
Reabro este hilo porque he tenido la misma necesidad que el compañero, y efectivamente Hector tiene razón.
Pero deja de funcionar si quiero evitar el evento OnExit al pulsar sobre dos botones (pulsar sobre cualquiera de ellos, claro). Ejemplo: Código:
procedure TFMantoContratos.NumContratoExit(Sender: TObject); begin if (not BCancelar.Focused) or (not BNContratoAutomatico.Focused) then begin // las instrucciones del OnExit end; ¿a alguien se le ocurre alguna idea?
__________________
Rafita. |
#12
|
|||
|
|||
MIL PERDONES.
Me equivoqué en lo más básico: cambié un AND por un OR, y ese era el fallo. Código:
if (not BCancelar.Focused) and (not BNContratoAutomatico.Focused) then Gracias Hector por la respuesta tan útil.
__________________
Rafita. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como anular el ModalResult de un botón ? | carlosmari | Varios | 13 | 14-03-2007 23:43:39 |
Como saber el Numero de Item pulsado de un TPopupMenu | FNADALO | OOP | 6 | 06-08-2004 13:57:02 |
he pulsado el botón enviar?? | valentine | API de Windows | 7 | 02-06-2004 17:21:54 |
¿Cómo saber si esta pulsado un componente en Delphi con una pantalla táctil? | Ayoze | Varios | 3 | 26-05-2004 19:21:52 |
Quiero Saber como hacer que un boton se vea que esta siendo pulsado | Julio César | Varios | 2 | 27-11-2003 18:34:11 |
|