listbox grisée 1 ligne sur 2

Le
---DGI972---
Bonjour à tous,

Je cherche a griser une listbox une ligne sur deux pour faciliter la
lecture.
Je suppose que je ne suis pas le seul dans ce cas et, je cherche un bout de
code pour l'amélioration du confort appréciable de lecture d'une liste.

Merci d'avance, et bonnes fêtes à tous.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #15378831
Bonjour,

Je ne crois pas que ce soit possible, sauf
peut être avec les API, mais là, je ne sais pas,
tu auras sans doute des réponses à ce titre.

Cordialement :o)

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"---DGI972---" <gilles.dermigny@*NO
SPAM*laposte.net> a écrit dans le message de news:

| Bonjour à tous,
|
| Je cherche a griser une listbox une ligne sur
deux pour faciliter la
| lecture.
| Je suppose que je ne suis pas le seul dans ce
cas et, je cherche un bout de
| code pour l'amélioration du confort appréciable
de lecture d'une liste.
|
| Merci d'avance, et bonnes fêtes à tous.
|
|
François Picalausa
Le #15378821
On Dec 22, 2:58 pm, "---DGI972---" <gilles.dermigny@*NO
SPAM*laposte.net> wrote:

Je cherche a griser une listbox une ligne sur deux pour faciliter la
lecture.
Je suppose que je ne suis pas le seul dans ce cas et, je cherche un bout d e
code pour l'amélioration du confort appréciable de lecture d'une liste .



Hello,

Avec une simple listbox ce n'est pas simple à faire (il faut passer
par un contrôle owner drawn). Néanmoins, si une listview est
acceptable, il est possible de réaliser cela de manière nettement plus
"simple" :
http://faq.vb.free.fr/index.php?question9

François
LE TROLL
Le #15378811
Bonjour François, j'ai une question au dessus, au
cas où tu ne l'aurais pas vu, tu es toujours MVP
VB, non ? Ben ---> Merci :o)

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"François Picalausa" écrit dans le message de news:

On Dec 22, 2:58 pm, "---DGI972---"
<gilles.dermigny@*NO
SPAM*laposte.net> wrote:

Je cherche a griser une listbox une ligne sur
deux pour faciliter la
lecture.
Je suppose que je ne suis pas le seul dans ce
cas et, je cherche un bout de
code pour l'amélioration du confort appréciable
de lecture d'une liste.



Hello,

Avec une simple listbox ce n'est pas simple à
faire (il faut passer
par un contrôle owner drawn). Néanmoins, si une
listview est
acceptable, il est possible de réaliser cela de
manière nettement plus
"simple" :
http://faq.vb.free.fr/index.php?question9

François
Jacques93
Le #15378771
Bonjour ---DGI972---,
---DGI972--- a écrit :
Bonjour à tous,

Je cherche a griser une listbox une ligne sur deux pour faciliter la
lecture.
Je suppose que je ne suis pas le seul dans ce cas et, je cherche un bout de
code pour l'amélioration du confort appréciable de lecture d'une liste.

Merci d'avance, et bonnes fêtes à tous.





Une autre solution est d'utiliser le contrôle MSFlexGrid, qui permet pas
mal de personnalisation, et peut simuler une ListBox, bien que la
ListView soit plus dans l'esprit de la ListBox (pour ajouter / enlever
des éléments) :

Private Sub ColorFlexgrid()
Dim i As Integer

With Me.MSFlexGrid1
.Appearance = flexFlat
.GridLines = flexGridNone
.FixedCols = 0
.FixedRows = 0
.Cols = 1
.Rows = 20
.ColWidth(0) = .Width
.Col = 0
For i = 0 To .Rows - 1
.Row = i
If i Mod 2 Then
.CellBackColor = vbButtonFace
.CellForeColor = vbYellow
.CellFontName = "Verdana"
.CellFontItalic = True
.CellFontBold = True
End If
.TextMatrix(i, 0) = String(10, Chr$(65 + i))
Next
.BackColorSel = vbBlue
End With
End Sub



--
Cordialement,

Jacques.
---DGI972---
Le #15378721
Merci,

Je vais digérer les 2 solutions.

Bonnes fêtes à tous

"Jacques93" a écrit dans le message de news:

Bonjour ---DGI972---,
---DGI972--- a écrit :
Bonjour à tous,

Je cherche a griser une listbox une ligne sur deux pour faciliter la
lecture.
Je suppose que je ne suis pas le seul dans ce cas et, je cherche un bout
de code pour l'amélioration du confort appréciable de lecture d'une
liste.

Merci d'avance, et bonnes fêtes à tous.





Une autre solution est d'utiliser le contrôle MSFlexGrid, qui permet pas
mal de personnalisation, et peut simuler une ListBox, bien que la ListView
soit plus dans l'esprit de la ListBox (pour ajouter / enlever des
éléments) :

