Buenas, me gustaría saber si es posible girar un label o al menos ponerlo en vertical, en visual basic 6.
No encuentro nada al respecto.
Un saludo y gracias.
| |||
| Girar label (poner en vertical) Buenas, me gustaría saber si es posible girar un label o al menos ponerlo en vertical, en visual basic 6. No encuentro nada al respecto. Un saludo y gracias. |
| |||
| Re: Girar label (poner en vertical) Lamento informarte que no se puede colocar un label en forma vertical tienes que dibujarlo por medio de apis. en vbaccelerator se encuentra una clase para crear un banner vertical, hecha una ojeada a ver si le entiendes al codigo ^^ w w w . vbaccelerator . com/home/VB/Code/Libraries/Graphics_and_GDI/Text_At_Any_Angle/article.asp |
| |||
| Re: Girar label (poner en vertical) gracias, encontre también un método en la propia mdsn de microsoft. lo dejo aqui por si a alguien le sirve. A mi me ha servido.
Código:
El método dibuja en un picturebox el texto. no es un label pero funciona. Private Declare Function CreateFontIndirect Lib "gdi32" Alias _
"CreateFontIndirectA" (lpLogFont As LOGFONT) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc _
As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal _
hObject As Long) As Long
Private Const LF_FACESIZE = 32
Private Type LOGFONT
lfHeight As Long
lfWidth As Long
lfEscapement As Long
lfOrientation As Long
lfWeight As Long
lfItalic As Byte
lfUnderline As Byte
lfStrikeOut As Byte
lfCharSet As Byte
lfOutPrecision As Byte
lfClipPrecision As Byte
lfQuality As Byte
lfPitchAndFamily As Byte
lfFaceName as String * LF_FACESIZE
End Type
Sub Command1_Click()
Dim font As LOGFONT
Dim prevFont As Long, hFont As Long, ret As Long
Const FONTSIZE = 10 ' Desired point size of font
font.lfEscapement = 1800 ' 180-degree rotation
font.lfFaceName = "Arial" & Chr$(0) 'Null character at end
' Windows expects the font size to be in pixels and to
' be negative if you are specifying the character height
' you want.
font.lfHeight = (FONTSIZE * -20) / Screen.TwipsPerPixelY
hFont = CreateFontIndirect(font)
prevFont = SelectObject(Picture1.hdc, hFont)
Picture1.CurrentX = Picture1.ScaleWidth
Picture1.CurrentY = Picture1.ScaleHeight / 2
Picture1.Print "Rotated Text"
' Clean up by restoring original font.
ret = SelectObject(Picture1.hdc, prevFont)
ret = DeleteObject(hFont)
Picture1.CurrentY = Picture1.ScaleHeight / 2
Picture1.Print "Normal Text"
End Sub
|
| ||||
| Re: Girar label (poner en vertical) Hola,si se puede y lo mas facil es hacerte vos mismo un control ocx que lo haga,por ejemplo como este: http://www.planet-source-code.com/vb...p%2FL431613121 saludos.
__________________ " Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein |