Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: MCKSys Argentina en 12 Enero 2011, 14:38 PM

Título: [SOLUCIONADO] Aumentar/reducir tamaño de fuente en label
Publicado por: MCKSys Argentina en 12 Enero 2011, 14:38 PM
Hola!

Quizas esta pregunta es medio tonta, pero no he encontrado respuestas "rapidas" al tema (con rapidas me refiero a sencillas de implementar).

La idea es simple: Hay un label en un form. Cuando el form se redimensiona, el label hace lo mismo.

El problema es poder determinar el maximo tamaño de fuente que entra en el label redimensionado, sin que tenga problemas (osea, que se vea bien).

Alguien tiene alguna idea de como hacerlo ?

Saludos!
Título: Re: Aumentar/reducir tamaño de fuente en label
Publicado por: 79137913 en 12 Enero 2011, 14:52 PM
HOLA!!!

Busca AutoResCtrl en Google, el OCX hace todo por vos menos cambiar el tamaño de los hearders de un ListView o DBGrid

GRACIAS POR LEER!!!
Título: Re: Aumentar/reducir tamaño de fuente en label
Publicado por: Psyke1 en 12 Enero 2011, 15:20 PM
Hice una clase hace poco donde tenía que hacer algo similar con api GetTextExtentPoint32() y GetClientRect():
http://foro.elhacker.net/programacion_visual_basic/src_clistboxmultialign_by_mr_frog_copy-t314001.0.html

Tambien mira esto:
Código (vb) [Seleccionar]
Option Explicit
'=========================================================
' º Function : AlignCenterLBItem
' º Author   : Mr.Frog ©
' º Mail     : vbpsyke1@mixmail.com
' º Greets   : LeandroA
' º Recommended Websites :
'       http://visual-coders.com.ar
'       http://InfrAngeluX.Sytes.Net
'       http://twitter.com/#!/PsYkE1
'=========================================================

Public Function AlignCenterLBItem(myListbox As ListBox, ByVal sItem As String) As String
Dim lItemLen                                           As Long
   If Not (myListbox Is Nothing) Then
       lItemLen = myListbox.Parent.TextWidth(sItem)
       If lItemLen < myListbox.Width Then
           AlignCenterLBItem = Space$(Abs(Int((Int(myListbox.Width - lItemLen) / 2) / myListbox.Parent.TextWidth(Space$(1)) - 1.5))) & sItem
       End If
   End If
End Function

Puedes relaccionar el tamaño del ListBox, con lo que ocupa un espacio... :rolleyes:

DoEvents! :P
Título: Re: Aumentar/reducir tamaño de fuente en label
Publicado por: MCKSys Argentina en 12 Enero 2011, 15:26 PM
Gracias 79137913 y Mr. Frog © por la info!

Puse el nombre del OCX en San Google y me tira 6 resultados de los cuales no hay nada (excepto este mismo port  :P)

Despues, GetTextExtentPoint32 necesita hDC y los labels no tienen (tampoco Hwnd).

Voy a probar con TextWidth y TextHeight a ver si logro algo...

Saludos!
Título: Re: Aumentar/reducir tamaño de fuente en label
Publicado por: 79137913 en 12 Enero 2011, 15:32 PM
HOLA!!!

Descargar URL:
http://www.gigasize.com/get.php?d=qp05cs4opxc

Para usarlo pones el control en el formulario y en el Form_resize() esto:
Código (vb) [Seleccionar]
Private Sub Form_Resize()
AutoResCtrl1.Resize Form1, 1
End Sub


GRACIAS POR LEER!!!
Título: Re: Aumentar/reducir tamaño de fuente en label
Publicado por: MCKSys Argentina en 12 Enero 2011, 15:38 PM
Creo que encontre una solucion "rapida"


Private Sub Form_Resize()
Dim Tam as Long

Label1.Width = Me.ScaleWidth
Label1.Height = Me.ScaleHeight
Label1.Top = 0
Label1.Left = 0

Tam = Me.ScaleY (Label1.Height, vbTwips, vbPixels)
Tam = Tam - ((Tam * 35) \ 100) 'Le saca el 35%
Label1.Font.Size = Tam
End Sub


La propiedad Aligment del Label esta en 2 (Center).

El tema es que es medio "a ojo".

De todas formas, voy a probar con el OCX...

Modificado

El OCX es genial! Pero el tamaño de la fuente de los labels es muy grande y hay veces en que no se ve...

Aun asi, redimensiona los objetos en forma espectacular...  ;D
Título: Re: Aumentar/reducir tamaño de fuente en label
Publicado por: 79137913 en 12 Enero 2011, 15:54 PM
HOLA!!!

Yo uso siempre ese control, funciona con todos los controles basicos.
Mod: Fijate :AutoResCtrl1.Resize Form1, 1
el ",1" es si queres o no que redimensione las fuentes.

;)

GRACIAS POR LEER!!!