Tailles des caractères dans une ligne

Résolu
jiel2007 Messages postés 17 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 10 septembre 2011 - 20 août 2011 à 10:57
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 21 août 2011 à 12:41
[^

Bonjour,

Je rencontre un petit problème avec l'impression en Visual basic 2008.

Je crée des documents qui sont enregistrés comme fichiers TXT.

Pour les imprimer, je les charge dans un tableau Lignes(T) et les affiche ( 1 à la fois ) dans un RichTextBox pour les imprimer. Tout cela fonctionne bien et j'obtiens des documents imprimés conforment à ma demande.

Je souhaiterais toutefois pouvoir imprimer certaines des lignes avec des tailles de caractères différentes.

Exemple :

Je définis dans Public Class
Private ParamPageImpr As New PageSettings
Private ChaineAImprimer As String
Private PoliceImpr As New Font("Courier New", 12)

Toutes mes lignes s'impriment donc en 12 points.

Si je lis mon tableau Lignes(T), comment faire pour que la ligne 5 par exemple s'imprime avec des caractères de 24 points ?

Merci pour l'aide que vous pourriez m?apporter.

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 août 2011 à 13:10
Salut

Il te faut sélectionner les caractères sur lesquels tu veux appliquer la modif puis gérer le SelectionFont.
Ta difficulté sera donc de choisir-rechercher le début et fin de la chaine à traiter, peut-être en cumulant la taille des précédentes lignes pour le début et en y ajoutant la longueur de la ligne à traiter pour la fin.
Pense à ajouter 1 ou 2 octets (*) à chaque changement de ligne
(*) selon le séparateur de paragraphe utilisé

Exemple de mise en caractères gras (même principe)
With RichTextBox1
    .Font =  New Font("Arial", 10)
    .Text = "Bonjour," & vbCrLf & _
            "Comment mettre du texte gras dans un RichTextBox ?" & vbCrLf & _
            "Là où il y a les tag    je souhaiterai convertir ça en bold "
    .SelectionStart  = 32
    .SelectionLength = 12
    .SelectionFont = New Font(.Font.Name, .Font.Size, _
                              FontStyle.Bold Or FontStyle.Italic)
End With

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 août 2011 à 12:41
"la procédure me parait bien lourde"
Bienvenu dans .Net !
3
jiel2007 Messages postés 17 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 10 septembre 2011
21 août 2011 à 09:03
Bonjour,

Merci pour le bout de code et les explications.

Je vais essayer pour voir ce que ca donne mais la procédure me parait bien lourde uniquement pour changer la taille des caractères d'une ligne.
0
Rejoignez-nous