Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Doble click en titulo de grid (https://www.clubdelphi.com/foros/showthread.php?t=32558)

rafita 09-06-2006 15:21:34

Doble click en titulo de grid
 
Hola a todos,

Estoy haciendo una pequeña aplicación con Delphi / Access, y me ocurre lo siguiente:

Sobre una rejilla RxDBGrid, tengo definida una rutina para ordenadar la rejilla haciendo click en los botones del título. La rutina la cogí de un hilo de este foro y funciona correctamente.

El problema es que al hacer doble click sobre el título, también me hace el evento asociado al doble click de la rejilla. En este caso es poner el registro seleccionado en modo edición.

La aplicación es sólo para mí por lo que evito el problema al no hacer doble click sobre el título, pero quería saber si eso se puede evitar, ya que si un día hago algo para otra gente, es problable que un usuario torpe tenga problemas con esto.

Además, creo que el error no es problema de mi código, sino que nos afecta a todos los que utilizamos este componente.

Saludos,

Neftali [Germán.Estévez] 09-06-2006 15:28:17

CReo que a partir de alguno de los eventos del mouse (MouseDown/MouseUp) podrías detectar que la posición pulsada está dentro del título e ignorar el dobleClick.
No lo he probado, así que tal vez no funciona, pero creo que por ahí puedes empezar.

rafita 09-06-2006 16:03:46

Gracias Neftalí por tu pronta respuesta,

No me creo capacitado para resolverlo como tu dices, pero me lo voy a tomar como reto personal para continuar aprendiendo.

De momento lo voy a solucionar de la forma más facil: un click en los datos activa un botón "Modificar" y es la pulsación de ese botón la que pone el registro en edición.

Si soy capaz de hacerlo como tu dices, ya lo notificaré en este foro.

Muuuuuuuuchas gracias

Lepe 09-06-2006 17:12:58

Aunque no es el mejor método, yo usaría una bandera. Una variable global a la unidad que se llama "ordenando", cuando se hace un clic en el título, se pone a True; En el evento DobleClic, si Ordenando está a True, salgo de la rutina sin hacer nada.

Tampoco lo he probado, pero creo recordar que al hacer doble clic en una rejilla, tambien se lanza el evento OnClick, si esto es así, podría funcionar.

Saludos y suerte

rafita 13-06-2006 10:22:04

Hola Lepe,
La idea de utilizar una bandera se me ocurrió pero no me había dado tiempo a implementarla y probarla.
Al leer tu mensaje lo he hecho y falla, posíblemente porque mi tabla tiene sólo una docena de registro, por tanto el tiempo de ordenación es insignificante. Supongo que con una tabla con más registros el tiempo de ordenación será el suficiente para que separe ambos eventos.

En cualquier caso, habrá que encontrar una solución más efectiva, porque he comprobado que esto ocurre siempre (por tanto nos ocurre a todos, aunque no lo hayamos descubierto).

gracias y ta'luego


La franja horaria es GMT +2. Ahora son las 15:42:58.

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