https://foro.gambas-es.org/viewtopic.php?f=5&t=2898
-----------------------------------
jsbsan
Domingo, 17 Febrero 2013, 12:27

Ejemplo De Uso Del Contenedor ScrollView
-----------------------------------
Os dejo el enlace a mi blog sobre un ejemplo que he hecho sobre el contenedor ScrollView.

Tuve muchos problemas para realizarlos, ya que no conseguia "coger los objetos" cuando movia las scrollbar para cambiar las vistas.

Al final. Shordi me dio las pistas para solucionar el problema, ya que era un problema con las coordenas absolutas (ScreeenX y ScreenY), y las coordenadas relativas (X e Y) de los objetos

[url=http://jsbsan.blogspot.com.es/2013/02/ejemplo-de-uso-del-contenedor-scrollview.html]http://jsbsan.blogspot.com.es/2013/02/ejemplo-de-uso-del-contenedor-scrollview.html
[img]http://4.bp.blogspot.com/-HyX7F-CnDas/UR_w47aJKLI/AAAAAAAAC5c/eKuxCdTq3tA/s320/ejemplo+de+uso+de+scrollview.png[/img]


-----------------------------------
shordi
Domingo, 17 Febrero 2013, 20:01

Re: Ejemplo De Uso Del Contenedor ScrollView
-----------------------------------
Mola. Al final ha quedado muy bien.

Saludos.


-----------------------------------
Shell
Lunes, 04 Marzo 2013, 12:26

Re: Ejemplo De Uso Del Contenedor ScrollView
-----------------------------------
Julio:

No olvides usar with, si te es mas cómodo, para que no tengas que escribir mas de la cuenta.  ;-) 

Ejemplo:
[code linenumbers=false syntax=gambas]
 Public Sub ToolButtonMuneco_Click()
  
  Dim temporalpicture As ClassMejorPictureBox

  temporalpicture = New ClassMejorPictureBox(ScrollView1)
  temporalpicture.Picture = imagenBuenos
  temporalpicture.w = imagenBuenos.w / escalafoto
  temporalpicture.h = imagenBuenos.h / escalafoto
  temporalpicture.Stretch = True
  Object.Attach(temporalpicture, fmain, "Obs")
  temporalpicture.x = 420
  temporalpicture.y = 300
  temporalpicture.tipo = "Buenos"
  temporalpicture.indice = 0
  temporalpicture.texto = "Muñeco " & Str$(arrayBox.count)
  arrayBox.Add(temporalpicture)
  
End
[/code]

Puedes hacerlo:

[code linenumbers=false syntax=gambas]
Public Sub ToolButtonMuneco_Click()

 Dim temporalpicture As ClassMejorPictureBox

 temporalpicture = New ClassMejorPictureBox(ScrollView1)
  With temporalpicture
    .Picture = imagenBuenos
    .w = imagenBuenos.w / escalafoto
    .h = imagenBuenos.h / escalafoto 
    .Stretch = True
    .X = 420
    .Y = 300
    .tipo = "Buenos"
    .indice = 0
    .Texto = "Muñeco" & Str$(arrayBox.count)
  End With       
  Object.Attach(temporalpicture, fmain, "Obs")
  arrayBox.Add(temporalpicture)
End
[/code]

La función del componente es la de mostrar una imagen y poder desplazarte con las barras para ver la imagen si faltase algo,¿ no ?. 

Saludos


-----------------------------------
jsbsan
Lunes, 04 Marzo 2013, 15:26

Re: Ejemplo De Uso Del Contenedor ScrollView
-----------------------------------
Shell:
[quote]La función del componente [/quote]
No es un componente, es un ejemplo de uso de scrollview.

¿para que sirve?
Es un ejemplo.... sirve para poder seleccionar los iconos de "Arbol" o de "Muñeco" y llevarlos de un sitio a otro del fondo... volverlos a coger y cambiarlos de sitio...(que es lo que me dio muchos problemas, porque al moverlos la primera vez, luego no habia forma de volverlos a  seleccionar).

Utilidades:
Para juegos: imagina que tienes un mapa muy grande que no cabe en el formulario, metes ese mapa (o lo dibujas si son titles) en el scrollviews... luego las unidades (soldados, vehiculos, etc) para moverlos de sitios, los puedes coger y soltar donde te interese del mapa (simplemente al soltarlo le das al vehiculo la nueva ubicación que quieres que tenga.... con algun algoritmo de pathfinder, buscará la ruta "optima" para llegar a ese sitio que le has dicho...)


Otras utilidades: Hacer montajes de fotos...imaginate que tienes un fondo muy grande y quieres poner unas fotos más pequeñas distribuidas en la imagen de fondo... puedes moverlas y ver como quedan...


[code linenumbers=false syntax=gambas]With[/code]Si es verdad queda mejor usandolo.


-----------------------------------
Shell
Lunes, 04 Marzo 2013, 20:24

Re: Ejemplo De Uso Del Contenedor ScrollView
-----------------------------------
Julio:

Bueno,es un ejemplo con un componente o control.  ;-) 

Pero vamos, que  puede ser que tengas una imagen muy grande que no se puede ver en
en un espacio reducido o área y moviendo las scrollbars te desplazas y ves el resto de la imagen.

En cierta manera es el único  contenedor que permitiría mas objetos dentro de un espacio que
no ves. Un Panel tiene unas medidas y de este no te sales, en cambio ScrollView permite aun mas.

Saludos


