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 SubII. 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 SubIV-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 SubV. 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




