FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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,
__________________
Rafita. |
#2
|
||||
|
||||
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.
__________________
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. |
#3
|
|||
|
|||
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
__________________
Rafita. |
#4
|
||||
|
||||
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
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
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
__________________
Rafita. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Abrir una forma dando doble click? | JavierO | Varios | 3 | 13-08-2005 05:07:19 |
... ¿Patente sobre el doble click? ... | Jure | Noticias | 12 | 04-05-2004 05:20:04 |
Tlistview doble click sobre items | Supermagayin | Varios | 2 | 19-03-2004 02:58:25 |
hacer doble click en una celda de un dbgrid | davidgaldo | Conexión con bases de datos | 4 | 11-02-2004 17:08:28 |
Simular doble click en aplicación externa | belg | API de Windows | 4 | 29-12-2003 17:38:27 |
|