Ecrire dans tous les sens.....

0/5 (10 avis)

Vue 4 146 fois - Téléchargée 434 fois

Description

Ceci est la reponse a une demande qui m'a ete faite , il s'agit d'ecrire , autrement qu'horizontalement.

l'angle est parametrable......

Je recupere le font d'origine , je modifie le parametre rotation, et je reinjecte le font au DC.

Source / Exemple :


Public Sub TournerTexte(DC As Long, Angle As Integer)
    'On crée une police , que l'on associe au Device Context passé en parametre
    'par la suite , ce sera cette police qui sera utilisée pour toute ecriture sur ce DC
    Dim Police As LOGFONT
    Dim HPolice As Long

    'pour recuperer la police utilisée.
    HPolice = SelectObject(DC, CreateFontIndirect(Police))
    'Obtient un LOGFONT , a partir de son handle
    Call GetObject(HPolice, Len(Police), Police)
    
    ' on applique la rotation
    Police.lfEscapement = -Angle * 10
    'on associe le font au DC
    Call SelectObject(DC, CreateFontIndirect(Police))
End Sub

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_PROGRAMMIX
Messages postés
1133
Date d'inscription
mercredi 2 octobre 2002
Statut
Membre
Dernière intervention
24 juillet 2011
3
22 oct. 2003 à 20:56
Pour la source de Rene38, ça y est, j'ai trouvé où ça merdait...

Maintenant ma question reste posée pour ta source suite au commentaire que tu avais adressé à Rene38 et préconisant l'utilisation du handle de l'imprimante.

Pourrais-tu donc prévoir cette option dans ta source afin d'imprimer ce qu'on a mis sur la form ?

D'avance merci.
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
22 oct. 2003 à 18:57
Je ne suis effectivement pas sur que cela fonctionne....
Il s'agit effectivement d'un texte que l'on retourne, beaucoup d'imprimantes ne gerent surement pas les polices "retournées"

Il faut donc passer par une Rasterization :
de Blitter (donc une image) sur le DC du Printer.....
et la ca fonctionnera...
cs_PROGRAMMIX
Messages postés
1133
Date d'inscription
mercredi 2 octobre 2002
Statut
Membre
Dernière intervention
24 juillet 2011
3
22 oct. 2003 à 11:11
Comment adapter le code pour envoyer le tout à l'imprimante ?

J'ai essayé mais ça n'a pas marché. Même chose avec la source n° 6752 de Rene38 où l'impression du texte en vertical n'a pas fonctionné : windows 98 SE, VB6, HP Laser Jet 4.
cs_Zenith
Messages postés
67
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
27 avril 2008

29 avril 2003 à 14:05
10/10
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
27 avril 2003 à 19:13
je sais pas , je parles du site Msdn... , tu peux y accceder comme ca...
Afficher les 10 commentaires

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.