FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Evitar el refresco de un TImage como fondo de un form
Hola compañeros del foro !
Tengo una imagen de fondo en un TImage en un form. También tengo iconos sobre la misma imagen que logro mover y cambiar de sitio en tiempo de ejecución. Pero mi problema es que cada vez que muevo el icono, me provoca un refresco indeseado de la imagen que resulta en un 'flickeo' de la imagen de fondo bastante desagradable. Habrá manera de evitar ese 'flickeo' de la imagen de fondo mientras estoy ejecutando la operación de movimiento de mi icono ? Muchas gracias por vuestra ayuda.
__________________
Piensa siempre en positivo ! |
#2
|
||||
|
||||
Cita:
Si por el contrario, no dispones de esa propiedad por tratarse de una versión antigua de delphi no te quedara mas remedio que crear tu internamente un buffer y manejar todos los gráficos tu mismo por código. Aunque no se si te compensara tanto trabajo. |
#3
|
||||
|
||||
Gracias Domingo !
Qué rapidez ! Ya lo he probado. Por cierto, nuestro estimado compañero David en su momento me permitió crear mi avatar con la versión de Delphi y la base de datos que utilizo, ... y en ella se vé que estoy utilizando Delphi 9 , o en este caso más avanzado, Delphi 2006, en su versión VCL.net Con el DobleBuffered := True funciona bien el 'no' refresco del TImage de fondo, aunque se refresca al final del todo y aun se nota el 'flickeo'. Lo que pasa es que en el caso de poner la propiedad DobleBuffered a verdadero, no me muestra el movimiento del icono que estoy moviendo, con lo cual el efecto tampoco es el deseado, porque hasta que no dejo de mover el ratón, no se muestra la posición en la que he dejado el icono. Por lo tanto, no me sirve esta opción. Lo raro, y es por lo que inicié este hilo, es que con cualquier otro form creado como MDIChild, que es mi caso, al moverlo no me produce el dichoso parpadeo, pero con un icono posicionado (y moviéndolo) sobre el mismo form principal, si que se me dá el parpadeo.
__________________
Piensa siempre en positivo ! |
#4
|
||||
|
||||
A lo mejor lo que esta "fallando" es el código que utilizas para mover el icono. Si pudieras poner un poco de código, le echábamos un vistazo.
|
#5
|
||||
|
||||
El icono, y dos labels asociados, los muevo con los eventos OnMouseDown, OnMouseMove y OnMouseUp :
El TImage tiene cargada una imagen JPG, y la propiedad Strech := True, con el TImagen ocupando todo el fondo del form MDIForm principal, con la propiedad Align := alClient;
__________________
Piensa siempre en positivo ! |
#6
|
||||
|
||||
Yo para hacer esto, suelo emplear un código parecido, aunque uso solo un evento. Por ejemplo, aquí tengo una imagen que ocupa todo el formulario (Streach:= TRUE; Align:= alClient; ) y otra mas pequeña que es la que muevo. En el evento OnMouseMove de esta última coloco los siguiente:
Siendo AnteriroP una variable declarada de la siguiente manera:
Este ejemplo, una vez coloca la propiedad DoubleBuffered a TRUE no muestra ningún tipo de parpadeo, y la imagen 2 se puede mover perfectamente. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Color de fondo de un TImage | Drake | OOP | 1 | 03-08-2006 19:36:36 |
Omagen de fondo Form MDI | silviodp | OOP | 1 | 24-12-2004 12:05:45 |
Como evitar que el usuario cierre la form! | Waldo | API de Windows | 2 | 20-11-2003 18:46:47 |
Como mover un Timage por la form | Dantael | Gráficos | 1 | 17-11-2003 07:46:56 |
Imagen de Fondo en form | lafirma | OOP | 1 | 28-08-2003 18:59:41 |
|