Visual Basic - Reducir tamaño de letra gradualmente cuando el Listcount rebase cierto limite

Life is soft - evento anual de software empresarial
   
Vista:
Imágen de perfil de Rubhenn

Reducir tamaño de letra gradualmente cuando el Listcount rebase cierto limite

Publicado por Rubhenn (16 intervenciones) el 15/07/2015 17:09:50
Que tal, los molesto de nuevo con la siguiente cuestión. Quiero hacer un Itinerario de viaje de un autobús, y quisiera saber como hacer para que el tamaño de la letra donde se describe el itinerario vaya haciéndose mas pequeña conforme esta lista rebase un número determinado de elementos (en este caso el limite de elementos es 9, de modo que al elemento número 10 debiera reducirse al menos medio punto respecto al tamaño inicial de la letra), esto lo quiero hacer debido a que este itinerario va dentro de una cotización de renta de autobús, y tengo un espacio limite donde debo colocarlo.

Espero haberme explicado y que puedan ayudarme (es lo ultimo que le falta a mi proyecto).

Estoy utilizando Visual Basic 2013.

Gracias de antemano.!! Saludos.!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rubhenn

Reducir tamaño de letra gradualmente cuando el Listcount rebase cierto limite

Publicado por Rubhenn (16 intervenciones) el 16/07/2015 17:19:23
Ok..ya lo encontre..Gracias.!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rubhenn

Reducir tamaño de letra gradualmente cuando el Listcount rebase cierto limite

Publicado por Rubhenn (16 intervenciones) el 17/07/2015 20:31:34
Por si les sirve..ustedes pueden cambiar el (-9) y el 0.5 por el valor que deseen..-9 es mi tope, 0.5 es lo que gradualmente ira disminuyendo el tamaño de la fuente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Dim BA As Double
            Dim BB As Double
            Dim BC As Double
            BB = 100 'Es la mitad del espacio donde debe ir colocado el texto del itinerario sobre el eje Y
            BA = 350 'Es el punto en Y donde comienza a escribirse el itinerario y las escalas
            BC = 200
 
            'AT = Tamaño del texto que se va a poner
            'AC = Tamaño del campo en que se va a colocar ITINERARIO y Escalas
            Dim AT As Double 'Ancho del texto 
            Dim AC As Double 'Variable del Ancho del campo donde va AT
            AC = 355 'Asignación de valor del Ancho del Campo
            Dim TF As Int32 = 12 'Variable para asignar Tamaño de Fuente
            Dim TFN As Int32 'Variable para tomar el Temaño de Fuente nuevo
            Dim FD As Drawing.Font 'Variable asignada para Fuente Dinámica
 
 
            TFN = (TrasladosPasaje.Count - 9) * 0.5
            If TFN > 0 Then
                TF -= TFN
            Else
                TF = 12
            End If
 
            FD = New Drawing.Font("Segoe UI", TF, FontStyle.Regular, GraphicsUnit.World)
 
            'Palabra Itinerario y escalas del viaje
            'py = 373
            AT = eve.Graphics.MeasureString("ITINERARIO:", Fuente12Bold).Width / 2
            px = AC - AT
            BC = (eve.Graphics.MeasureString("•  ", FD).Height * TrasladosPasaje.Count) / 2
 
            py = BA + BB - BC + TrasladosPasaje.Count
            eve.Graphics.DrawString("ITINERARIO:", Fuente12Bold, Brush, New Point(px, py))
            py += 15
 
            For i As Int32 = 0 To TrasladosPasaje.Count - 1
                If TrasladosPasaje(i).Destino <> "" Then
                    AT = eve.Graphics.MeasureString("•  " & TrasladosPasaje(i).Origen & "  -  " & TrasladosPasaje(i).Destino, FD).Width / 2
                    px = AC - AT
                    eve.Graphics.DrawString("•  " & TrasladosPasaje(i).Origen & "  -  " & TrasladosPasaje(i).Destino, FD, Brush, New Point(px, py))
                    py += TF + 1
                End If
            Next
            py += Rn

Saludos.!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar