Tailles des caractères dans une ligne

Résolu
Signaler
Messages postés
17
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
10 septembre 2011
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
[^

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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
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)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
"la procédure me parait bien lourde"
Bienvenu dans .Net !
Messages postés
17
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
10 septembre 2011

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.