OVH Cloud OVH Cloud

Afficher des dossiers façon windows

7 réponses
Avatar
Pascal
Bonsoir à tous

Pouvez-vous m'expliquer ou tout au moins m'aiguiller face à cette demande.

Je désirerai dans un form pouvoir afficher (fileListBox ? Listbox ?) les
dossiers contenu dans un répertoire précis mais uniquement les dossiers à la
façon de windows sous forme d'icône, ensuite pour visualiser le contenu de
ces dossiers, double-click et affiche du contenu dans une listbox, je
précise que je ne veux pas faire un treeview.

Merci de vos idées

Pascal

7 réponses

Avatar
Jacques93
Bonjour Pascal,
Pascal a écrit :
Bonsoir à tous

Pouvez-vous m'expliquer ou tout au moins m'aiguiller face à cette demande.

Je désirerai dans un form pouvoir afficher (fileListBox ? Listbox ?) les
dossiers contenu dans un répertoire précis mais uniquement les dossiers à la
façon de windows sous forme d'icône, ensuite pour visualiser le contenu de
ces dossiers, double-click et affiche du contenu dans une listbox, je
précise que je ne veux pas faire un treeview.




N'étant pas sur d'avoir bien compris ta demande, l'affichage des
dossiers devrait il ressembler à cela :

http://cjoint.com/?mgtNkD7MwS

--
Cordialement,

Jacques.
Avatar
Pascal
bonsoir jacques, merci pour votre intérêt à mon problème
c'est tout à fait cette façon de visualiser que je veux faire
merci de m'indiquer la façon
Pascal

"Jacques93" a écrit dans le message de news:
eV1NCTp#
Bonjour Pascal,
Pascal a écrit :
> Bonsoir à tous
>
> Pouvez-vous m'expliquer ou tout au moins m'aiguiller face à cette


demande.
>
> Je désirerai dans un form pouvoir afficher (fileListBox ? Listbox ?) les
> dossiers contenu dans un répertoire précis mais uniquement les dossiers


à la
> façon de windows sous forme d'icône, ensuite pour visualiser le contenu


de
> ces dossiers, double-click et affiche du contenu dans une listbox, je
> précise que je ne veux pas faire un treeview.
>

N'étant pas sur d'avoir bien compris ta demande, l'affichage des
dossiers devrait il ressembler à cela :

http://cjoint.com/?mgtNkD7MwS

--
Cordialement,

Jacques.


Avatar
Jacques93
Bonjour Pascal,
Pascal a écrit :
bonsoir jacques, merci pour votre intérêt à mon problème
c'est tout à fait cette façon de visualiser que je veux faire
merci de m'indiquer la façon
Pascal




Sur une feuille, tu mets :

- un Label : Label1
- un ListView : ListView1 (Composant Microsoft Common Control 6.0)
- un ImageList : ImageList1 (Composant Microsoft Common Control 6.0)
- un DirListBox : Dir1
- un FileListBox : File1

Tu initialises le contrôle ImageList1 avec une icône 32x32 représentant
les dossiers, et tu copie ce code dans ta feuille :

'----------------------------------------------------------------------
Option Explicit

Private Sub Form_Load()
Me.Dir1.Path = CurDir
Me.Dir1.Visible = False
With Me.ListView1
.View = lvwIcon
.Icons = Me.ImageList1
.MultiSelect = False
End With
ShowRep
End Sub

Private Sub ShowRep()
Dim i As Integer
Dim s As String

Me.Label1 = Me.Dir1.Path
With Me.ListView1
.ListItems.Clear
For i = 0 To Me.Dir1.ListCount - 1
s = Mid(Me.Dir1.List(i), InStrRev(Me.Dir1.List(i), "") + 1)
.ListItems.Add , , s, 1
Next i
End With
ShowFile
End Sub

Private Sub ShowFile()
Me.File1.Path = Me.Dir1.Path
End Sub

Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
Me.Dir1.Path = Me.Dir1.Path & "" & Item.Text
ShowRep
End Sub

'----------------------------------------------------------------------

PS : Tu peux utiliser l'instruction Dir plutôt qu'un contrôle
DirListBox, et il te reste à gérer la remontée dans l'arborescence.

--
Cordialement,

Jacques.
Avatar
Pascal
Grand merci Jacques,
n'esperai pas autant (le code)...génial
j'essaie dans ce sens
Pascal


"Jacques93" a écrit dans le message de news:
#B2Ur3y#
Bonjour Pascal,
Pascal a écrit :
> bonsoir jacques, merci pour votre intérêt à mon problème
> c'est tout à fait cette façon de visualiser que je veux faire
> merci de m'indiquer la façon
> Pascal
>

Sur une feuille, tu mets :

- un Label : Label1
- un ListView : ListView1 (Composant Microsoft Common Control 6.0)
- un ImageList : ImageList1 (Composant Microsoft Common Control 6.0)
- un DirListBox : Dir1
- un FileListBox : File1

Tu initialises le contrôle ImageList1 avec une icône 32x32 représentant
les dossiers, et tu copie ce code dans ta feuille :

'----------------------------------------------------------------------
Option Explicit

Private Sub Form_Load()
Me.Dir1.Path = CurDir
Me.Dir1.Visible = False
With Me.ListView1
.View = lvwIcon
.Icons = Me.ImageList1
.MultiSelect = False
End With
ShowRep
End Sub

Private Sub ShowRep()
Dim i As Integer
Dim s As String

