Test de pintado - Carlos

Post Reply
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Test de pintado - Carlos

Post 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
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
sjingo
Posts: 229
Joined: Sat Mar 18, 2006 3:42 pm
Location: Ibarra-Ecuador

Post 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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Marcelo,

usando samples\Fwborl.prg tampoco conseguimos que falle
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
sjingo
Posts: 229
Joined: Sat Mar 18, 2006 3:42 pm
Location: Ibarra-Ecuador

Post 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

Image

Saludos

Marcelo Jingo
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Marcelo,

Que hay en el RC ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post 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! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Carlos Mora
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Post 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. :D

Un saludo,

Carlos.
User avatar
sjingo
Posts: 229
Joined: Sat Mar 18, 2006 3:42 pm
Location: Ibarra-Ecuador

Post 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
Post Reply