Page 1 of 1
Test de pintado - Carlos
Posted: Fri Sep 14, 2007 5:38 pm
by Antonio Linares
Usando este ejemplo, con Vista 32, no _ de que aparezca un error de pintado. Podeis intentar conseguir el error con este ejemplo ? gracias
Code: Select all
#include "FiveWin.ch"
function Main()
local oWnd
DEFINE WINDOW oWnd COLOR "W/G"
ACTIVATE WINDOW oWnd
return nil
Posted: Fri Sep 14, 2007 6:16 pm
by sjingo
No tengo Windows Vista , pero con una ventana sencilla aquí tampoco da problemas. Parece que surge cuando insertamos un control FW con bitmaps. Pruébale colocando un buttonbar con unos cuantos botones incluida la imagen de cada boton, o una imagen de de fondo.
Un saludo
Marcelo Jingo
Posted: Fri Sep 14, 2007 6:34 pm
by Antonio Linares
Marcelo,
usando samples\Fwborl.prg tampoco conseguimos que falle
Posted: Sat Sep 15, 2007 4:10 am
by sjingo
Probé el samples\Fwbrl.prg, y efectivamente no se presenta el problema y la aplicación va muy bien casi sin consumir recursos al mover la ventana. Todo va de perlas.
Así que sólo por probar le agregé un recurso .RC de los que uso en mis aplicaciones compilándolo junto con el Fwbrl.prg. En el código no hice ninguna llamada que use algún bmp de este RC . Lo ejecuté y ¡Apareció el error!.
Entonces dedusco que el problema está en la forma de usar los recursos, a lo mejor, como en mi caso lo estamos llenando con bmps muy grandes, haciendo que en el executable se carge todo volviéndolo pesado. Al menos eso parece.
Algún buen consejo para usar los recursos, es mejor que estén compilados con el exe o en dlls.....?
Vean la imagen de la prueba
Saludos
Marcelo Jingo
Posted: Sat Sep 15, 2007 7:30 am
by Antonio Linares
Marcelo,
Que hay en el RC ?
Posted: Sat Sep 15, 2007 7:59 am
by Antonio Linares
PROBLEMA SOLUCIONADO:
Efectivamente Paco tenía razón y faltaba ese cero. La cuestión es donde ponerlo correctamente:
En la clase TWindow:
METHOD EndPaint() INLINE ::nPaintCount--,;
EndPaint( ::hWnd, ::cPS ), ::cPS := nil, ::hDC := nil, 0
Observen
el cero al final. Problema del brush solucionado!
Posted: Sat Sep 15, 2007 10:47 am
by Carlos Mora
Buenos días por la lista,
al final era una cosa sencilla, tal como habia dicho. Para colmo la solución siempre estuvo ahí, porque en mis pruebas tengo un TXBrowse que siempre se pintaba bien, pero miraba en el código de la clase y siempre buscaba algo en el método Paint pero (lamentablemente) nunca miré en el Display, donde ya estaba la respuesta. Es un pelín frustrante
. Pero sirve para aprender, ya casi puedo recitar los mensajes de windows de memoria y leer la MSDN en inglés en voz alta.
Un saludo,
Carlos.
Posted: Sat Sep 15, 2007 2:08 pm
by sjingo
Es verdad, realicé el cambio como dice Antonio y le adjunte al Fwbrl.prg compilado con el recurso mencionado, y desapareció el problema. Lo mismo hice a mis aplicaciones y ya no quedan esas horribles líneas. Lo que si noté es que se mantiene una lentitud en el repintado; pero que insisto creo que es debido a mi recurso en donde tengo muchos bmps, pero eso ya es otro asunto.
Gracias a todos por haber solucionado este problema estético.
Un saludo
Marcelo Jingo