Texte avec rotation de 90°

cs_Thib Messages postés 20 Date d'inscription vendredi 4 mai 2001 Statut Membre Dernière intervention 24 janvier 2004 - 4 janv. 2002 à 17:19
Apodemus Messages postés 24 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 17 avril 2002 - 6 févr. 2002 à 14:01
Est-ce que qelqu'un sait comment effectuer une rotation d'un texte de 90° sur la droite/gauche ? :question)

1 réponse

Apodemus Messages postés 24 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 17 avril 2002
6 févr. 2002 à 14:01
Voici un moyen de le faire (ici sur une form, mais ca marche a l'impression)
C'est un peu long...

dans la section [General] de la feuille
Private Declare Function CreateFont Lib "gdi32" Alias "CreateFontA" (ByVal h As Long, ByVal w As Long, ByVal e As Long, ByVal o As Long, ByVal w As Long, ByVal i As Long, ByVal u As Long, ByVal s As Long, ByVal C As Long, ByVal op As Long, ByVal cp As Long, ByVal q As Long, ByVal PAF As Long, ByVal f As String) 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

et dans le code d'un bouton

sub Command1_click()
Const CLIP_LH_ANGLES 16, Pi 3.14159625, PI_180 = Pi / 180#
Dim newfont As Long, oldfont As Long
Dim Taille as long,angle as integer, gras as integer
Dim Italic as boolean, Souligne as boolean, Barre as boolean
me.autoRedraw=true
Taille=24
gras=100 'plus ou moins gras 1000=tres gras
angle =90 ' 90 degres
'créer une nouvelle font a partir d'Arial (ou autre TrueType)
newfont = CreateFont(Taille, 0, angle*10, angle*10, gras, _
italic, souligne, barre, 0, 0, _
CLIP_LH_ANGLES, 0, 0, "Arial")
'Attribuer Nnewfont à la form, en recuperant l'ancienne
oldfont = SelectObject(Me.hdc, newfont)
'Ecrire normalement
Me.CurrentX = 2000
Me.CurrentY = 4000
Me.Print "Hello"
'remettre l'ancienne
newfont = SelectObject(Me.hdc, oldfont)
'Faire le ménage (important!)
DeleteObject newfont
me.refresh ' si la form est autoredraw
end sub
0
Rejoignez-nous