Me.Label1 = Me.Dir1.Path
With Me.ListView1
.ListItems.Clear
For i = 0 To Me.Dir1.ListCount - 1
s = Mid(Me.Dir1.List(i), InStrRev(Me.Dir1.List(i), "") + 1)
.ListItems.Add , , s, 1
Next i
End With
ShowFile
End Sub

Private Sub ShowFile()
Me.File1.Path = Me.Dir1.Path
End Sub

Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
Me.Dir1.Path = Me.Dir1.Path & "" & Item.Text
ShowRep
End Sub

'----------------------------------------------------------------------

PS : Tu peux utiliser l'instruction Dir plutôt qu'un contrôle
DirListBox, et il te reste à gérer la remontée dans l'arborescence.

--
Cordialement,

Jacques.


Avatar
Pascal
hello Jacques,
cela marche à merveille ton truc
une petite question cependant:
ma FileListBox j'aurai aimé avoir le backcolor en noir, si je fais cela
l'affichage des dossiers n'es plus lisible (normal fond noir avec le FONT en
noir!!)
question est ce que je peux changer kkchose a ceci pour afficher le texte
des dossiers en rouge par ex (en clair mettre le FONT en rouge)
Me.Label4 = Me.Dir1.Path
With Me.ListView1
.ListItems.Clear
For i = 0 To Me.Dir1.ListCount - 1
s = Mid(Me.Dir1.List(i), InStrRev(Me.Dir1.List(i), "") + 1)
.ListItems.Add , , s, 1
merci d'avance
Pascal


"Jacques93" a écrit dans le message de news:
#B2Ur3y#
Bonjour Pascal,
Pascal a écrit :
> bonsoir jacques, merci pour votre intérêt à mon problème
> c'est tout à fait cette façon de visualiser que je veux faire
> merci de m'indiquer la façon
> Pascal
>

Sur une feuille, tu mets :

- un Label : Label1
- un ListView : ListView1 (Composant Microsoft Common Control 6.0)
- un ImageList : ImageList1 (Composant Microsoft Common Control 6.0)
- un DirListBox : Dir1
- un FileListBox : File1

Tu initialises le contrôle ImageList1 avec une icône 32x32 représentant
les dossiers, et tu copie ce code dans ta feuille :

'----------------------------------------------------------------------
Option Explicit

Private Sub Form_Load()
Me.Dir1.Path = CurDir
Me.Dir1.Visible = False
With Me.ListView1
.View = lvwIcon
.Icons = Me.ImageList1
.MultiSelect = False
End With
ShowRep
End Sub

Private Sub ShowRep()
Dim i As Integer
Dim s As String

Me.Label1 = Me.Dir1.Path
With Me.ListView1
.ListItems.Clear
For i = 0 To Me.Dir1.ListCount - 1
s = Mid(Me.Dir1.List(i), InStrRev(Me.Dir1.List(i), "") + 1)
.ListItems.Add , , s, 1
Next i
End With
ShowFile
End Sub

Private Sub ShowFile()
Me.File1.Path = Me.Dir1.Path
End Sub

Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
Me.Dir1.Path = Me.Dir1.Path & "" & Item.Text
ShowRep
End Sub

'----------------------------------------------------------------------

PS : Tu peux utiliser l'instruction Dir plutôt qu'un contrôle
DirListBox, et il te reste à gérer la remontée dans l'arborescence.

--
Cordialement,

Jacques.


Avatar
Jacques93
Bonjour Pascal,
Pascal a écrit :
hello Jacques,
cela marche à merveille ton truc
une petite question cependant:
ma FileListBox j'aurai aimé avoir le backcolor en noir, si je fais cela
l'affichage des dossiers n'es plus lisible (normal fond noir avec le FONT en
noir!!)
question est ce que je peux changer kkchose a ceci pour afficher le texte
des dossiers en rouge par ex (en clair mettre le FONT en rouge)
Me.Label4 = Me.Dir1.Path
With Me.ListView1
.ListItems.Clear
For i = 0 To Me.Dir1.ListCount - 1
s = Mid(Me.Dir1.List(i), InStrRev(Me.Dir1.List(i), "") + 1)
.ListItems.Add , , s, 1
merci d'avance
Pascal



Que ça soit avec le ListView des dossiers ou le FileListBox des
fichiers, tu as les propriétés :

BackColor
et
ForeColor

--
Cordialement,

Jacques.
Avatar
Pascal
euhhhhhhhhhhhhh!! en voilà une question pour rien sorry n'avais pas vu sur
fileListBox la propriété forecolor
promis je vais acheter de plus grosses lunettes
merci pour ta gentillesse et le temps passé

Pascal


"Jacques93" a écrit dans le message de news:
Oj1H98##
Bonjour Pascal,
Pascal a écrit :
> hello Jacques,
> cela marche à merveille ton truc
> une petite question cependant:
> ma FileListBox j'aurai aimé avoir le backcolor en noir, si je fais cela
> l'affichage des dossiers n'es plus lisible (normal fond noir avec le


FONT en
> noir!!)
> question est ce que je peux changer kkchose a ceci pour afficher le


texte
> des dossiers en rouge par ex (en clair mettre le FONT en rouge)
> Me.Label4 = Me.Dir1.Path
> With Me.ListView1
> .ListItems.Clear
> For i = 0 To Me.Dir1.ListCount - 1
> s = Mid(Me.Dir1.List(i), InStrRev(Me.Dir1.List(i), "") + 1)
> .ListItems.Add , , s, 1
> merci d'avance
> Pascal

Que ça soit avec le ListView des dossiers ou le FileListBox des
fichiers, tu as les propriétés :

BackColor
et
ForeColor

--
Cordialement,

Jacques.