I. Préparation du contrôle▲
Pour un formulaire qui contient un sous-formulaire ou cadre subFormImageListExplorer.
Option
Explicit
Private
WithEvents oList As
CtrlImageListExplorer
Private
Sub
Form_Load
(
) '
UserForm_Initialize
pour
Excel
Set
oList =
CreateTGLControl
(
CtrlImageListExplorer, Me.
subFormImageListExplorer
)
End
Sub
II. Propriétés▲
La colonne Get indique si la propriété est disponible en lecture.
La colonne Set indique si la propriété est disponible en écriture.
Propriété | Get | Let | Type | Explication |
---|---|---|---|---|
Extensions | X | X | String | Liste des extensions à afficher. Exemple : "jpg,png,bmp,gif" |
FilesOnly | X | X | Boolean | Si Vrai, seuls les fichiers sont affichés. |
OpenFileOnDblClick | X | X | Boolean | Si Vrai, les fichiers sont ouverts par double-clic. |
NavigateOnDblClick | X | X | Boolean | Si Vrai, navigue par double-clic sur les disques ou dossiers. |
DisplayMyDocuments | X | X | Boolean | Si Vrai (par défaut), le dossier Mes documents est affiché. |
DisplayMyPictures | X | X | Boolean | Si Vrai (par défaut), le dossier Mes images est affiché. |
SortBy | X | X | ETGLExplorerSortOrder | Ordre de tri à appliquer (ascendant ou descendant). |
SortOrder | X | X | ETGLExplorerSortBy | Type de tri à appliquer à l'explorateur. |
ListObject | X | CtrlImageList | Objet Liste d'images utilisé pour gérer l'explorateur. | |
LinkedTree | X | X | SubForm contenant un objet CtrlTreeExplorer |
Arbre lié à l'explorateur. Pour Excel, passez directement l’objet CtrlTreeExplorer. |
Path | X | X | String | Chemin courant. Les fichiers et dossiers de ce chemin sont affichés dans la liste. Définissez un chemin vide ("") pour afficher les disques de l'ordinateur. Utilisez ensuite Refresh pour mettre à jour l'affichage. |
III. Méthodes▲
III-A. ElementAdd▲
Ajoute un élément à la liste à partir de son chemin.
Paramètre | Type | Explication |
---|---|---|
pPath | String | Chemin de l'élément. |
pType | ETGLExplorerElementType | Type de l'élément à ajouter. N'utilisez pas ce paramètre si vous ne connaissez pas le type d'élément. |
Valeur renvoyée | CtrlImageListElement | Elément ajouté. |
III-B. Refresh▲
III-C. Clear▲
Vide la liste.
Utilisez ensuite Refresh pour mettre à jour l'affichage.
III-D. NavigateBack▲
Navigue vers le dossier parent.
Utilisez ensuite Refresh pour mettre à jour l'affichage.
IV. Evénements▲
IV-A. ActiveElementChanged▲
S'exécute sur changement de l'élément actif.
Paramètre | Type | Explication |
---|---|---|
pElement | CtrlTreeElement | Elément actif. Nothing si aucun élément n'est actif. |
IV-B. PathChanged▲
S'exécute sur changement du chemin.
Paramètre | Type | Explication |
---|---|---|
pPath | String | Nouveau chemin. |
IV-C. BeforeDraw▲
S'exécute avant dessin d'un élément.
Paramètre | Type | Explication |
---|---|---|
pElement | CtrlImageListElementBeforeDraw | Elément à dessiner. |
Les modifications apportées à l'élément ne sont pas définitives.
Elles ne sont valables que le temps du dessin de cet élément.
IV-D. BeforeDrawMenu▲
S'exécute avant dessin du menu.
Paramètre | Type | Explication |
---|---|---|
pElement | CtrlImageListElementBeforeDraw | Elément à dessiner. |
pMenu | CtrlImageListMenu | Elément à dessiner. |
pElement est l'élément après passage dans l'événement BeforeDraw.
Les modifications apportées au menu sont définitifs.
Elles s'appliqueront également aux prochains dessins du menu.
IV-E. MouseMove▲
S'exécute sur déplacement de la souris sur le contrôle.
Paramètre | Type | Explication |
---|---|---|
pElement | CtrlImageListElement | Elément survolé par la souris. Nothing si aucun élément n'est survolé. |
pMenuKey | String | Identifiant de l'élément de menu sous la souris. |
Button | Integer | Bouton de la souris appuyé. |
Shift | Integer | Etat des touches Shift, Alt et Ctrl. |
X | Single | Position de la souris sur le contrôle, en twips ou points. |
Y | Single | Position de la souris sur le contrôle, en twips ou points. |
IV-F. MouseDown▲
S'exécute sur souris appuyée sur le contrôle.
Paramètre | Type | Explication |
---|---|---|
pElement | CtrlImageListElement | Elément survolé par la souris. Nothing si aucun élément n'est survolé. |
pMenuKey | String | Identifiant de l'élément de menu sous la souris. |
Button | Integer | Bouton de la souris appuyé. |
Shift | Integer | Etat des touches Shift, Alt et Ctrl. |
X | Single | Position de la souris sur le contrôle, en twips ou points. |
Y | Single | Position de la souris sur le contrôle, en twips ou points. |
IV-G. MouseUp▲
S'exécute sur souris relâchée sur le contrôle.
Paramètre | Type | Explication |
---|---|---|
pElement | CtrlImageListElement | Elément survolé par la souris. Nothing si aucun élément n'est survolé. |
pMenuKey | String | Identifiant de l'élément de menu sous la souris. |
Button | Integer | Bouton de la souris relâché. |
Shift | Integer | Etat des touches Shift, Alt et Ctrl. |
X | Single | Position de la souris sur le contrôle, en twips ou points. |
Y | Single | Position de la souris sur le contrôle, en twips ou points. |
IV-H. MouseDblClick▲
S'exécute sur double-clic de la souris sur le contrôle.
Paramètre | Type | Explication |
---|---|---|
pElement | CtrlImageListElement | Elément survolé par la souris. Nothing si aucun élément n'est survolé. |
pMenuKey | String | Identifiant de l'élément de menu sous la souris. |
Button | Integer | Bouton de la souris appuyé. |
Shift | Integer | Etat des touches Shift, Alt et Ctrl. |
X | Single | Position de la souris sur le contrôle, en twips ou points. |
Y | Single | Position de la souris sur le contrôle, en twips ou points. |
IV-I. KeyDown▲
S'exécute sur touche appuyée sur le contrôle.
Paramètre | Type | Explication |
---|---|---|
pElement | CtrlImageListElement | Elément survolé par la souris. Nothing si aucun élément n'est survolé. |
pMenuKey | String | Identifiant de l'élément de menu sous la souris. |
KeyCode | Integer | Code de la touche appuyée. |
Shift | Integer | Etat des touches Shift, Alt et Ctrl. |
IV-J. AfterDrawImage▲
S'exécute avant dessin d'un élément.
Cet événement n'est déclenché que si RaiseAfterDraw = True.
Paramètre | Type | Explication |
---|---|---|
pElement | CtrlImageListElementBeforeDraw | Elément à dessiner. |
pCancelDraw | Boolean | Si Vrai, ne redessine pas l'image. |
Il est possible de modifier l'image ImageName de l'élément.
Les modifications apportées à l'élément ne sont pas définitives.
Elles ne sont valables que le temps du dessin de cet élément.
Exemple :
Private
Sub
oList_AfterDrawImage
(
pElement As
CtrlImageListElementBeforeDraw, pCancelDraw As
Boolean
)
If
pElement.
ImageName
<
>
"
"
Then
oList.
ListObject
.
Gdi
.
ImageListDrawText
pElement.
ImageName
, "
test
"
, 34
, , 0
, 0
, 100
, 100
, 0
, 0
End
If
End
Sub
IV-K. BeforeLoadImage▲
S'exécute avant le chargement d'une image pour permettre un chargement spécifique.
Paramètre | Type | Explication |
---|---|---|
pElement | CtrlImageListElement | Elément à dessiner. |
pCancelLoad | Boolean | Si Vrai, annule le chargement de l'image par le contrôle. |
Il est possible de charger l'image ImageName de l'élément de manière spécifique.
Astuce : Mettre une valeur quelconque dans la propriété ImagePath de l'élément à sa création pour charger l'image de manière asynchrone.
Exemple :
Private
Sub
oList_BeforeLoadImage
(
pElement As
CtrlImageListElement, pCancelLoad As
Boolean
)
oList.
ListObject
.
ImageListAdd
pElement.
ImagePath
, pElement.
ImagePath
, , True
pElement.
ImageName
=
pElement.
ImagePath
pCancelLoad =
True
End
Sub
V. Exemple▲
Pour un formulaire qui contient un sous-formulaire ou cadre subFormList.
Option
Explicit
'
Objet
Contrôle
Private
WithEvents oList As
CtrlImageListExplorer
Private
Sub
Form_Load
(
) '
UserForm_Initialize
pour
Excel
'
Initialisation
du
contrôle
Set
oList =
CreateTGLControl
(
CtrlImageListExplorer, Me.
subFormList
)
'
Taille
des
image
oList.
ListObject
.
ImageWidth
=
120
'
Taille
du
texte
oList.
ListObject
.
FontSize
=
8
'
Couleur
de
fond
oList.
ListObject
.
BackColor
=
RGB
(
255
, 240
, 240
)
'
Couleur
du
texte
oList.
ListObject
.
FontColor
=
RGB
(
50
, 50
, 200
)
'
Tri
par
date
oList.
SortBy
=
TGLExplorerSortByDate
'
Chemin
vide
=>
affichage
des
disques
oList.
Path
=
"
"
'
Redessine
le
contrôle
oList.
Refresh
End
Sub