IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

String en Gras


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut String en Gras
    Bonjour,

    je cherche à mettre une chaine de caractère (une partie seulement) en gras mais je n'y arrive pas (bon j'ai pas essayé des heures non plus c pas vital pour mon appli...).

    J'aimerais faire un truc du style :

    maRixhTextBox.text = "texte pas en gras " & "texte en gras" & "texte pas en gras"
    Mais si quelqu'un connait l'astuce je suis preneur!

    NOTE: mon texte ce trouve dans une richTextBox, Merci

  2. #2
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    En passant par le rtf ca ne marche pas ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  3. #3
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Le rtf doit marcher et si tu ne sais pas comment t'en servir crée le texte avec WordPad, enregistre en rtf, et ouvre le fichier avec Notepad pour voir le code rtf. Ensuite tu assignes ce texte au richTextBox avec la propriété RtfText

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    j'ai essayé de faire ce que tu dis mais qd je veux enregistrer au format rtf l'application prompt ceci :


    "vous etes sur le point d'enregistrer le document sous un format texte, ce qui supprimera tout le formatage. Voulez-vous vraiment faire cela?"

    Que je réponde "oui" ou "non" le fichier enregistré ouvert avec le bloc note ne contient rien d'autre que le texte....

  5. #5
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Quand tu enregistres avec WordPad, dans la boite d'enregistrement y'a une case Nom et une autre Type. Dans type tu choisis "Document RTF" .....

  6. #6
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Suffit de chercher sur google c'est pas difficile :
    http://fr.wikipedia.org/wiki/Rich_Text_Format
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  7. #7
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Oui mais dans ce cas il faut faire attention à ce que le texte que l'on mette après les balises RTF ne soit pas lui même, accidentellement, un code RTF

  8. #8
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Citation Envoyé par smyley Voir le message
    Oui mais dans ce cas il faut faire attention à ce que le texte que l'on mette après les balises RTF ne soit pas lui même, accidentellement, un code RTF
    ca va de soit
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    Le code RTF de marche pas...

    Quelle est le nom de la propriété d'une richTextBox qui permet de rendre le texte interprétable?

  10. #10
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Boulette, c'est pas RtfText mais Rtf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    richTextBox1.Rtf = @"{\rtf
     Bonjour
     \par
     Ceci est
     un petit {\b texte}.
     \par
     FIN
    }";

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    Ok ça a marché... mais pas comme je voulais.

    En effet impossible d'incruster du Rtf au milieu du texte... donc je ne peux pas avoir un mot en gras perdu au milieu de mon texte

    Voici ma fonction, txtLog est ma richTextBox, et j'aurais aimé avoir 1 ou plusieurs caractères de ma chaîne S en gras....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub mLog(ByVal s As String)
            Me.txtLog.Text = Me.txtLog.Text & vbCrLf & s
            Application.DoEvents()
    End Sub
    j'ai essayé comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub mLog(ByVal s As String)
            Me.txtLog.Rtf = Me.txtLog.Rtf & vbCrLf & "{\rtf" & s & "}"
            Application.DoEvents()
    End Sub
    mais ça donne rien....

  12. #12
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Tu aurais du le dire plus tot
    Une solution consiste à utiliser la sélection du texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    richTextBox1.Text = "Je suis un petit chat";
                richTextBox1.Select(3, 4);
                richTextBox1.SelectionFont = new Font("Arial", 22);
                richTextBox1.DeselectAll();
    En sélectionnant ainsi ce que tu veux tu peut à chaque fois changer la police, mais aussi la couleur de la sélection, etc ...

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    j'ai remplacé ma fonction par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Private Sub mLog(ByVal s As String, Optional ByVal boldSize As Integer = 0)
            If s.Contains("#") Then
                Dim start As Integer
                start = Me.txtLog.Text.Length + s.IndexOf("#")
                Me.txtLog.Select(start, start + boldSize)
                Me.txtLog.SelectionFont = New Font(Me.txtLog.Font.Name, 22)
                s = s.Replace("#", "")
                Me.txtLog.Text = Me.txtLog.Text & vbCrLf & s
                Me.txtLog.DeselectAll()
            Else
                Me.txtLog.Text = Me.txtLog.Text & vbCrLf & s
            End If
            Application.DoEvents()
    End Sub
    Mais me.txtLog.SelectedText reste toujours vide

    Je ne vois pas pourquoi, j'ai pourtant bien testé les valeurs des variables start, select ..etc

  14. #14
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Il faut assigner le texte au richTextBox AVANT de jouer avec la sélection

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Par défaut
    Non car si je remplace select par selectall ça marche...

    Si j'utilise la fonction select avec des int en dur (par exemple .select(1, 100)
    le selecttedText est bien remplie comme il faut mais la police ne change pas!

    Si je passe en paramètre des variables..mm correctement remplies... le variable Me.txtLog.selectedText est de nouveau null

    j'ycomprends vraiment rien!!

    Essayes de faire un petit programmes qui appelerait ma fonction plusieurs fois pour t'en rendre compte! J'y perd mon latin!

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/04/2010, 15h18
  2. éliminer un caractere d'un string
    Par no-vice dans le forum Langage
    Réponses: 5
    Dernier message: 09/08/2002, 15h55
  3. URGENT: retour de string
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 15/07/2002, 10h47
  4. Réponses: 2
    Dernier message: 05/06/2002, 13h29
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo