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 6 et antérieur Discussion :

[VB6] Application de formats dans une rich text box


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Par défaut [VB6] Application de formats dans une rich text box
    Bonjour,
    J'ai écrit un code qui applique des formats de couleurs / gras dans une
    rich text box. J'ai une fonction générique qui applique les formats, et une
    autre qui définit les lois. L'objectif est d'appliquer des formats pour
    mettre en évidence certaines lignes un peu comme dans un éditeur de code.
    Le code marche bien, mais à l'exécution, je vois les lignes dans la rich
    text box qui défilent. Comment faire pour ne plus avoir ce défilement?
    Merci de votre aide!

    Yoann


    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    ' *********************** ColorizeRTF ************************
    ' Input:
    ' r as RichTextBox: RichTextBox where the colorization laws are going to be 
    applied
    '
    ' This procedure applies the colorization laws to a RichTextBox.
     
    Sub ColorizeRTF(r As RichTextBox)
      ' Names of step are red
      Call ColorizeItemRTF(r, "--Step", vbRed, True)
      ' Telecommands are blue
      Call ColorizeItemRTF("ISSUE", vbBlue, False)
      ' Calls to procedures are orange
      Call ColorizeItemRTF(r, "EXECUTE", RGB(255, 128, 0), False)
      ' Verifications are green
      Call ColorizeItemRTF(r, "CHECK_ITEM", RGB(0, 128, 0), False)
      ' Beginning and end of FOR and REPEAT loops are bold
      Call ColorizeItemRTF(r, "FOR I:=", vbBlack, True)
      Call ColorizeItemRTF(r, "END FOR", vbBlack, True)
      Call ColorizeItemRTF(r, "REPEAT", vbBlack, True)
      Call ColorizeItemRTF(r, "UNTIL(", vbBlack, True)
      ' Place the selection point at the beginning of the code and clear any 
    selection
      r.SelStart = 0
      r.SelLength = 0
    End Sub
     
    ' ********************** ColorizeItemRTF **********************
    ' Input:
    ' r As RichTextBox: RichTextBox where the colorization applies
    ' s as String: string to look for in the code. The entire line will then be 
    colorized.
    ' l as Long: color to be used
    ' IsBold as Boolean: if IsBold = TRUE, then the line turns bold
    '
    ' This procedure applies a colorization law
    ' "If a line contains s, then the end of the line, starting at s, will get 
    the following settings:
    ' color is l
    ' if IsBold is TRUE, then it turns bold"
     
     
    Sub ColorizeItemRTF(r As RichTextBox, s As String, l As Long, IsBold As 
    Boolean)
      Dim index1 As Long, index2 As Long
     
      Do
        index1 = r.Find(s, index1 + 1, , modMain.rtfMatchCase Or 
    modMain.rtfNoHighlight)
        If index1 = -1 Then Exit Do
        index2 = r.Find(vbCrLf, index1, , modMain.rtfNoHighlight)
        r.SelStart = index1
        r.SelLength = index2 - index1 + 1
        r.SelColor = l
        r.SelBold = IsBold
      Loop
     
    End Sub

  2. #2
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Un sugestion : mettre le RichTextBox invisible, faire les modif, le remettre visible
    Si il n'y a pas de doevents au beau milieu, ca devrais le faire

Discussions similaires

  1. afficher un fichier rtf dans une rich text box
    Par r83 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/03/2009, 14h48
  2. Réponses: 7
    Dernier message: 30/05/2008, 03h42
  3. [VB6] position du curseur dans une zone texte et insertion caractere
    Par tim69000 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/05/2006, 09h52
  4. Multi Format dans une zone de texte ou active x
    Par nowick dans le forum Access
    Réponses: 5
    Dernier message: 22/10/2005, 20h23
  5. comment mettre du texte formaté dans une frame?
    Par afrikha dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 09/10/2005, 14h55

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