Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Girar label (poner en vertical)

Estas en el tema de Girar label (poner en vertical) en el foro de Visual Basic clásico en Foros del Web. 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. ...
  #1 (permalink)  
Antiguo 25/08/2007, 11:21
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
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.
  #2 (permalink)  
Antiguo 25/08/2007, 12:22
 
Fecha de Ingreso: enero-2007
Ubicación: CyberCafe
Mensajes: 35
Antigüedad: 17 años, 3 meses
Puntos: 0
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
  #3 (permalink)  
Antiguo 25/08/2007, 14:20
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
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:
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
El método dibuja en un picturebox el texto. no es un label pero funciona.
  #4 (permalink)  
Antiguo 25/08/2007, 17:38
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:52.