Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
ScrollArea Barra Vertical
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje ScrollArea Barra Vertical 
 
Hola,

Estoy algo perdido con este control. Os cuento.

Tengo un TabPanel que tiene un DrawArea con una gráfica de gb.Chart pero las leyendas se han pasado de la zona vertical. Entonce me he puesto ha buscar otro control y he encontrado ScrollArea que me parece que es para este problema. Cambio básicamente el nombre y todo funciona igual, después en las propiedades de ScrollArea le pongo ScrollBar = Vertical pero no sale ninguna barra vertical y ahí me he quedao.

Por favor un empujoncito.

Muchas gracias.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ScrollArea Barra Vertical 
 
Tienes que usar el ScrollArea exactamente como el DrawingArea, excepto que:

1) Tienes que definir con el Metodo ".ResizeContents( )" el área de los contenidos que serán dibujados por el ScrollArea.

2)  Debes tener en cuenta los valores de las Propiedades .ScrollX y .ScrollY al dibujar dentro del gestor del evento _Draw( ) (al menos para las cosas que deben moverse con las barras de desplazamiento). Cuando el ScrollArea dibuja, este Objeto tiene que usar las propiedades .ScrollX y .ScrollY para saber cuánto tiene que trasladar lo que dibujas dentro del gestor del evento _Draw(). Es decir, con la ayuda de las Propiedades .ScrollX y .ScrollY tienes que decidir en qué coordenadas dentro de tu dibujo empiezas a dibujar en el ScrollArea.

Exemplum:

Public Sub Form_Open()

  With ScrollArea1
    .ResizeContents(ScrollArea1.W, ScrollArea1.H + 200)
    .ScrollBar = Scroll.Vertical
    .Background = Color.Lighter(Color.Yellow)
  End With

End

Public Sub ScrollArea1_Draw()

  With Paint
    .Brush = Paint.Color(Color.Blue)
    .LineWidth = 3.5
    .Ellipse(50, ScrollArea1.ScrollY, 200, 200)   ' o si prefieres: (...., - ScrollArea1.ScrollY, ......)
    .Stroke
    .End
  End With

End

 



 
última edición por vuott el Jueves, 10 Octobre 2019, 00:01; editado 4 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ScrollArea Barra Vertical 
 
gambafeliz escribió: [Ver mensaje]
...le pongo ScrollBar = Vertical pero no sale ninguna barra vertical y ahí me he quedao...

Tenes que ponerlo así:
ScrollView1.ScrollBar = Scroll.Vertical

