[Ex] TreeView de dossiers avec sélection.
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- Tlem
- Site Admin
- Messages : 11773
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
[Ex] TreeView de dossiers avec sélection.
Voici un exemple de script provenant du forum Anglais, qui permet d'afficher un arbre complet de l'ordinateur, de ces disques dur et de ses dossiers (voir image jointe).
Téléchargez le zip joint et amusez vous.
Ancienne version téléchargée 126 fois.
Téléchargez le zip joint et amusez vous.
Ancienne version téléchargée 126 fois.
- Fichiers joints
-
- ShellTristateTree.PNG (16.27 Kio) Vu 21911 fois
-
- ShellTristateTreeView.zip
- (15.67 Kio) Téléchargé 2004 fois
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [Ex] TreeView de dossiers avec sélection.
super rapide en plus merci
-
- Niveau 4
- Messages : 81
- Enregistré le : mar. 14 juil. 2009 13:48
- Localisation : Montauban
- Status : Hors ligne
Re: [Ex] TreeView de dossiers avec sélection.
Bonjour,
Je me permets de relancer ce sujet, car je suis très fortement interessé par ce script, mais il ne fonctionne pas chez moi.
En effet, lorsque je lance ShellTristateTreeDemo.au3, il m'affiche :
C:\ShellTristateTreeView\ShellTristateTreeView.au3(57,78) : ERROR: $CLR_NONE previously declared as a 'Const'
If Not IsDeclared("CLR_NONE") Then Global Const $CLR_NONE= 0xFFFFFFFF
C:\ShellTristateTreeView\ShellTristateTreeView.au3(197,40) : WARNING: $TVN_ITEMEXPANDING: possibly used before declaration.
Case $TVN_ITEMEXPANDING
C:\ShellTristateTreeView\ShellTristateTreeView.au3(533,33) : WARNING: $TVM_SETITEM: possibly used before declaration.
SendMessage($hWnd, $TVM_SETITEM,
C:\ShellTristateTreeView\ShellTristateTreeView.au3(542,33) : WARNING: $TVM_GETITEM: possibly used before declaration.
SendMessage($hWnd, $TVM_GETITEM,
C:\ShellTristateTreeView\ShellTristateTreeView.au3(197,40) : ERROR: $TVN_ITEMEXPANDING: undeclared global variable.
Case $TVN_ITEMEXPANDING
Je ne comprends pas bien pourquoi ?
Et d'une manière générale, quelqu'un pourrait-il expliquer quel est la démarche générale de création d'un tel script, sans rentrer dans les détails tel que utilisation d'images pour les checkBox personnalisées, les icônes à utiliser....etc...un truc simple, du style :
1) je crée un TreeView
2) je recherche les dossiers, sous-dossiers et fichiers que je place dans un tableau
3) je fais correspondre les éléments de ce tableau à mes checkBox
4) l'utilisation des sélections de checkbox sont possibles grâce à tel et tel procédés...
....etc
Il est vrai que ce script est génial (quand il fonctionne), mais permet difficilement de comprendre la méthodologie utilisée pour résoudre le problème initial, à savoir afficher les dossiers, sous-dossiers et fichiers en arborescence, comme un explorateur windows.
Merci d'avance à ceux ou celles qui me permettront d'avancer en ce sens...
Bonne journée,
Gnifrus.
Je me permets de relancer ce sujet, car je suis très fortement interessé par ce script, mais il ne fonctionne pas chez moi.
En effet, lorsque je lance ShellTristateTreeDemo.au3, il m'affiche :
C:\ShellTristateTreeView\ShellTristateTreeView.au3(57,78) : ERROR: $CLR_NONE previously declared as a 'Const'
If Not IsDeclared("CLR_NONE") Then Global Const $CLR_NONE= 0xFFFFFFFF
C:\ShellTristateTreeView\ShellTristateTreeView.au3(197,40) : WARNING: $TVN_ITEMEXPANDING: possibly used before declaration.
Case $TVN_ITEMEXPANDING
C:\ShellTristateTreeView\ShellTristateTreeView.au3(533,33) : WARNING: $TVM_SETITEM: possibly used before declaration.
SendMessage($hWnd, $TVM_SETITEM,
C:\ShellTristateTreeView\ShellTristateTreeView.au3(542,33) : WARNING: $TVM_GETITEM: possibly used before declaration.
SendMessage($hWnd, $TVM_GETITEM,
C:\ShellTristateTreeView\ShellTristateTreeView.au3(197,40) : ERROR: $TVN_ITEMEXPANDING: undeclared global variable.
Case $TVN_ITEMEXPANDING
Je ne comprends pas bien pourquoi ?
Et d'une manière générale, quelqu'un pourrait-il expliquer quel est la démarche générale de création d'un tel script, sans rentrer dans les détails tel que utilisation d'images pour les checkBox personnalisées, les icônes à utiliser....etc...un truc simple, du style :
1) je crée un TreeView
2) je recherche les dossiers, sous-dossiers et fichiers que je place dans un tableau
3) je fais correspondre les éléments de ce tableau à mes checkBox
4) l'utilisation des sélections de checkbox sont possibles grâce à tel et tel procédés...
....etc
Il est vrai que ce script est génial (quand il fonctionne), mais permet difficilement de comprendre la méthodologie utilisée pour résoudre le problème initial, à savoir afficher les dossiers, sous-dossiers et fichiers en arborescence, comme un explorateur windows.
Merci d'avance à ceux ou celles qui me permettront d'avancer en ce sens...
Bonne journée,
Gnifrus.
- Tlem
- Site Admin
- Messages : 11773
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [Ex] TreeView de dossiers avec sélection.
L'archive a été mise à jour avec l'ancienne version et une version modifiée pour fonctionner avec AutoIt 3.3.6.0.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
-
- Niveau 4
- Messages : 81
- Enregistré le : mar. 14 juil. 2009 13:48
- Localisation : Montauban
- Status : Hors ligne
Re: [Ex] TreeView de dossiers avec sélection.
Génial !
Merci beaucoup !
Bonne journée,
Gnifrus.
Merci beaucoup !
Bonne journée,
Gnifrus.
Re: [Ex] TreeView de dossiers avec sélection.
Bonjour,
Génial! mais...
je n'arrive pas a modifier le script pour retiré les cases "CHECKBOX"...
Quelqu'un peu m'aider? MERCI!
Génial! mais...
je n'arrive pas a modifier le script pour retiré les cases "CHECKBOX"...
Quelqu'un peu m'aider? MERCI!
- Tlem
- Site Admin
- Messages : 11773
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [Ex] TreeView de dossiers avec sélection.
Pour les demandes d'aide, il y à une section prévue à cet effet ...
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
-
- Niveau 1
- Messages : 6
- Enregistré le : jeu. 21 avr. 2011 10:04
- Status : Hors ligne
Re: [Ex] TreeView de dossiers avec sélection.
Bonjour,
Je me permets de relancer ce sujet, car j'utilisais ce fichier en version 3.3.8.1 et j'ai mis à jour autoit avec la version 3.3.14.2 et ca ne fonctionne plus, il y a des erreurs:
"C:\Program Files (x86)\AutoIt3\Include\ShellTristateTreeView.au3"(56,84) : error: $LR_LOADFROMFILE previously declared as a 'Const'.
If Not IsDeclared("LR_LOADFROMFILE") Then Global Const $LR_LOADFROMFILE = 0x0010
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~^
"C:\Program Files (x86)\AutoIt3\Include\ShellTristateTreeView.au3"(57,89) : error: $LR_LOADTRANSPARENT previously declared as a 'Const'.
If Not IsDeclared("LR_LOADTRANSPARENT") Then Global Const $LR_LOADTRANSPARENT = 0x0020
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~^
"C:\Program Files (x86)\AutoIt3\Include\ShellTristateTreeView.au3"(58,90) : error: $LR_CREATEDIBSECTION previously declared as a 'Const'.
If Not IsDeclared("LR_CREATEDIBSECTION") Then Global Const $LR_CREATEDIBSECTION = 0x2000
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~^
"C:\Program Files (x86)\AutoIt3\Include\ShellTristateTreeView.au3"(60,75) : error: $IMAGE_BITMAP previously declared as a 'Const'.
If Not IsDeclared("IMAGE_BITMAP") Then Global Const $IMAGE_BITMAP = 0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~^
"C:\Program Files (x86)\AutoIt3\Include\ShellTristateTreeView.au3"(62,73) : error: $GWL_STYLE previously declared as a 'Const'.
If Not IsDeclared("GWL_STYLE") Then Global Const $GWL_STYLE = -16
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~^
J'ai essayé de rechercher une nouvelle version ici et sur le forum anglais, je n'ai pas trouvé?
Pouvez-vous m'aider ? Ou existe-il une nouvelle méthode pour pouvoir avoir des cases avec trois états ?
Par avance merci
Marcel PRUDHOMME
Je me permets de relancer ce sujet, car j'utilisais ce fichier en version 3.3.8.1 et j'ai mis à jour autoit avec la version 3.3.14.2 et ca ne fonctionne plus, il y a des erreurs:
"C:\Program Files (x86)\AutoIt3\Include\ShellTristateTreeView.au3"(56,84) : error: $LR_LOADFROMFILE previously declared as a 'Const'.
If Not IsDeclared("LR_LOADFROMFILE") Then Global Const $LR_LOADFROMFILE = 0x0010
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~^
"C:\Program Files (x86)\AutoIt3\Include\ShellTristateTreeView.au3"(57,89) : error: $LR_LOADTRANSPARENT previously declared as a 'Const'.
If Not IsDeclared("LR_LOADTRANSPARENT") Then Global Const $LR_LOADTRANSPARENT = 0x0020
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~^
"C:\Program Files (x86)\AutoIt3\Include\ShellTristateTreeView.au3"(58,90) : error: $LR_CREATEDIBSECTION previously declared as a 'Const'.
If Not IsDeclared("LR_CREATEDIBSECTION") Then Global Const $LR_CREATEDIBSECTION = 0x2000
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~^
"C:\Program Files (x86)\AutoIt3\Include\ShellTristateTreeView.au3"(60,75) : error: $IMAGE_BITMAP previously declared as a 'Const'.
If Not IsDeclared("IMAGE_BITMAP") Then Global Const $IMAGE_BITMAP = 0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~^
"C:\Program Files (x86)\AutoIt3\Include\ShellTristateTreeView.au3"(62,73) : error: $GWL_STYLE previously declared as a 'Const'.
If Not IsDeclared("GWL_STYLE") Then Global Const $GWL_STYLE = -16
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~^
J'ai essayé de rechercher une nouvelle version ici et sur le forum anglais, je n'ai pas trouvé?
Pouvez-vous m'aider ? Ou existe-il une nouvelle méthode pour pouvoir avoir des cases avec trois états ?
Par avance merci
Marcel PRUDHOMME
- walkson
- Modérateur
- Messages : 1020
- Enregistré le : ven. 12 août 2011 19:49
- Localisation : Hurepoix
- Status : Hors ligne
Re: [Ex] TreeView de dossiers avec sélection.
Bonjour,
Désactiver les lignes correspondantes aux erreurs
En fait, ces constantes sont déjà déclarées dans winapiconstants.au3
Fonctionne sous 3.3.12.0
Désactiver les lignes correspondantes aux erreurs
Code : Tout sélectionner
;If Not IsDeclared("LR_LOADFROMFILE") Then Global Const $LR_LOADFROMFILE = 0x0010
;If Not IsDeclared("LR_LOADTRANSPARENT") Then Global Const $LR_LOADTRANSPARENT = 0x0020
;If Not IsDeclared("LR_CREATEDIBSECTION") Then Global Const $LR_CREATEDIBSECTION = 0x2000
;If Not IsDeclared("CLR_NONE") Then Global Const $CLR_NONE = 0xFFFFFFFF
;If Not IsDeclared("IMAGE_BITMAP") Then Global Const $IMAGE_BITMAP = 0
If Not IsDeclared("VK_SPACE") Then Global Const $VK_SPACE = 32
;If Not IsDeclared("GWL_STYLE") Then Global Const $GWL_STYLE = -16
Fonctionne sous 3.3.12.0
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
-
- Niveau 1
- Messages : 6
- Enregistré le : jeu. 21 avr. 2011 10:04
- Status : Hors ligne
Re: [Ex] TreeView de dossiers avec sélection.
C'était simple ! Je n'avais pas osé y toucher.
Merci pour la réactivité
Merci pour la réactivité
-
- Niveau 1
- Messages : 6
- Enregistré le : jeu. 21 avr. 2011 10:04
- Status : Hors ligne
Re: [Ex] TreeView de dossiers avec sélection.
Bonjour,
Je relance une nouvelle fois le sujet
J'utilise toujours le fichier en version 3.3.14.5, il fonctionne correctement en x86, par contre il y a des soucis lorsque mon script est exécuté en x64.
Etant donné qu'il y a également des incohérences dans l'arborescence qui est crée, je me demande s'il n'y a pas un autre soucis ailleurs, notamment dans la gestion du treeview.
En faisant des recherches, le "handle" des éléments est de forme: 0x03506D86 (8 caractères) pour du x86 et de forme: 0x00000000042CB1C0 (16 caractères) pour du x64.
Est-ce cela qui pose problème ?
Avez-vous déjà eu ce genre de comportement ? Des pistes ?
Vous remerciant par avance pour votre aide
Marcel
Je relance une nouvelle fois le sujet
J'utilise toujours le fichier en version 3.3.14.5, il fonctionne correctement en x86, par contre il y a des soucis lorsque mon script est exécuté en x64.
Etant donné qu'il y a également des incohérences dans l'arborescence qui est crée, je me demande s'il n'y a pas un autre soucis ailleurs, notamment dans la gestion du treeview.
En faisant des recherches, le "handle" des éléments est de forme: 0x03506D86 (8 caractères) pour du x86 et de forme: 0x00000000042CB1C0 (16 caractères) pour du x64.
Est-ce cela qui pose problème ?
Avez-vous déjà eu ce genre de comportement ? Des pistes ?
Vous remerciant par avance pour votre aide
Marcel
-
- Niveau 1
- Messages : 6
- Enregistré le : jeu. 21 avr. 2011 10:04
- Status : Hors ligne
Re: [Ex] TreeView de dossiers avec sélection.
Il y a un comportement identique avec l'aide de "_GUICtrlTreeView_AddChild".
Après compilation en x64, l'arborescence est différente de celle affichée en x86.
Edit: J'ai trouvé pour avoir de nouveau une arborescence correct en x64, par contre, l'UDF pour le tristate ne fonctionne toujours pas en x64.
J'ai cherché et testé pas mal de chose sur le forum anglais, sans succès
Après compilation en x64, l'arborescence est différente de celle affichée en x86.
Edit: J'ai trouvé pour avoir de nouveau une arborescence correct en x64, par contre, l'UDF pour le tristate ne fonctionne toujours pas en x64.
J'ai cherché et testé pas mal de chose sur le forum anglais, sans succès