Visual Basic - Alinear Etiqueta

Life is soft - evento anual de software empresarial
 
Vista:

Alinear Etiqueta

Publicado por Diego (2 intervenciones) el 03/05/2011 12:47:43
Hola,
tengo que construir una etiqueta en la que el mensaja se pueda alinear verticalmente, pero las etiquetas solo se pueden alinear horizontalmente. Me han dicho que una forma de ralizarlo es poner un marco y dentro la etiqueta, y luego lo que realizo es alinear la etiquet con relazion al marco.
Si me pueden ayudar, lo agradezco de antemano.

Gracias.
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
sin imagen de perfil
Val: 119
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Alinear Etiqueta

Publicado por Christian (713 intervenciones) el 03/05/2011 16:40:49
Option Explicit
Public Enum picPrintAlignEnum
ppTopLeft = 0
ppTopCenter = 1
ppTopRight = 2
ppCenterLeft = 3
ppCenterCenter = 4
ppCenterRight = 5
ppBottomLeft = 6
ppBottomCenter = 7
ppBottomRight = 8
End Enum
Public Sub CaptionToPicBox(cap As String, pBox As PictureBox, Optional pp As picPrintAlignEnum = ppTopLeft)
On Error Resume Next
Dim x As Long, y As Long
pBox.AutoRedraw = True
pBox.Cls
Set pBox.Picture = Nothing
Select Case pp
Case ppTopLeft
x = 0
y = 0
Case ppTopCenter
y = 0
x = pBox.ScaleWidth / 2 - (pBox.TextWidth(cap) / 2)
Case ppTopRight
y = 0
x = pBox.ScaleWidth - pBox.TextWidth(cap)
Case ppCenterLeft
x = 0
y = pBox.ScaleHeight / 2 - (pBox.TextHeight(cap) / 2)
Case ppCenterCenter
y = pBox.ScaleHeight / 2 - (pBox.TextHeight(cap) / 2)
x = pBox.ScaleWidth / 2 - (pBox.TextWidth(cap) / 2)
Case ppCenterRight
y = pBox.ScaleHeight / 2 - (pBox.TextHeight(cap) / 2)
x = pBox.ScaleWidth - pBox.TextWidth(cap)
Case ppBottomLeft
y = pBox.ScaleHeight - pBox.TextHeight(cap)
x = 0
Case ppBottomCenter
y = pBox.ScaleHeight - pBox.TextHeight(cap)
x = pBox.ScaleWidth / 2 - (pBox.TextWidth(cap) / 2)
Case ppBottomRight
y = pBox.ScaleHeight - pBox.TextHeight(cap)
x = pBox.ScaleWidth - pBox.TextWidth(cap)
End Select
pBox.CurrentX = x
pBox.CurrentY = y
pBox.Print cap
Set pBox.Picture = pBox.Image
pBox.AutoRedraw = False
End Sub

Private Sub cmdACTION_Click(Index As Integer)
On Error Resume Next
CaptionToPicBox Me.txtCAPTION.Text, picBOX, CLng(Index)
End Sub
---------------------------------------------------------------------------------------------------
Usa un picture en lugar de un label y con el objeto printer lo haces
Utiliza la funcion que te paso que anda perfecto y creo que solucionaria tu problema
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

Alinear Etiqueta

Publicado por Diego (2 intervenciones) el 04/05/2011 17:36:30
Muchas gracias Christian, probare lo que me pasaste y te comento.
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