Private Sub ColorFlexgrid()
Dim i As Integer

With Me.MSFlexGrid1
.Appearance = flexFlat
.GridLines = flexGridNone
.FixedCols = 0
.FixedRows = 0
.Cols = 1
.Rows = 20
.ColWidth(0) = .Width
.Col = 0
For i = 0 To .Rows - 1
.Row = i
If i Mod 2 Then
.CellBackColor = vbButtonFace
.CellForeColor = vbYellow
.CellFontName = "Verdana"
.CellFontItalic = True
.CellFontBold = True
End If
.TextMatrix(i, 0) = String(10, Chr$(65 + i))
Next
.BackColorSel = vbBlue
End With
End Sub



--
Cordialement,

Jacques.


---DGI972---
Le #15378611
C'est pas mal merci,

J'ai 2 petites questions supplémentaires:
Peut on supprimer une ligne (clic droit supprimer par ex) dans une
MSflexgrid ?
C'est quoi une listView (j'ai pas trouvé mais bon je suis plus qu'un
débutant en VB6) ?

Cordialement,


"Jacques93" a écrit dans le message de news:

Bonjour ---DGI972---,
---DGI972--- a écrit :
Bonjour à tous,

Je cherche a griser une listbox une ligne sur deux pour faciliter la
lecture.
Je suppose que je ne suis pas le seul dans ce cas et, je cherche un bout
de code pour l'amélioration du confort appréciable de lecture d'une
liste.

Merci d'avance, et bonnes fêtes à tous.





Une autre solution est d'utiliser le contrôle MSFlexGrid, qui permet pas
mal de personnalisation, et peut simuler une ListBox, bien que la ListView
soit plus dans l'esprit de la ListBox (pour ajouter / enlever des
éléments) :

Private Sub ColorFlexgrid()
Dim i As Integer

With Me.MSFlexGrid1
.Appearance = flexFlat
.GridLines = flexGridNone
.FixedCols = 0
.FixedRows = 0
.Cols = 1
.Rows = 20
.ColWidth(0) = .Width
.Col = 0
For i = 0 To .Rows - 1
.Row = i
If i Mod 2 Then
.CellBackColor = vbButtonFace
.CellForeColor = vbYellow
.CellFontName = "Verdana"
.CellFontItalic = True
.CellFontBold = True
End If
.TextMatrix(i, 0) = String(10, Chr$(65 + i))
Next
.BackColorSel = vbBlue
End With
End Sub



--
Cordialement,

Jacques.


Jacques93
Le #15378481
Bonjour ---DGI972---,
---DGI972--- a écrit :
C'est pas mal merci,

J'ai 2 petites questions supplémentaires:
Peut on supprimer une ligne (clic droit supprimer par ex) dans une
MSflexgrid ?



Oui, avec la méthode RemoveItem :

Me.MSFlexGrid1.RemoveItem NoLigne

Avec un ListView avec la méthode Remove :

Me.ListView1.ListItems.Remove


C'est quoi une listView (j'ai pas trouvé mais bon je suis plus qu'un
débutant en VB6) ?



Pour utiliser le composant ListView, dans l'IDE VB :

Projet => Composants => Microsoft Windows Common Controls 6.0
(MsComCtl.ocx). C'est en fait un groupe de composants :

TabStrip
ToolBar
StatusBar
ProgressBar
Treeview
LISTVIEW
ImageList
Slider
ImageCombo

Le contrôle ListView ressemble en fait à la partie droite de
l'explorateur Windows (la partie gauche étant un TreeView).

--
Meilleurs voeux à tous,

Jacques.
---DGI972---
Le #15378441
Jacques93 a écrit :
Bonjour ---DGI972---,
---DGI972--- a écrit :
C'est pas mal merci,

J'ai 2 petites questions supplémentaires:
Peut on supprimer une ligne (clic droit supprimer par ex) dans une
MSflexgrid ?



Oui, avec la méthode RemoveItem :

Me.MSFlexGrid1.RemoveItem NoLigne

Avec un ListView avec la méthode Remove :

Me.ListView1.ListItems.Remove


C'est quoi une listView (j'ai pas trouvé mais bon je suis plus qu'un
débutant en VB6) ?



Pour utiliser le composant ListView, dans l'IDE VB :

Projet => Composants => Microsoft Windows Common Controls 6.0
(MsComCtl.ocx). C'est en fait un groupe de composants :

TabStrip
ToolBar
StatusBar
ProgressBar
Treeview
LISTVIEW
ImageList
Slider
ImageCombo

Le contrôle ListView ressemble en fait à la partie droite de l'explorateur
Windows (la partie gauche étant un TreeView).



Merci pour toutes ces précisions
Publicité
Poster une réponse
Anonyme