Aumentar El Tamaño De La Fuente


Objetivo: Aumentar El Tamaño De La Fuente
Hola a todos.

En el pequeño programa que estoy haciendo tengo una ventana en la cual hay un GridView, usando las bibliotecas Qt5 y la versión de gambas es la 3.9.2, que contiene números. Lo que pretendo es que cada vez que se redimensione el GridView el tamaño de la fuente aumente o disminuya en proporción al tamaño del GridView. He estado buscando, pero no he encontrado nada al respecto. ¿Alguien me puede ayudar?

Muchas gracias.

Un saludo.

Perfil MP  
Objetivo: Re: Aumentar El Tamaño De La Fuente
tiro una idea a lo mejor te sirve, con un select case fabrica un rango
que si el gridvied mide tanto de ancho y tanto de alto ponga tal tamaño de fuente, si tiene otro rango entonces otro tamaño de fuente etc.

jaja es que desconozco otro forma

saludos

Objetivo: Re: Aumentar El Tamaño De La Fuente
Guizans escribió: [Ver mensaje]
...una ventana en la cual hay un GridView...cada vez que se redimensione...el tamaño de la fuente aumente o disminuya en proporción.


Por ejemplo para un GridView llamado grwData
El gridView tiene una propiedad grwData.Font.Grade, eso es lo que tienes que meter en un código como por ejemplo:

Public Sub grwData_BeforeArrange()
grwData.Font.Grade = grwData.Height / 15
End


Es decir cada vez que el evento BeforeArrange sea lanzado cambiaran las propiedades del texto del gridview

Saludos.

Perfil MP  
Objetivo: Re: Aumentar El Tamaño De La Fuente (SOLUCIONADO)
Hola.

Gracias por contestar, pero ando un poco perdido. He estado haciendo pruebas y no consigo lo que quiero. Pero para intentar ordenar las ideas una pregunta, ¿para que sirve el método BeforeArrange? ¿Cuando es llamado?

A ver si estoy haciendo las cosas mal y por eso no me sale. Me explico. Tengo el GridView dentro de un contenedor Panel. Una vez que se abre la ventana, llama a un método, por ejemplo divide(), que sabiendo la altura y la anchura del Panel lo divido por las celdas que quiero, 15x5 en mi caso. A continuación llamo a un método, rellena(), que es el encargado de mostrar el texto en cada celda. Lógicamente ahí ya tendré que decirle que altura de texto quiero, ¿no?, supongo que el código que me ha pasado tincho. Muy bien, cada vez que se redimensiona la ventana tengo un método Form_Resize, que llama a su vez al método que divide y rellena. ¿Donde encaja el método BeforeArrange? Mi forma de hacerlo es incorrecta ya que no funciona, pero no soy capaz de ver donde me falla la lógica

Espero haberme explicado

Un saludo.

Edit: Acabo de descubrir el por que no aumentaba el tamaño de la fuente al redimensionar el GridView. En el método Form_Resize coloqué un GridView.Clear() y a partir de ahí hace exactamente lo que quiero.
Muchas gracias.

última edición por Guizans el Martes, 04 Julio 2017, 22:35; editado 1 vez
Perfil MP  
Objetivo: Re: Aumentar El Tamaño De La Fuente (SOLUCIONADO)
Guizans escribió: [Ver mensaje]
hace exactamente lo que quiero

Puedes mostrar el codigo con el cual solucionaste ?

Perfil MP  
Objetivo: Re: Aumentar El Tamaño De La Fuente
Citar:

Puedes mostrar el codigo con el cual solucionaste ?


No hay problema. Tengo un método que crea la cuadrícula del GridView en relación a la altura y anchura del panel donde está incrustado el GridView:
Private Sub redimensionar_tabla()

GridView2.Rows.Count = 5
GridView2.Columns.Count = 15

GridView2.Columns.Width = (Panel1.Width / 15)
GridView2.Rows.Height = (Panel1.Height / 5)
End


Otro método que se encarga de rellenar la cuadrícula con los números:

Private Sub rellena()

Dim a, b As Byte = 0
Dim cont As Byte = 1

For a = 0 To 4
For b = 0 To 14
aumentar = Int(GridView2[a, b].Height / 11)
GridView2.Font.Grade = aumentar
GridView2[a, b].Text = Str(cont)
GridView2[a, b].Font.Bold = True
GridView2[a, b].Alignment = Align.Center
Inc cont
Next
Next

End

Y por último el método Resize que es llamado cuando el usuario redimensiona la ventana. Y es en ese método donde coloco el GridView.Clear()
Public Sub Form_Resize()
GridView2.Clear()
redimensionar_tabla()
rellena()

End


Espero que te sirva.
Un saludo.

Perfil MP  
Objetivo: Re: Aumentar El Tamaño De La Fuente
interesante solución, aun no he usado .grade

gracias por compartir tu solución

Saludos

última edición por v3ctor el Jueves, 06 Julio 2017, 23:02; editado 1 vez
Objetivo: Re: Aumentar El Tamaño De La Fuente
Guizans escribió: [Ver mensaje]
No hay problema.

Muchas gracias.

Saludos.

Perfil MP  
Objetivo: Re: Aumentar El Tamaño De La Fuente (SOLUCIONADO)
Guizans escribió: [Ver mensaje]
... supongo que el código que me ha pasado tincho...

Si el método .Grade esta bastante interesante y ahorra bastante código.
Me alegro que lo hayas solucionado.
Saludos.

Perfil MP  
Objetivo: Re: Aumentar El Tamaño De La Fuente
Yo podría proponer este codigo, que tiene en cuenta eventual diferente ancho de las celdas.
Private GridView1 As GridView


Public Sub Form_Open()

Dim r, c As Short

With Me
.W = 520
.H = 390
End With

With GridView1 = New GridView(Me)
.X = 10
.Y = 10
.W = Me.W - 10
.H = Me.H - 10
.Rows.Count = 3
.Columns.Count = 6
End With

For r = 0 To GridView1.Rows.Max
GridView1.Rows[r].H = GridView1.H / GridView1.Rows.Count
Next

For r = 0 To GridView1.Rows.Max
For c = 0 To GridView1.Columns.Max
GridView1[r, c].Text = "Cella:" & String(c, " ") & CStr(r) & "-" & CStr(c)
Next
Next

End


Public Sub Form_Resize()

Dim r, c As Byte

GridView1.Resize(Me.W - (GridView1.X + 10), Me.H - (GridView1.Y + 10))

For c = 0 To GridView1.Columns.Max
GridView1.Columns[c].W = GridView1.W / GridView1.Columns.Count
Next
For r = 0 To GridView1.Rows.Max
GridView1.Rows[r].H = GridView1.H / GridView1.Rows.Count
Next

For r = 0 To GridView1.Rows.Max
For c = 0 To GridView1.Columns.Max
If GridView1.Columns[c].W > GridView1[r, c].Font.TextWidth(GridView1[r, c].Text) Then Inc GridView1[r, c].Font.Size
If GridView1.Columns[c].W < GridView1[r, c].Font.TextWidth(GridView1[r, c].Text) Then Dec GridView1[r, c].Font.Size
Next
Next

End

Perfil MP  

Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4855s (PHP: -74% SQL: 174%)
Consultas SQL: 47 - Debug off - GZIP Activado