![]() |
![]() |
| Paypal | 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
|
||||
|
||||
|
Cita:
__________________
|
|
#2
|
||||
|
||||
|
Me temo que estés buscando el fallo en el sitio que no es.
Creo casi con toda seguridad que debes de tener un procedimiento en algún lado de tu aplicación que provoque o bien un cambio constante del puntero en la base de datos asociada que provoque el repintado continuo del DBGrid, o alguna otra rutina que te influya en dicho repintado. Por eso se producirá el parpadeo. Porque por la rutina OnDrawColumnCell que has puesto no debería hacértelo. Permíteme preguntarte si el código expuesto es la rutina OnDrawColumnCell completa. Puede ser también que dentro del propio OnDrawColumnCell tengas alguna parte de código que te provoque la llamada recursiva al propio método.
__________________
Piensa siempre en positivo ! |
|
#3
|
||||
|
||||
|
Cita:
Saludos
__________________
|
|
#4
|
||||
|
||||
|
... mmmm, discreparía contigo de poner la consulta en el OnShow, ya que dicha consulta se ejecutará cada vez que, por ejemplo, pases de una aplicación a otra del propio windows, y tu form se 'oculte'. Al volver se ejecuta de nuevo el evento OnShow y se volverá a ejecutar la consulta sin ser necesario.
Pero esa sería otra discusión diferente. Aun así, no sé si eso puede o no tener influencia en tu 'parpadeo'. Sólo por probar, deberías sacar esa consulta del evento OnShow y colocarla por ejemplo en el OnCreate, que sólo se ejecutará una vez, al crear el Form. Hay varios temas en el foro sobre orden de llamada a los diferentes eventos OnShow, OnCreate, OnActivate y parecidos. Respecto a tu afirmación de que no haya nada en tu aplicación que llame al repintado del Grid, ese es precisamente el problema. Que no es que lo llames tu. Sino que el OnDrawColumnCell se ejecuta muchísimas veces sin tu ser consciente de ello. Lo llama el propio delphi cada vez que tenga que repintarse algo del Grid. Por ejemplo, al mover una ventana cualquiera de tu propia aplicación por encima del DBGrid, es necesario repintarlo, y por tanto se llama al evento OnDrawColumnCell. Por eso, seguramente sin darte cuenta, se estará llamando por algún lado a dicho evento, y es lo que te provoca el parpadeo del mismo.
__________________
Piensa siempre en positivo ! Última edición por gluglu fecha: 11-06-2007 a las 09:58:24. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Pintar un dbGRid | sebas78 | Gráficos | 5 | 22-07-2006 16:06:36 |
| Pintar Fila del DBGrid | Palmiro | Conexión con bases de datos | 2 | 05-04-2006 23:25:51 |
| pintar columna DBGRid | Coco_jac | Varios | 1 | 02-02-2006 23:54:59 |
| Pintar filas DbGrid | lunatiko | Varios | 5 | 05-07-2005 15:11:51 |
| Pintar Renglones en DBGRID | Enan0 | SQL | 2 | 15-02-2005 20:39:05 |
|