Hej, Just 90 grader (PI/2 radianer för min del =) ) är ganska lätt. Här är ett exempel på hur du kan rotetra fonten.Rotera text i en picturebox
Jag håller på med ett VB-program som skall innehålla en massa diagram som jag gör i pictureboxar.
Jag vill skriva ut värdena på staplarna, men dessa får inte plats så jag skulle vilja rotera dessa värdena 90 grader.
Problemet är att det står helt stilla i knoppen och jag har ingen som helst ide om hur det skall göras.
Jag är väldigt tacksam om det finns någon som har gjort detta eller som kan hjälpa mig.
Tack på förhand och ha en bra dag.
/TomasSv: Rotera text i en picturebox
Det finns förmodligen nån rutin som kan göra det automatiskt, men en möjlighet är att skriva dem i en annan (dold) picturebox, och sen vända dem manuellt.
formeln blir:
nytt x=-y
nytt y=x
eller
nytt x=bokstavshöjd - y
nytt y=x
(bokstavshöjd går att få fram i en funktion för pictureboxen (glömt denna nu).Sv: Rotera text i en picturebox
<code>
'In general section
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(LF_FACESIZE) As Byte
End Type
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
'In form
Private Sub Form_Load()
'KPD-Team 1998
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Dim RotateMe As LOGFONT
'Set graphic-mode to 'persistent graphic'
Me.AutoRedraw = True
'Rotate degrees
Deg = 270
'Size (in points)
Size = 20
'Set the rotation degree
RotateMe.lfEscapement = Deg * 10
'Set the height of the font
RotateMe.lfHeight = (Size * -20) / Screen.TwipsPerPixelY
'Create the font
rFont = CreateFontIndirect(RotateMe)
'Select the font n the Form's device context
Curent = SelectObject(Me.hdc, rFont)
'Print some text ...
Me.CurrentX = 500
Me.CurrentY = 200
Me.Print ":-)"
End Sub
</code>