tImage:lAutoScroll no funciona bien en ejecución
Publicado: Mié May 09, 2012 1:45 pm
Hola,
A ver si me se explicar.
Creo una imagen por código:
WITH OBJECT ::oImage1 := TImageEditor():New( Self )
:SetBounds( 8, 8, 818, 610 )
:nAnchors := akALL
:lAutoScroll := .F.
:Create()
END
Como se ve en el código le indico que el lAutoScroll es .F.
Cargo una imagen y efectivamente las barras de scroll no aparecen.
Sin embargo... si aumento el nivel de zoom de la imagen y le cambio el
lAutoScroll a .T. se muestra unos instantes y desaparece. Si vuelvo a
aumentar el nivel de zoom hace el mismo efecto... Si embargo si quito zoom
de tal manera que la imagen ya no necesita las barras, entonces ahí si que
las deja.
Es decir, en un slider (trackbar) ponemos esto:
METHOD ZoomChange( oSender ) CLASS TForm1
::oImage1:nZoom := oSender:nValue
::oImage1:lAutoScroll := IIF( oSender:nValue > 100, .T., .F. )
RETURN Nil
Cuando pasa de 100 (el autoscroll está a .T.) se muestra unos instantes y
desaparece...
Cuando está por debajo de 100 se quedan las barras de scroll si antes
habíamos pasado de 100, si vamos directamente a un valor inferior a 100 no
las muestra.
¿Es algo que se tiene que corregir? O es algo que no estoy haciendo bien...
Saludos,
José Luis Capel
PD: josé, en el proyecto imgProcess pones el método ZoomChange que hay más
arriba. Pon una imagen grande y prueba...
A ver si me se explicar.
Creo una imagen por código:
WITH OBJECT ::oImage1 := TImageEditor():New( Self )
:SetBounds( 8, 8, 818, 610 )
:nAnchors := akALL
:lAutoScroll := .F.
:Create()
END
Como se ve en el código le indico que el lAutoScroll es .F.
Cargo una imagen y efectivamente las barras de scroll no aparecen.
Sin embargo... si aumento el nivel de zoom de la imagen y le cambio el
lAutoScroll a .T. se muestra unos instantes y desaparece. Si vuelvo a
aumentar el nivel de zoom hace el mismo efecto... Si embargo si quito zoom
de tal manera que la imagen ya no necesita las barras, entonces ahí si que
las deja.
Es decir, en un slider (trackbar) ponemos esto:
METHOD ZoomChange( oSender ) CLASS TForm1
::oImage1:nZoom := oSender:nValue
::oImage1:lAutoScroll := IIF( oSender:nValue > 100, .T., .F. )
RETURN Nil
Cuando pasa de 100 (el autoscroll está a .T.) se muestra unos instantes y
desaparece...
Cuando está por debajo de 100 se quedan las barras de scroll si antes
habíamos pasado de 100, si vamos directamente a un valor inferior a 100 no
las muestra.
¿Es algo que se tiene que corregir? O es algo que no estoy haciendo bien...
Saludos,
José Luis Capel
PD: josé, en el proyecto imgProcess pones el método ZoomChange que hay más
arriba. Pon una imagen grande y prueba...