Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

listbox grisée 1 ligne sur 2

8 réponses
Avatar
---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.

8 réponses

Avatar
LE TROLL
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.
|
|
Avatar
François Picalausa
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
Avatar
LE TROLL
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" a
é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
Avatar
Jacques93
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.
Avatar
---DGI972---
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.


Avatar
---DGI972---
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.


Avatar
Jacques93
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.
Avatar
---DGI972---
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