Zexplorer (explorateur windows)

Description

zExplorer

Ce projet montre comment inclure un contrôle de type "Browse For Folder" directement à l'intérieur d'une fenêtre, au lieu d'avoir à recourir au popup "FolderBrowserDialog".

L'exemple simule les fonctions de base de l'explorateur Windows, dont il s'inspire.

La fenêtre est divisée en 2 parties :
1 - L'explorateur zBff (TreeView) affiché dans un conteneur situé à gauche de la fenêtre.
2 - Un DataGridView qui affiche le contenu du répertoire sous forme de tableau.
Un double clic sur un nom de fichier, lance l'exécution ou l'ouverture du document avec le programme associé.

Le TreeView comporte un menu contextuel qui permet au choix de :
- Créer un nouveau dossier.
- Renommer le dossier.
- Supprimer le dossier.
En cas de suppression, une boîte de message personnalisée demande confirmation de l'effacement, avant d'envoyer le dossier dans la corbeille.

On peut déplacer un dossier dans l'arborescence du TreeView par "drag & drop".

Le programme mémorise (dans la base de registre) le dernier répertoire utilisé, afin de s'y replacer automatiquement d'une session à l'autre.

Les messages sont affichés en français, sur un ordinateur qui utilise la langue de Molière, sinon en anglais pour les autres.

On peut personnaliser les couleurs de zBff de la façon suivante :
BF.SetProperty(BF.CtrlHandle, BF.Bff_ColorBackTreeView, Api.RGB(255, 255, 255)); // TreeView background color
BF.SetProperty(BF.CtrlHandle, BF.Bff_ColorTextTreeView, Api.RGB(0, 0, 0)); // TreeView text and line color
BF.SetProperty(BF.CtrlHandle, BF.Bff_ColorBackSelected, Api.RGB(178, 180, 191)); // Selected item background color
BF.SetProperty(BF.CtrlHandle, BF.Bff_ColorTextSelected, Api.RGB(0, 0, 0)); // Selected item text color

Comme le splitter DotNET ne fonctionne pas correctement avec un contrôle créé hors de l'environnement (cf ZBFF), le projet utilise un code spécifique basé sur la classe "button" afin de redimensionner les contrôles à la volée.

Reste à faire :
- L'ajout ou la suppression de périphériques de stockage (fileSystemWatcher).
- La gestion des fichiers à l'intérieur d'un répertoire.

Conclusion :


Le projet s'appuie sur la DLL Win32 "zBff.dll" qui se trouve dans le répertoire "bing\debug".
Cette DLL, qui ne pèse que 33 Ko, est mise gracieusement à votre disposition, car son portage DotNET nécessite de toute façon une utilisation importante de code non managé.
Alors autant réutiliser un code qui fonctionne déjà avec n'importe quel langage de développement Win32 ou DotNET et ce depuis des années.

Cependant, si vous souhaitez vous plonger dans les arcanes de la programmation Win32 bas niveau, il existe un excellent code source C#, avec des fonctions similaires, vous le trouverez ici :
http://www.codeproject.com/cs/miscctrl/FileBrowser.asp

Patrice Terrier

Codes Sources

A voir également