Clase Draw Obsoleta A Partir De Gambas 3.4


Ir a la página Anterior  1, 2, 3

Objetivo: Re: Clase Draw Obsoleta A Partir De Gambas 3.4
Hola Jesús,

gracias por tu respuesta. La verdad es que no acabo de entenderlo del todo bien. Mi drawing area se llama dwa1. He puesto en primer lugar como FALSE la propiedad Cached del drawing area, como me aconsejabas, para evitar ese parpadeo. Después he probado dos cosas, una me funciona y otra no.

La que me funciona es coger todo el código que anteriormente tenía en un método de dibujo de un módulo y meterlo directamente en el evento Draw del drawing area (Si dwa1.Painted=FALSE debo incluir el Paint.Begin(Fain.dwa1)... Paint.End, pero si es TRUE no debo incluirlo porque me dará error). Cada vez que quiero dibujar llamo al método dwa1.Refresh. Con todo esto el parpadeo efectivamente desaparece.

La que no me funciona es dejar el método de dibujo en el módulo en el que estaba (incluído el Paint.Begin(Fain.dwa1)... Paint.End), y llamar a ese método mediante el evento dwa1.Refresh. En este caso me da un error "Cannot paint outside od Draw event handler". Es decir, no entiendo cómo hacer que:

Citar:
El truco consiste en crear métodos que dibujen lo que quieres y luego, dentro del evento _Draw llamas a esos métodos


Saludos

última edición por Alaplancha el Lunes, 21 Enero 2013, 22:49; editado 1 vez
Perfil MP  
Objetivo: Re: Clase Draw Obsoleta A Partir De Gambas 3.4
Alaplancha

Sin ver tu código no puedo saber por qué no funciona lo que haces. Si te parece bien, sube tu proyecto como adjunto o bien me lo envías en privado o email para echar un vistazo.
Lo que nunca se debe hacer es usar Paint.Begin ni Paint.End cuando se usa el evento draw para dibujar. Ni dentro del mismo ni fuera de él, porque en realidad siempre se pinta lo que se está ejecutando dentro de dicho evento, aunque sean métodos llamados desde ahí.

Otro consejo es que estudies el programa de ejemplo que viene con gambas3, "Painting" , creo que te dará una visión más clara de lo que hablamos.

Saludos

Perfil MP  
Objetivo: Re: Clase Draw Obsoleta A Partir De Gambas 3.4
Hola Jesús,

te quiero enviar el ejemplo que estoy haciendo. He conseguido llamar a un método desde Draw, pero el método ha de tener dentro su Paint.Begin...Paint.End. Indudablemente algo estoy haciendo mal.

Saludos

última edición por Alaplancha el Martes, 22 Enero 2013, 20:21; editado 2 veces
Perfil MP  
Objetivo: Re: Clase Draw Obsoleta A Partir De Gambas 3.4
Pablo, tienes el panel de control de publicación de adjuntos debajo de las opciones del mensaje que estás escribiendo.
Saludos

Objetivo: Re: Clase Draw Obsoleta A Partir De Gambas 3.4
Gracias, Dani,

uf, disculpad, no me aclaro todavía con el foro

Ahí va el pequeño ejemplo como adjunto.

Saludos.


Ejemplos_de_Paint.zip
Descripción:  
Descargar
Nombre del archivo: Ejemplos_de_Paint.zip
Tamaño: 10.46 KB
Descargado: 31 veces
Ejemplos_de_Paint.zip
Descripción:  
Descargar
Nombre del archivo: Ejemplos_de_Paint.zip
Tamaño: 10.46 KB
Descargado: 31 veces
Ejemplos_de_Paint.zip
Descripción:  
Descargar
Nombre del archivo: Ejemplos_de_Paint.zip
Tamaño: 10.46 KB
Descargado: 31 veces

Perfil MP  
Objetivo: Re: Clase Draw Obsoleta A Partir De Gambas 3.4
Alaplancha escribió: [Ver mensaje]
Hola Jesús,

te quiero enviar el ejemplo que estoy haciendo. He conseguido llamar a un método desde Draw, pero el método ha de tener dentro su Paint.Begin...Paint.End. Indudablemente algo estoy haciendo mal.

Saludos


Estoy probando tu ejemplo y lo primero que hecho es quitar o comentar el Paint.Begin y Paint.End del método del Mod1 y como era de esperar no hay ningún error. Funciona como es debido y además desaparece un error que daba el programa al cerrarse cuando esas líneas estaban activas. El error era en la línea 14 "Invalid Object" sin más detalles.

Lo cual corrobora mi punto de vista. Por lo tanto, me inclino a pensar que puede ser un fallo en tu versión de gambas. Yo uso siempre versiones SVN compiladas manualmente, por si ayuda en algo saberlo, jeje

Saludos

Perfil MP  
Ir a la página Anterior  1, 2, 3

Página 3 de 3


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4056s (PHP: -81% SQL: 181%)
Consultas SQL: 49 - Debug off - GZIP Activado