FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index EasyReport, EasyDialog y EasyPreview El rat贸n al moverse deja "rastro" en las reglas
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
El rat贸n al moverse deja "rastro" en las reglas
Posted: Fri Aug 15, 2014 03:29 PM

Lo primero: vamos a localizar desde donde se dibujan las l铆neas...

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: El rat贸n al moverse deja "rastro" en las reglas
Posted: Fri Aug 15, 2014 04:34 PM

aqui no me deja ning煤n rastro ... 驴?

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: El rat贸n al moverse deja "rastro" en las reglas
Posted: Fri Aug 15, 2014 05:06 PM

Te refieres al rastro en la regla, no?
La linea aparece mas gruesa

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: El rat贸n al moverse deja "rastro" en las reglas
Posted: Fri Aug 15, 2014 06:46 PM

Imagino que debe estar relacionado con la velocidad del ordenador y de la tarjeta gr谩fica.

Estoy probandolo en un laptop antiguo (Mac blanco) y se le amontonan los repintados apareciendo a veces como un c贸digo de barras

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: El rat贸n al moverse deja "rastro" en las reglas
Posted: Fri Aug 15, 2014 07:28 PM

Yo uso un I7 y a煤n y asi se nota el efecto en las reglas

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: El rat贸n al moverse deja "rastro" en las reglas
Posted: Fri Aug 15, 2014 08:19 PM
Antonio Linares wrote:Lo primero: vamos a localizar desde donde se dibujan las l铆neas...


Es en la function

FUNCTION SetReticule( nRow, nCol, nArea )


de EReport.Prg

Movimiento vertical del raton: no funciona demasiado mal porque solo pinta en el 谩rea en el que estamos posicionados
Code (fw): Select all Collapse
聽 聽aRuler[nArea,2]:Move( nRowPos, 0, ;
聽 聽 聽 IIF( lShow, ER_GetPixel( oGenVar:aAreaSizes[nArea,1] ) + nRuler, nRuler ), 1, .T. )


Movimiento Horizontal del rat贸n: aqu铆 viene el problema porque ha de pintar en todas las reglas de todas las 谩reas
Code (fw): Select all Collapse
聽 聽AEVAL( aRuler, {|x,y| IIF( x[1] <> NIL, ;
聽 聽 聽 ( x[1]:Move( nRulerTop-nRuler, nColPos, 1, ;
聽 聽 聽 聽 聽 IIF( lShow, ER_GetPixel( oGenVar:aAreaSizes[y,2] ) + nRuler, nRuler ), .T. ) ), ) } )


Si sustitu铆mos el c贸digo anterior, por:
Code (fw): Select all Collapse
聽 聽aRuler[nArea,1]:Move( nRulerTop-nRuler, nColPos, 1, ;
聽 聽 聽 聽 聽 IIF( lShow, ER_GetPixel( oGenVar:aAreaSizes[nArea,2] ) + nRuler, nRuler ) )

mejora significativamente, porque s贸lo pinta en la regla del 谩rea en que nos encontramos, igual que en el movimiento vertical
Para mi me vale de momento, qu茅 opinas?

Adem谩s, en el msgbar s贸lo pinta la fila en relaci贸n al 谩rea en que estamos situados (posici贸n relativa)
Creo que ser铆a conveniente ver la forma de poner adem谩s la posici贸n de la fila absoluta respecto al inicio del listado
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: El rat贸n al moverse deja &quot;rastro&quot; en las reglas
Posted: Fri Aug 15, 2014 09:54 PM

Cristobal,

he probado lo que comentas pero necesitamos que se pinte en todas las areas.

Por lo que veo usa un SAY (la l铆nea) y lo va moviendo. Eso no es nada eficiente.

Deber铆ams usar InvertRect() para dibujar esas l铆neas y quitar los SAYs. Eso haria que funcionase muy r谩pido, espero :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: El rat贸n al moverse deja &quot;rastro&quot; en las reglas
Posted: Fri Aug 15, 2014 09:59 PM

Ok, vamos a seguir

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: El rat贸n al moverse deja &quot;rastro&quot; en las reglas
Posted: Sat Aug 16, 2014 08:27 AM
Antonio
Ser铆a algo asi?
Code (fw): Select all Collapse
聽 聽if !empty( aOldRect )
聽 聽 聽 InvertRect( oRulerBmp1:hDC , aOldRect )
聽 聽endif
聽 聽aNewRect := { nRulerTop - nRuler, nColPos, nRulerTop, nColPos }
聽 聽InvertRect( oRulerBmp1:hDC , aNewRect )
聽 聽aOldRect := aNewRect

// aOldRect y aNewRect son variables static
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: El rat贸n al moverse deja &quot;rastro&quot; en las reglas
Posted: Sat Aug 16, 2014 09:54 AM

Mirando el C贸digo veo que se usa la misma variable publica para dibujar todas las "reglas" ( oRulerBmp2 ) , ya que estamos con ello creo que se deber铆a cambiar y usar dos arrays aRulerbmp1 y aRulerbmp2 uno con las "reglas" horizontales y otra con las verticales , de paso que estas "reglas" sean DATAs de oApp as铆 podr铆amos acceder a ellas individualmente sise necesitase ...

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: El rat贸n al moverse deja &quot;rastro&quot; en las reglas
Posted: Sat Aug 16, 2014 09:56 AM

Efectivamente, ya lo habia modificado yo en mi prg
Y de lo del InvertRect, c贸mo lo ves?

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: El rat贸n al moverse deja &quot;rastro&quot; en las reglas
Posted: Sat Aug 16, 2014 09:58 AM
cnavarro wrote:Efectivamente, ya lo habia modificado yo en mi prg
Y de lo del InvertRect, c贸mo lo ves?

Por cierto InvertRect( oRulerBmp1:hDC , aOldRect ) entiendo que invierte el color de lo dibujado . 驴 Es as铆 ? , porque entonces no servir铆a ya que al ser el fondo gris el inverso ser铆a un gris mas claro que ni siquiera se ver铆a ... tendr铆a que dibujar una linea negra ...
He intentado hacer algo con invertRect pero no me sale nada :-)

驴una opci贸n seria usar DrawFocusRect ?
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: El rat贸n al moverse deja &quot;rastro&quot; en las reglas
Posted: Sat Aug 16, 2014 10:32 AM

Cristobal,

Si, ese parece ser el c贸digo, lo 煤nico es que el hDC hay que generarlo:

hDC = oRulerBmp1:GetDC()
lo usamos...
oRulerBmp1:ReleaseDC()

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: El rat贸n al moverse deja &quot;rastro&quot; en las reglas
Posted: Sat Aug 16, 2014 10:38 AM

el archivo point.c se puede eliminar del enlazado solo sustituyendo las llamadas de ER_LPTODP por LPTODP y las de ER_DPTOLP por DPTOLP.

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: El rat贸n al moverse deja &quot;rastro&quot; en las reglas
Posted: Sat Aug 16, 2014 10:47 AM

Manuel,

Borrado y subido al repositorio, gracias! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com