El ratón al moverse deja "rastro" en las reglas
- Antonio Linares
- Site Admin
- Posts: 42508
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 30 times
- Been thanked: 72 times
- Contact:
El ratón al moverse deja "rastro" en las reglas
Lo primero: vamos a localizar desde donde se dibujan las líneas...
Re: El ratón al moverse deja "rastro" en las reglas
Te refieres al rastro en la regla, no?
La linea aparece mas gruesa
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
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
- Antonio Linares
- Site Admin
- Posts: 42508
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 30 times
- Been thanked: 72 times
- Contact:
Re: El ratón al moverse deja "rastro" en las reglas
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
Estoy probandolo en un laptop antiguo (Mac blanco) y se le amontonan los repintados apareciendo a veces como un código de barras
Re: El ratón al moverse deja "rastro" en las reglas
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
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
Re: El ratón al moverse deja "rastro" en las reglas
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: Select all | Expand
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: Select all | Expand
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: Select all | Expand
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
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
- Antonio Linares
- Site Admin
- Posts: 42508
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 30 times
- Been thanked: 72 times
- Contact:
Re: El ratón al moverse deja "rastro" en las reglas
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![Smile :-)](./images/smilies/icon_smile.gif)
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
![Smile :-)](./images/smilies/icon_smile.gif)
Re: El ratón al moverse deja "rastro" en las reglas
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
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
Re: El ratón al moverse deja "rastro" en las reglas
Antonio
Sería algo asi?
Sería algo asi?
Code: Select all | Expand
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
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
Re: El ratón al moverse deja "rastro" en las reglas
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 ...
Last edited by mastintin on Sat Aug 16, 2014 10:06 am, edited 2 times in total.
Re: El ratón al moverse deja "rastro" en las reglas
Efectivamente, ya lo habia modificado yo en mi prg
Y de lo del InvertRect, cómo lo ves?
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
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
Re: El ratón al moverse deja "rastro" en las reglas
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
![Sad :-(](./images/smilies/icon_sad.gif)
¿una opción seria usar DrawFocusRect ?
- Antonio Linares
- Site Admin
- Posts: 42508
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 30 times
- Been thanked: 72 times
- Contact:
Re: El ratón al moverse deja "rastro" en las reglas
Cristobal,
Si, ese parece ser el código, lo único es que el hDC hay que generarlo:
hDC = oRulerBmp1:GetDC()
lo usamos...
oRulerBmp1:ReleaseDC()
Si, ese parece ser el código, lo único es que el hDC hay que generarlo:
hDC = oRulerBmp1:GetDC()
lo usamos...
oRulerBmp1:ReleaseDC()
Re: El ratón al moverse deja "rastro" en las reglas
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.
- Antonio Linares
- Site Admin
- Posts: 42508
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 30 times
- Been thanked: 72 times
- Contact:
Re: El ratón al moverse deja "rastro" en las reglas
Manuel,
Borrado y subido al repositorio, gracias!![Smile :-)](./images/smilies/icon_smile.gif)
Borrado y subido al repositorio, gracias!
![Smile :-)](./images/smilies/icon_smile.gif)