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

Soyez le premier à donner votre avis sur cette source.

Vue 10 487 fois - Téléchargée 1 649 fois

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

Ajouter un commentaire

Commentaires

xlab
Messages postés
1
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
24 février 2013
-
Est il possible de gérer l'alignement et l'autosize ?
cs_Sator
Messages postés
351
Date d'inscription
samedi 7 février 2004
Statut
Membre
Dernière intervention
6 octobre 2010
-
Marche Nickel, j'avais besoin d'un truc prêt à l'emploi... donc ça va super... merci

@+ Sator
TheBigBossJeff
Messages postés
6
Date d'inscription
mercredi 15 janvier 2003
Statut
Membre
Dernière intervention
27 novembre 2005
-
en tout cas le résultat est tout à fait ce que je cherche ...

le pb c'est que je voudrais le faire sous vb.NET

si qqun sais comment on peux faire je suis preneur
moony01
Messages postés
21
Date d'inscription
vendredi 12 novembre 2004
Statut
Membre
Dernière intervention
27 mars 2007
-
ca marche tres bien avec vb, mais pour access, c'est quoi la procedure?
pietrocecchi
Messages postés
9
Date d'inscription
samedi 19 juin 2004
Statut
Membre
Dernière intervention
9 mai 2005
-
Uhm...
Peut être PrintForm ne montre pas la transparence...
Cela parce que le Contrôle d'ActiveX n'est pas sans fenêtre (contrôle de poids léger, c'est-à-dire sans poignée de fenêtre)...

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.