Label vertical et avec angle de rotation libre(0° à 360°):+ effet transparent (ocx)+ effet 3d + contour text

Description

J’avais besoin d’un texte incliner de 45°, 60 °, 90°,… Sur ce site il n’existe pas un code qui traite ce besoin. La source de notre ami Renfield
est pas mal du tout (un peu compliquer au niveau code mais elle marche;)) sauf qu’elle ne fait pas les angles appart (0-90-180-270) et avec bug au niveau l’entour du texte en mode transparente :-(.

aAlors, voici une ocx qui permet d’afficher un texte dans tous les angles possibles (allant de 0° à 360°) dans un arrière plan transparent sans problèmes d’affichage du texte ni l’emplacement et avec une très bonne qualité du texte. (voir photo)

Source / Exemple :


'Les apis utilisés sont :

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 Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32A" (ByVal hdc As Long, ByVal lpsz As String, ByVal cbString As Long, lpSize As Size) As Long
Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long

'Les types utilisés sont :

Private Const LF_FACESIZE = 32
Private Type Size
    cX As Long
    cY As Long
End Type
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

' Les apis ajouter (pour la mise à jour) :
Private Declare Function SetTextColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long

'Le reste voir le zip.

Conclusion :


Merci pour vos remarques
a++
davidauche@icqmail.com

Allez, bonne continuation !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.