Si te fijas bien vas a ver que la propiedad .ScrollBar es un entero.
Nota: Gambafeliz ya llevas tiempo aquí en el foro, por favor usa el marcado de código (C#) para que se pueda leer de forma mas agradable.
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ScrollArea Barra Vertical 
 
tincho escribió: [Ver mensaje]
gambafeliz escribió: [Ver mensaje]
...le pongo ScrollBar = Vertical pero no sale ninguna barra vertical y ahí me he quedao...

Tenes que ponerlo así:
ScrollView1.ScrollBar = Scroll.Vertical

Si te fijas bien vas a ver que la propiedad .ScrollBar es un entero.
Nota: Gambafeliz ya llevas tiempo aquí en el foro, por favor usa el marcado de código (C#) para que se pueda leer de forma mas agradable.
Saludos.


No se muy bien que es lo de C# en el foro pero te prometo que lo voy a hacer y buscar. Lo que me comentas pues yo me refería que lo he puesto en la parte gráfica de propiedades y no sale la barra de scroll pero ahora tras ponerlo por código ya sale siempre.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ScrollArea Barra Vertical 
 
vuott escribió: [Ver mensaje]


Muchisimas gracias, vuott.

Pero aunque me has ayudado mucho mucho sigo muy perdido. Te cuento.

1. Ya he conseguido gracias a ambos poner la barra de scroll
2. Pero la intento manejar pero me sale todo un churro. Me baja el gráfico y la barra en fin un desastre.
3. Una cosa que me vuelve loco y de verdad necesito que me ayuden es:

¿Como puedo saber el tamaño del gráfico para después poderlo manejar con el scroll?, yo antes de que el gráfico se pasara de Height tenia el gráfico fijo con unas dimensiones perfectas para que cupiera dentro del TabPanel pero ahora como es más grande, entiendo por sentido común que tengo que ponerlo mas grande y después manejarlo con el scroll ese nuevo tamaño pero para ello tengo que saber el tamaño que se va a generar y este para mi ahora mismo es un misterio.

Por favor, necesito mas ayuda no se si lo voy a conseguir, me parece muy difícil entender esta tarea.

Gracias de verdad por la ayuda.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ScrollArea Barra Vertical 
 
vuott escribió: [Ver mensaje]
Tienes que usar el ScrollArea exactamente como el DrawingArea, excepto que:



Os adjunto un ejemplo de cual es mi caso, por si me podéis ayudar mejor. Gracias.

scrollAreaTabPanel-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: scrollAreaTabPanel-0.0.1.tar.gz
Tamaño: 12.07 KB
Descargado: 27 veces
scrollAreaTabPanel-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: scrollAreaTabPanel-0.0.1.tar.gz
Tamaño: 12.07 KB
Descargado: 27 veces
scrollAreaTabPanel-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: scrollAreaTabPanel-0.0.1.tar.gz
Tamaño: 12.07 KB
Descargado: 27 veces

 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ScrollArea Barra Vertical 
 
La grafica de gb.chart debe ser "parte" (es decir un dibujo) del SCrollArea.
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ScrollArea Barra Vertical 
 
vuott escribió: [Ver mensaje]
La grafica de gb.chart debe ser "parte" (es decir un dibujo) del SCrollArea.


Gracias vuott y perdón, pero no te entiendo. Lo siento.

Te envío otra nueva versión donde he conseguido algo mas pero sigue sin funcionar bien. Lo paso por si, alguien ve la luz.

Gracias

Nota: No se si has visto el código pero quiero decirte que el gb.Chart esta dibujado dentro de ScrollArea1

scrollAreaTabPanel-0.0.3.tar.gz
Descripción:  
Descargar
Nombre del archivo: scrollAreaTabPanel-0.0.3.tar.gz
Tamaño: 12.14 KB
Descargado: 19 veces
scrollAreaTabPanel-0.0.3.tar.gz
Descripción:  
Descargar
Nombre del archivo: scrollAreaTabPanel-0.0.3.tar.gz
Tamaño: 12.14 KB
Descargado: 19 veces
scrollAreaTabPanel-0.0.3.tar.gz
Descripción:  
Descargar
Nombre del archivo: scrollAreaTabPanel-0.0.3.tar.gz
Tamaño: 12.14 KB
Descargado: 19 veces

 



 
última edición por gambafeliz el Jueves, 10 Octobre 2019, 21:03; editado 3 veces 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ScrollArea Barra Vertical 
 
Aquì tu codigo un po' modificado.
Tienes que activar el Componente grafico gb.gui.qt y cambiar la constante .Type = ChartType.PieRings con otra (por ejemplo con: .Columns) .

Private $goGrafico As New Chart
Private goEstadistica As New Estadistica
Private im As Image

Public Sub Form_Open()

   Dim sWhere As String
   Dim sSQL As String
   Dim fMayor As Float
   Dim aPorcentaje As Float[] = [20, 30, 40, 50, 10, 14, 12, 12, 12, 16, 29, 23, 30, 20, 30, 40, 50, 10, 14, 12, 12, 12, 16, 29, 23, 30, 20, 30, 40, 50, 10, 14, 12, 12, 12, 16, 29, 23, 30, 20, 30, 40, 50, 10, 14, 12, 12, 12, 16, 29, 23, 30, 20, 30, 40, 50, 10, 14, 12, 12, 12, 16, 29, 23, 30, 20, 30, 40, 50, 10, 14, 12, 12, 12, 16, 29, 23, 30]
   Dim n As Integer
   Dim aCategorias As String[] = ["tomate", "patatas", "leche", "a", "b", "c", "d", "agua", "queso", "miel", "pasteles", "lechuga", "pimientos", "tomate", "patatas", "leche", "a", "b", "c", "d", "agua", "queso", "miel", "pasteles", "lechuga", "pimientos", "tomate", "patatas", "leche", "a", "b", "c", "d", "agua", "queso", "miel", "pasteles", "lechuga", "pimientos", "tomate", "patatas", "leche", "a", "b", "c", "d", "agua", "queso", "miel", "pasteles", "lechuga", "pimientos", "tomate", "patatas", "leche", "a", "b", "c", "d", "agua", "queso", "miel", "pasteles", "lechuga", "pimientos", "tomate", "patatas", "leche", "a", "b", "c", "d", "agua", "queso", "miel", "pasteles", "lechuga", "pimientos"]

   goEstadistica.Estadistica($goGrafico, ScrollArea1, aPorcentaje, aCategorias, "Gastos", "2019")
  
  ScrollArea1.ResizeContents(ScrollArea1.W, ScrollArea1.H + 200)
  ScrollArea1.ScrollBar = Scroll.Vertical
  
  im = New Image(ScrollArea1.W, ScrollArea1.H)

  Paint.Begin(im)   ' Establece un objeto "Image"
  $goGrafico.Draw()  ' Dibuja la gráfica en el objeto "Image"
  Paint.End()

End


Public Sub ScrollArea1_Draw()
  
' Dibuja el contenido del objeto "Image" en el ScrollArea:
  Paint.DrawImage(im, ScrollArea1.ScrollX, -ScrollArea1.ScrollY)

End

 



 
última edición por vuott el Viernes, 11 Octobre 2019, 02:00; editado 4 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ScrollArea Barra Vertical 
 
vuott escribió: [Ver mensaje]
Aquì tu codigo un po' modificado.
Tienes que activar el Componente grafico gb.gui.qt y cambiar la constante .Type = ChartType.PieRings con otra (por ejemplo con: .Columns) .



vuott valoro muchísimo tu esfuerzo mil gracias, de verdad.

Pero cambiar la gráfica PieRings por Columns no me vale. No te lo he dicho pero mi variable "aPorcentaje" aunque en el ejemplo no se ve, la suma de esta variable da 100% lo que te intento explicar es que, la gráfica perfecta es PieRings, en el caso de Columns estos datos no se verían correctamente bien ya que serian muchas columnas y sería poco explicativo.

Tiene que ser con PieRings.

Ahora gracias a tu código se me ocurre una corrección a tu código que voy a probar.

Una pregunta, ¿has visto la versión 3 de mi código que he puesto?

vuott mil gracias y seguimos estudiando el problema, ya que todavía no hemos dado con la solución.

Saludos.

Nota:
Tu código último me da un error en:
$goGrafico.Draw()  ' Dibuja la gráfica en el objeto "Image"
Me dice que no existe la propiedad Background en la clase Image

scrollAreaTabPanel-0.0.4.tar.gz
Descripción: Nota: Esta versión si arrastras la barra hacia abajo y después la arrastras hacia arriba va a funcionar bien. El problema es que la barra siempre acompaña al Chart. Esta así funcionando. Os lo dejo por si alguien ve la luz. 
Descargar
Nombre del archivo: scrollAreaTabPanel-0.0.4.tar.gz
Tamaño: 12.4 KB
Descargado: 26 veces
scrollAreaTabPanel-0.0.4.tar.gz
Descripción: Nota: Esta versión si arrastras la barra hacia abajo y después la arrastras hacia arriba va a funcionar bien. El problema es que la barra siempre acompaña al Chart. Esta así funcionando. Os lo dejo por si alguien ve la luz. 
Descargar
Nombre del archivo: scrollAreaTabPanel-0.0.4.tar.gz
Tamaño: 12.4 KB
Descargado: 26 veces
scrollAreaTabPanel-0.0.4.tar.gz
Descripción: Nota: Esta versión si arrastras la barra hacia abajo y después la arrastras hacia arriba va a funcionar bien. El problema es que la barra siempre acompaña al Chart. Esta así funcionando. Os lo dejo por si alguien ve la luz. 
Descargar
Nombre del archivo: scrollAreaTabPanel-0.0.4.tar.gz
Tamaño: 12.4 KB
Descargado: 26 veces

 



 
última edición por gambafeliz el Viernes, 11 Octobre 2019, 07:46; editado 3 veces 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Problema Con Zoom En ScrollArea Shell General 5 Lunes, 13 Octobre 2014, 20:55 Ver último mensaje
Shell
No hay nuevos mensajes ScrollArea Para Señalizar Sensores jmgelectronika Sobre Gambas-es 3 Miercoles, 13 Abril 2016, 15:56 Ver último mensaje
jmgelectronika
No hay nuevos mensajes Texto Vertical tincho Aplicaciones/Fragmentos de Código 8 Lunes, 21 Noviembre 2016, 01:37 Ver último mensaje
vuott
No hay nuevos mensajes No Aparece El Scroll Vertical En Un Hpanel! v3ctor Controles/Librerías/Componentes 3 Miercoles, 27 Septiembre 2017, 21:54 Ver último mensaje
v3ctor
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron