![]() |
![]() |
| 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
|
||||
|
||||
|
Pues seguro que se puede hacer metiéndote de lleno con el API de Windows y tal, pero hasta que llegue Seoane y nos lo resuelva puedes hacer más ligera la espera echando un vistazo a Allegro.pas que incluye un ejemplo de cómo hacerlo.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
|
#2
|
||||
|
||||
|
Alguien llamo a un doctor???
La técnica del doble buffer no es otra cosa que dibujar primero todo en un bitmap oculto y luego dibujar el bitmap en el formulario. Normalmente para dibujar el formulario primero se borra todo y luego se van dibujando cada uno de los controles, produciéndose el parpadeo, usando el buffer, vamos dibujando cada uno de los controles en un bitmap y luego dibujamos el bitmap sobre el formulario, evitando así el parpadeo. La propiedad DoubleBuffered lo que hace es interceptar el mensaje WM_PAINT, y obliga al formulario a dibujarse en un bitmap en vez de hacerlo directamente en la pantalla. No se hasta que punto te interesa hacer esto a ti, en el mejor de los casos tendrías que interceptar y manejar tu mismo el mensaje WM_PAINT, con todo el trabajo extra que eso supone. Aunque la técnica del doble buffer nos puede resultar útil en otros casos, por ejemplo, cuando estamos dibujando sobre un TImage o un TPaintbox alguna animación. El procedimiento habitual es dibujar un "frame" de la animación, borrar, dibujar el siguiente y volver a repetir la misma operación. Al borrar se produce el parpadeo del que hablábamos. El proceso con buffer sin embargo seria el siguiente: Crear un bitmap del mismo tamaño que el TImage o TPaintBox, dibujar el frame sobre el bitmap, dibujar el bitmap sobre el TImage o TPaintbox y repetir la operación. Como ves de esta manera se dibuja todo a la vez y sin necesidad de borrar primero lo anterior, lo que evita el parpadeo. Vaya rollo que he soltado ![]() |
|
#3
|
||||
|
||||
|
Gracias a todos por la información, esta buena y clara, pero será posible que alguno de ustedes puedan darme un pequeño ejemplo en código donde pueda ver ese double buffering.
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| crear aplicaciones para PDA's | DRAKOSPIKE | Varios | 2 | 05-12-2006 20:38:38 |
| Crear Aplicaciones con Delphi listas para Windows Vista | gluglu | Noticias | 1 | 06-11-2006 17:26:02 |
| ¿cómo crear un archivo ejecutable para aplicaciones en java? | rls | JAVA | 11 | 12-07-2006 17:42:39 |
| Ayuda con el Microsoft Help Workshop para crear las ayudas para aplicaciones en Delph | Lester | Varios | 2 | 19-06-2003 17:14:16 |
| Ayuda para crear mi propio IDE | antonio | Varios | 2 | 03-06-2003 13:07:32 |
|