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 :

Listbox ou autre avec de la couleur


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    929
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 929
    Points : 312
    Points
    312
    Par défaut Listbox ou autre avec de la couleur
    Bonjour,

    J'aurai besoin de faire un espion de communication, afin de surveiller ce qu'il est envoyé est reçus par mon logiciel, donc je partais sur une simple listbox, mais j’aimerais ajouter des couleurs pour bien différencier l’émission et la réception.

    J'ai trouvé un projet avec une listbox acceptant de la couleur mais il n'accepte que 130 item.

    Je ne suis pas bloqué sur une listbox, s'il y a d'autre choix plus judicieux.

    Merci

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Salut
    Citation Envoyé par megamario Voir le message
    Bonjour,
    .....
    j’aimerais ajouter des couleurs pour bien différencier l’émission et la réception.
    .....
    Je ne suis pas bloqué sur une listbox, s'il y a d'autre choix plus judicieux.

    Merci
    Alors pourquoi pas le composant MSHFlexGrid à une colonne, (MSHFLXGD.oca, Microsoft Hierarchical FlexGrid Control 6.0 (OLEDB)
    en jouant sur les propriétés CellBackColor pour le fond et CellForeColor pour l'encre.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    929
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 929
    Points : 312
    Points
    312
    Par défaut
    Je viens de voir le richtextbox

    C'est pas mal non plus. Avec la possibilité d'enregistrer facilement ce qui le compose en gardant le format.

    Pour le moment j'arrive à quelque chose de pas trop mal, mais j'ai pas fini.

  4. #4
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Il y a aussi le contrôle ListView qui peut être utilisé dans ce cadre.

    A titre d'exemple, ajouter sur Form1 un contrôle ListView (Microsoft Windows Common Controls 6.0 (SP6) ) et mettre la propriété View à 3-lvwReport et ajouter deux entêtes de colonnes par exemple avec ce
    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
    Option Explicit
    '
    Dim itemX As ListItem, I%
    Private Sub Form_Load()
       For I = 0 To 25
        Set itemX = LV.ListItems.Add(, , Chr(65 + I))
        itemX.SubItems(1) = LCase(Chr(65 + I))
       Next I
       For I = 1 To LV.ListItems.Count
          If I Mod 5 = 0 Then
           LV.ListItems(I).ForeColor = vbRed
           LV.ListItems(I).Bold = vbRed
           LV.ListItems(I).ListSubItems(1).ForeColor = vbRed
           LV.ListItems(I).ListSubItems(1).Bold = True
          End If
        Next I
    End Sub
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  5. #5
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    929
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 929
    Points : 312
    Points
    312
    Par défaut
    Merci pour l'info,

    Voici ce que j'ai fait avec le richtextbox

    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
     
    'tp indique si c'est une réception ou une émission.
    Public Sub AddText(ByVal tp As Integer, ByVal Message As String)
        Dim m As String
        Dim i As Integer
        If Not enStop Then
            RichTextBox1.SelColor = ColorConstants.vbBlack
            RichTextBox1.SelText = "[" & TimeToMillisecond & "] : "
            RichTextBox1.SelBold = False
            RichTextBox1.SelItalic = False
            For i = 1 To Len(Message)
                m = Mid(txt, i, 1)
                If InStr(1, m, Chr(22)) > 0 Then
                    If optHex.value Then m = Replace(m, Chr(22), "(16)")
                    If optChar.value Then m = Replace(m, Chr(22), "(SYN)")
                    RichTextBox1.SelColor = &HC000&         'ColorConstants.vbCyan
                ElseIf InStr(1, m, Chr(13)) > 0 Then
                    If optHex.value Then m = Replace(m, Chr(13), "(0D)")
                    If optChar.value Then m = Replace(m, Chr(13), "(CR)")
                    RichTextBox1.SelColor = &H8000&           'ColorConstants.vbCyan
                ElseIf InStr(1, m, Chr(10)) > 0 Then
                    If optHex.value Then m = Replace(m, Chr(10), "(0A)")
                    If optChar.value Then m = Replace(m, Chr(10), "(LF)")
                    RichTextBox1.SelColor = &H4000&       'ColorConstants.vbCyan
                ElseIf InStr(1, m, Chr(6)) > 0 Then
                    If optHex.value Then m = Replace(m, Chr(6), "(06)")
                    If optChar.value Then m = Replace(m, Chr(6), "(ACK)")
                    RichTextBox1.SelColor = &H80FF&    'ColorConstants.vbCyan
                Else
                    If tp = 1 Then RichTextBox1.SelColor = ColorConstants.vbBlue
                    If tp = 2 Then RichTextBox1.SelColor = ColorConstants.vbRed
                End If
                RichTextBox1.SelText = m
            Next i
            RichTextBox1.SelText = vbCrLf
        End If
    End Sub
    Ce qui me donne exporté ensuite en doc ou rtf

    Nom : Spy.png
Affichages : 393
Taille : 18,7 Ko

    Bon les couleurs sont un peu criardes va falloir que j'adapte.
    J'ai remplacé les caractères invisibles par du texte.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 12/08/2006, 13h01
  2. dégradé sur une listbox avec 1/2 couleurs
    Par avogadro dans le forum Composants VCL
    Réponses: 8
    Dernier message: 05/05/2006, 18h21
  3. Passer d'un champ à l'autre avec TAB
    Par Sharingan dans le forum MFC
    Réponses: 4
    Dernier message: 11/10/2005, 13h52
  4. [C#] Passer d'un webform à un autre avec blocage
    Par Coplan dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/05/2005, 12h04
  5. Passage d'un enregistrement à un autre avec TAB
    Par Cécile154 dans le forum Access
    Réponses: 2
    Dernier message: 16/02/2005, 14h47

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