Delphi - Saber en un evento onexit cual es el control que

 
Vista:

Saber en un evento onexit cual es el control que

Publicado por Christian (41 intervenciones) el 02/04/2003 02:14:19
En mi persistente intento de validar los datos campo a campo
y no habiendome servido el evento onvalidate del campo
ya que si no se ingresa nada en el dbedit este no se activa
y en el caso de que el dato sea requerido no sirve
(esto lo escribo en el caso de que contestes tu Ernesto)
Quiesiera saber si hay alguna posibilidad de saber en el
evento onexit quien va recibir el foco o cual fue el boton
que se acaba de cliquear y que ha hecho que se desencadenara
el evento onexit.
Desde ya muchas gracias a quien conteste o se tome la
molestia de leer mi pregunta.
Christian
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Saber en un evento onexit cual es el control q

Publicado por Fer (269 intervenciones) el 02/04/2003 09:00:11
El evento OnExit no se desencadena por "cliquear" nada. El evento OnExit se produce, como puedes comprobar, SI LEES LA AYUDA , cuando el foco pasa de un control a otro.

El evento OnExit tiene además un parámetro llamado "Sender" que indica el control que lo ha desencadenado.

Si necesitas saber a qué control va a pasar el foco, en lugar de saber de dónde viene, puedes utilizar el método FindNextControl del que obtendrás más información en la ayuda de Delphi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Saber en un evento onexit cual es el control q

Publicado por Christian (41 intervenciones) el 03/04/2003 02:54:56
Muchas gracias seguramente me va a ser de mucha ayuda.
Christain.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Saber en un evento onexit cual es el control q

Publicado por Ernesto D'Spirito (706 intervenciones) el 03/04/2003 04:51:25
> El evento OnExit no se desencadena por "cliquear" nada.
> El evento OnExit se produce, como puedes comprobar,
> SI LEES LA AYUDA , cuando el foco pasa de un control a otro.

Es cierto que el evento OnExit se produce cuando el foco pasa de un control a otro, pero el cambio de foco ocurre cuando uno está por ejemplo en un Edit y el usuario hace clic en un Button, por lo que se desencadenará un evento OnExit en el Edit. Entiendo que a eso se refirió Christian.

> Si necesitas saber a qué control va a pasar el foco, en
> lugar de saber de dónde viene, puedes utilizar el método
> FindNextControl del que obtendrás más información en la
> ayuda de Delphi.

FindNextControl devuelve una referencia al control siguiente o anterior en el orden de tabulación, y ninguno de los dos será necesariamente el que obtuvo el foco pues el usuario pudo hacer clic con el ratón sobre cualquier otro control en el formulario.

En respuesta a la pregunta de Christian, la propiedad ActiveControl te informa cual es el control que ha obtenido el foco.

Ernesto D'Spirito
http://www.latiumsoftware.com/es/index.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Saber en un evento onexit cual es el control q

Publicado por Fer (269 intervenciones) el 03/04/2003 08:56:55
Gracias por las precisiones. Como de costumbre tienes toda la razón.

En ocasiones me paso de listo.

Gracias otra vez.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Saber en un evento onexit cual es el control q

Publicado por Christian (41 intervenciones) el 03/04/2003 15:47:56
Muchas gracias Ernesto por leer atentamente mi pregunta, voy a probar esto que me recomiendas.
Christian.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar