Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: raul338 en Mayo 17, 2012, 12:19:05 pm

Título: Form con Fuente ajustable
Publicado por: raul338 en Mayo 17, 2012, 12:19:05 pm
Holas!
Vieron que en los navegadores esta el efecto de agrandar la web tanto como quieran con Control y + (o con la ruedita del mouse también). Y que en algunas paginas de noticias por ej, hay botones para agrandar y achicar la fuente?

Me gustaría hacer algo así en vb. Un formulario que tenga botones para agrandar la fuente de TODOS los formularios del proyecto, y que el programa se siga viendo bien. Como harían ustedes?

Estaba haciendo el proyecto en PHP con otras yerbas pero se me complico un poco a la hora de hacer un par de cosas que en vb lo haría en seguida :P así que bueno, espero su ayuda
Título: Re:Form con Fuente ajustable
Publicado por: 79137913 en Mayo 17, 2012, 12:48:21 pm
HOLA!!!

La solucion para que modifique todos es modificar los archivos ini que leerian los forms al abrirse.

GRACIAS POR LEER!!!
Título: Re:Form con Fuente ajustable
Publicado por: raul338 en Mayo 17, 2012, 01:09:05 pm
Me referia más a como acomodar todo, Imagina esta estructura

[menu]
[Productos]
[Agregar] [Buscar]
[ListView de productos]
(en caso de haber un producto seleccionado) [Editar] - [Eliminar] - [Ver Historial]
[Barra de estado]

Como agrandar y acomodar todo como para que no quede nada "encimado".... creo que no queda que acomodar todo a mano xD
Título: Re:Form con Fuente ajustable
Publicado por: 79137913 en Mayo 17, 2012, 02:06:10 pm
HOLA!!!

Cual es el item que pierde tamaño (no se peude sacar tamaño de donde no hay)?

GRACIAS POR LEER!!!
Título: Re:Form con Fuente ajustable
Publicado por: raul338 en Mayo 17, 2012, 02:40:57 pm
Supongo que la lista :P como minimo se deben ver 3 items, ya a partir de ahí ya tengo un par de ideas :P
Título: Re:Form con Fuente ajustable
Publicado por: cobein en Mayo 17, 2012, 03:06:49 pm
Bueno algo basico pero es una idea.

Código: [Seleccionar]
Dim lHeight As Long
Dim lWidth As Long

Private Sub Command2_Click()
    SetSize 8
End Sub

Private Sub Command3_Click()
    SetSize 10
End Sub

Private Sub Command4_Click()
    SetSize 12
End Sub

Private Sub SetSize(lSize As Long)
    Dim ctrl As Control
    Dim lHFactor As Double
    Dim lVFactor As Double
 
    Me.Font.Size = lSize

    lVFactor = Me.TextHeight("Aj") / lHeight
    lHFactor = Me.TextWidth("Aj") / lWidth

    For Each ctrl In Me
        ctrl.Font.Size = lSize
        ctrl.Top = ctrl.Top * lVFactor
        ctrl.Left = ctrl.Left * lVFactor
        ctrl.Width = ctrl.Width * lHFactor
        ctrl.Height = ctrl.Height * lVFactor
    Next
End Sub

Private Sub Form_Load()
    lHeight = Me.TextHeight("Aj")
    lWidth = Me.TextWidth("Aj")
End Sub
Título: Re:Form con Fuente ajustable
Publicado por: SONIC88 en Junio 08, 2012, 12:31:37 pm
Entendí mal o lo que buscas es escalar los objetos, porque creo que es eso lo que hacen los navegadores.  :)
Título: Re:Form con Fuente ajustable
Publicado por: raul338 en Junio 08, 2012, 03:42:08 pm
Si de hecho es eso, o al menos lograr ese efecto. Igual ya logre hacer algo similar. Usar en todos los controles la fuente Tahoma en 10 y despues aumentar solo en unos botones y en el ucListView (que ahora justo me esta tirando una llamada recursiva cuando cambio la fuente :WTF:)

De todas formas la forma de cobein, me gusto! :D