es posible crear ... ? (SOLUCIONADO, mas o menos)

Post Reply
JESUS MARIN
Posts: 91
Joined: Wed Jan 02, 2019 8:36 am

es posible crear ... ? (SOLUCIONADO, mas o menos)

Post by JESUS MARIN »

Hola a todos.

Es posible crear un objeto imagen (con un determinado tamaño ), sin recurso o fichero ?

vamos, un objeto imagen virtual.

Gracias

Jesús Marín
FWH 6.12
Last edited by JESUS MARIN on Fri Jan 17, 2020 9:10 am, edited 1 time in total.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: es posible crear ... ?

Post by Antonio Linares »

Si, Windows proporciona la capacidad de hacerlo

Que necesitas hacer luego con ese objeto imagen ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
JESUS MARIN
Posts: 91
Joined: Wed Jan 02, 2019 8:36 am

Re: es posible crear ... ?

Post by JESUS MARIN »

Buenos días Antonio.
Dentro de ese objeto imagen, quiero colocar otros objetos (imágenes, xbrowse, ….)
El tamaño sería variable, por lo que necesito poder cambiarlo en ejecución.

Por ejemplo, en un mantenimiento de artículos quiero poner artículos relacionados ( de la misma familia, artículos similares, variantes de color).

La imagen puede contener docenas de artículos relacionados y por tanto la imagen contenedora (que ya he implementado como moverme por ella ), contiene los datos.

Image

Image
JESUS MARIN
Posts: 91
Joined: Wed Jan 02, 2019 8:36 am

Re: es posible crear ... ? (SOLUCIONADO, mas o menos)

Post by JESUS MARIN »

Buenas a todos.
No he creado la imagen virtual (seguiré investigando), pero voy avanzando con este nuevo control.
Ya lo puedo redimensionar en tiempo de ejecución.
Básicamente es ir haciendo zoom a la imagen de base. Esto cambia el tamaño. Obviamente no puede utilizarse para una imagen tipo plantilla, pero si para imágenes planas.
Os iré contando como voy avanzando, pero me parece que puede quedar muy bien.

El código para redimensionar es este :

Code: Select all


METHOD ResizeInf( nHeight)


LOCAL nZoom:=0
LOCAL N:=1

// POSICIONA LA IMAGEN ARRIBA

IF ::nX<0
   DO WHILE .T.
      IF ::nX>=0 ; EXIT ; ENDIF
      ::ScrollDown()
   ENDDO
ENDIF
::oNewScroll:nTop:=1
::oNewScroll:Refresh()


::Zoom(1)
::Refresh()

nZoom:=(nHeight/::nHeight)
::Zoom(nZoom)
::Refresh()

// RECALCULAR TAMAÑO SCROLL 
::nNewScrollDiferencial := ::nHeight/(::oWnd:nHeight)
::oNewScroll:nHeight:= (::oWnd:nHeight/::nNewScrollDiferencial)
::oNewScroll:nHeight:=::oNewScroll:nHeight+5
::oNewScroll:nTop:=1
::oNewScroll:Refresh()

RETURN(NIL)


 
Y como una imagen vale mas que mil palabras
OBJETO REDIMENSIONADO AL TAMAÑO (ALTURA) NECESARIO
Image
Post Reply