Ver Mensaje Individual
  #1  
Antiguo 02-10-2005
nowheremanza nowheremanza is offline
Registrado
 
Registrado: sep 2005
Ubicación: Barcelona
Posts: 7
Reputación: 0
nowheremanza Va por buen camino
Validar celda de StringGrid

Hola,

He estado buscando por el foro, y he encontrado algunos hilos que hablan del tema, pero no me han solucionado mi problema. El que más se parecía era el "no salir de campos" de Mario1980 (http://www.clubdelphi.com/foros/show...8700#post68700),

en el cual explica casi el mismo problema que el mío. Ambos queremos validar la entrada en una celda, pero en su caso utiliza un dbgrid, y le aconsejan que use el evento OnValidate del campo, pero en mi caso, la celda es un simple string, ya que utilizo un StringGrid. Hasta ahora he conseguido que las celdas que yo quiero, tengan una "máscara" concreta, mediante el evento OnGetEditMask, y poniendo el parámetro Validate con la máscara, pero al editar la celda, no puedo validar que se cumpla la máscara, ya que el evento OnExit sólo se llama al cambiar de objeto (es decir, puedo cambiar de celda sin que el evento se llame). He creado una función que en principio me validaría dicha entrada mediante la función 'MatchesMask', pero ahora lo que me falta es poder controlar cuándo pierde el foco la celda, o simplemente se cambia de celda (similar al OnExit de un TEdit). Ya he probado con el evento OnKeyDown, y comprobando si se presiona el tabulador, o el botón izquierdo del ratón, pero cuando se presiona por ejemplo el tabulador, el foco de la celda ya ha cambiado antes de entrar en el evento, o sea, que tengo la celda actual y no la que quiero validar. Y con el evento OnSelectCell, más de lo mismo. Tengo la celda que se selecciona, no la anterior que es la que quiero validar...

¿¿¿Alguien puede ayudarme???

Muchas gracias, por adelentado.

Raúl.
Responder Con Cita