[R] Déterminer l'item de treeview qui a le focus

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
JujuLand46
Niveau 3
Niveau 3
Messages : 34
Enregistré le : ven. 03 févr. 2012 23:03
Localisation : Cahors
Status : Hors ligne

[R] Déterminer l'item de treeview qui a le focus

#1

Message par JujuLand46 »

Bonjour,

Vu la question, il parait évident, que je suis un débutant, presque à la retraite, mais débutant.

Voilà le problème:
Dans une boucle, je récupère les extensions, types de ces extensions dans deux tableaux, et que je met ensuite dans un treeview, de la façon suivante:
► Afficher le texte
Voici le code les boutons qui agissent sur ce treeview:

Code : Tout sélectionner

  Case $msg = $Remove
       $mimeItem=$GUICtrlRead($mimeview)
       if $GUICtrlRead($mimeview($mimeItem)).... là, je ne vois pas
 
$Firstmime me permet de récupérer le premier controlID, et j'ai remarqué que le treeview, même si c'est un autre controle qui a le focus, retourne le controlID du dernier item qui a eu le focus, et 0 si aucun item n'a encore eu le focus.
Bref, il me semble qu'il faudrait pouvoir vérifier que l'item a actuellement le focus.

Je suppose que la solution existe, mais je ne la vois pas.

Merci de votre aide.

A+
Modifié en dernier par JujuLand46 le ven. 13 avr. 2012 09:12, modifié 2 fois.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#2

Message par TommyDDR »

L'UDF GUITreeView est pas mal pour ça ;)
(Il est inclus dans le pack par défaut)

Code : Tout sélectionner

_GUICtrlTreeView_GetSelection
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
JujuLand46
Niveau 3
Niveau 3
Messages : 34
Enregistré le : ven. 03 févr. 2012 23:03
Localisation : Cahors
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#3

Message par JujuLand46 »

Merci pour la réponse, je n'avais pas vu ces UDF, faut dire que dns la doc, il n'en est pas fait mention. J'en ai profité pour passer de la version 3.3.0.0 à 3.3.8.1

Voici le code que j'utilise:

Code : Tout sélectionner

  Case $msg = $Remove
       $mimeItem=GUICtrlRead($mimeview)
       if _GUICtrlTreeView_GetFocused($mimeview,$mimeItem) then
          _GUICtrlTreeView_Delete($mimeview, $mimeItem)
       endif
 
Je récupère d'abord le numéro de l'item, puis je vérifie s'il a le focus. Cà fonctionne, mais la suppression ne semble pas se faire (pas de message d'erreur), l'item est toujours présent dans le controle.

A+
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#4

Message par TommyDDR »

Je (et même, les gens en général) n'ai pas le temps de créer un script complet pour tester votre bout de code.

Si vous voulez plus d'aide, postez votre code ;)

(C'est un conseil pour tous vos futur messages, les gens ne prendrons pas forcément le temps de vous demander votre code et passeront à autre chose.)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
JujuLand46
Niveau 3
Niveau 3
Messages : 34
Enregistré le : ven. 03 févr. 2012 23:03
Localisation : Cahors
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#5

Message par JujuLand46 »

OK, mais c'est probablement un peu long ...

Voila pour la création des deux treeview
► Afficher le texte
Et voilà la boucle:
► Afficher le texte
Le bout de code donné dans le post précédent ne fonctionne pas, en fait parce que GUITreeRead() et _GUICtrlTreeView_GetSelection ne retournent pas la même chose
Par exemple, GUICtrlRead me retourne 155, 156, 157 pour les éléments de $mimeview, alors que _GetSelection me retourne 0x00....

Pour faire plus explicite, dans le premier treeview, je traite des extensions extraites de HKLM\Software\Classes, ainsi que le type (htmlfile,exefile,.....), et enfin la valeur de backup, dans le cas ou elle existe. Le but étant de changer le type d'origine vers le type 'Win2Tux File' (et vis-versa) en cochant ou non le treeviewitem

Le second treeview contient des extensions qui seront ou non traitées avec le programme par défaut (dans ce cas elles ne figurent pas dans $mimeview) ou par un autre programme, et dans ce cas, l'extension existe dans $mimeview. Et pour le cas du bouton Remove, je veux le supprimer de $mimeview.

Le problème, est que quand je clique sur le bouton Remove, l'item de $mimeview n'a plus le focus, et ne peut pas être trouvé par _GetSelected, et le test echoue

Quand à $treview (les extensions), je ne sais pas comment traiter le ccochage ou le décochage, vu qu'il peut se faire sans que l'item ne prenne le focus (il me semble)

Bref, j'ai mes deux treeview qui ont tout ce que je demande, mais je n'arrive pas à les utiliser ...

Je précise enfin que je travaille sous Ubuntu avec wine, et que le but de l'appli est d'ouvrir les liens de K-Meleon avec des programmes linux. Tout ceci fonctionne avec des modules console autoit, mais que cette dernière partie est en GUI, et là, je suis bien moins à l'aise.

Merci de ton aide.

A+
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#6

Message par ZDS »

Bonjour,

TommyDDR a raison, un script COMPLET nous permettrait de t'aider plus efficacement (personnellement, j'ai la flemme de créer un contexte pour un morceau de script). Donc si possible, poste tout le code, pas juste un morceau à partir des tabs. La totalité avec la définition de la fenêtre et les différentes constantes ou imports, qu'on ait pas à tout se taper à la main...

A bientôt !

PS: Si le script est trop long pour un message, poste ton fichier en pièce jointe, ça sera pareil.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#7

Message par matwachich »

Je n'ai pas beaucoups regarder tes scripts (la flem, comme les autres), mais ce que je peut te dire à propos de ça, et c'est valable à chaque fois que tu passe d'une gestion standard d'un contrôle (GuiCtrlCreate...) à une gestion pas UDF (_GuiCtrlTreeView_...) c'est que:
Fais très attention à la différence: Ctrl ID (qui est un numéro), et un Ctrl Handle (qui est un Handle - Truc genre 0x00....)
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#8

Message par TommyDDR »

Comme dit par SDZ, le code doit être complet, il n'y a pas d'includes, $nbExt n'est pas déclaré, etc...
Fournissez un code où la simple pression sur F5 lance le programme sans erreurs.

Merci.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
JujuLand46
Niveau 3
Niveau 3
Messages : 34
Enregistré le : ven. 03 févr. 2012 23:03
Localisation : Cahors
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#9

Message par JujuLand46 »

Bon, j'ai récupéré le source et les fichiers générés ou une extraction de la BdR,
Mais j'ai peur qu'il vous faille modifier un peu les répertoires (notamment pour les fichiers .txt)
La partie devices ne devraient pas fonctionner, mais çà n'a pas grande importance.
C'est extension et mime qui me posent un problème.

Merci
A+
Fichiers joints
Win2Tux.zip
(10.1 Kio) Téléchargé 68 fois
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#10

Message par TommyDDR »

Désolé mais c'est trop le "bazar" dans votre code pour espérer une quelconque aide :x. (Surtout qu'elle est bourré de RegWrite ! :evil: )

Je vous conseil de recréer un projet pour n'y faire apparaitre que votre problème. Vous pouvez aussi apprendre à coder.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
JujuLand46
Niveau 3
Niveau 3
Messages : 34
Enregistré le : ven. 03 févr. 2012 23:03
Localisation : Cahors
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#11

Message par JujuLand46 »

(Surtout qu'elle est bourré de RegWrite !
Une attention rapide permet de voir que les regwrite ne concernent qu'une seule clé, avec une arborescence très limitée (HKML\Software\Win2Tux), aussi, pas la peine de tordre le nez, c'est sans danger, et de toute façon nécessaire au code.
J'ai été, et suis toujours assez peu attiré par la base de registre, mais dans le cas présent, c'était la seule solution viable, j'ai laissé tombé pour le coup, les fichiers ini.
Désolé mais c'est trop le "bazar" dans votre code pour espérer une quelconque aide
Récupération de la base de registre - Initialisation des tableaux
J'admet que ce n'est pas si évident pour un windowsien, surtout que j'utilise des shells linux, mais bon, la partie du code qui me pose un problème est bien plus bas, dans les tabs extensions et mime, et là, il ne me semble pas que ce soit le bazar... et une boucle de traitement des évênements somme toute assez classique, et simple.
Je vous conseil de recréer un projet pour n'y faire apparaitre que votre problème. Vous pouvez aussi apprendre à coder.
On verra si j'ai la possibilité de simuler les acces BdR, pour éviter toute suspicion de la part des testeurs.
Quand à apprendre à coder, je m'interroge sur une telle remarque. Premièrement, j'ai dit que je commençait avec AutoIt, et donc j'apprend, et deuxièmement, je trouve çà limite supérieur et désobligeant...

A+
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#12

Message par TommyDDR »

1) Un RegWrite n'est jamais nécéssaire au code (les .ini par exemple) l'avantage d'un ini c'est qu'on le voit assez facilement, le registre... beaucoup moins.

2) Le problème du bazar c'est qu'il faut y passer pour arriver à votre problème (Je n'ai pas réussi à aller jusqu'au dit treeview)

3) Hehe vous l'avez trouvé, ça mérite bien un bout de code ^^ :
► Afficher le texteExemple TreeView
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
JujuLand46
Niveau 3
Niveau 3
Messages : 34
Enregistré le : ven. 03 févr. 2012 23:03
Localisation : Cahors
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#13

Message par JujuLand46 »

1) Un RegWrite n'est jamais nécéssaire au code (les .ini par exemple) l'avantage d'un ini c'est qu'on le voit assez facilement, le registre... beaucoup moins.
Je suis d'accord, mais l'utilisation de la BdR, permet de s'affranchir de la localisation du fichier ini.
De plus, le principal travail de Win2Tux, est de modifier des clés de la base de registre, afin de faire pointer les extensions sur un autre utilitaire écrit lui aussi en AutoIt, qui analyse l'adresse passée (et la transforme, le cas échéant), et la passe à un programme linux.
Donc, il n'y a me semble-t-il pas trop anomalie à utiliser la BdR, d'autant plus que l'utilisation en remplacement d'un ini est très limitée.
2) Le problème du bazar c'est qu'il faut y passer pour arriver à votre problème (Je n'ai pas réussi à aller jusqu'au dit treeview)
J'avoue par contre que pour le test, çà puisse paraitre bloquant, alors, j'essaierai de fabriquer, juste à des fins de tests de fichiers qui simuleront la base de registre.
3) Hehe vous l'avez trouvé
Je pense que ce que j'ai trouvé dans la réponse, fait suite à une modif de ton post, et ressemble à un bug de phpbb. J'ai marqué, et copié afin de quoter ma réponse, et j'ai eu la (curieuse) remarque. Remarque qui ne figure évidemment plus sur ton post.
ça mérite bien un bout de code ^^ :
Parlons-en du code, si j'ai bien compris, l'astuce consiste à enregistrer les ControlID dans un tableau. C'est malin, mais je ne connais à priori pas le nombre d'enregistrements, donc une limite connue d'avance est illusoire, et la boucle for ... next est alors inutilisable (tel qu'écrit dans le code). On en revient à un pré traitement de la base de registre afin de mettre dans un premier tableau les infos, et dans un deuxième, le controlID, avec cette fois la possibilité de mettre çà dans un for...next

J'utilisais une boucle de traitement des èvênements, la méthode que tu utilises est le traitement des èvênements dans des fonctions. Quels sont les (des)avantages des deux méthodes ?

A+
Modifié en dernier par JujuLand46 le jeu. 09 févr. 2012 11:33, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#14

Message par mikell »

JujuLand46 a écrit : si j'ai bien compris, l'astuce consiste à enregistrer les ControlID dans un tableau. C'est malin, mais je ne connais à priori pas le nombre d'enregistrements
Ce n'est pas une astuce, c'est une méthode qui vient droit du fichier d'aide
Le handle attribué à chaque item permet d'utiliser tout le panel des fonctions _GuiTreeView
Le tableau peut être redimensionné à chaque nouvel enregistrement

Code : Tout sélectionner

$n = 1
Global $ItemsTreeView[$n]

; dans la boucle :
$ItemsTreeView[$n-1] = _GUICtrlTreeView_Add($TreeView, 0, "Item " & $n-1)
$n +=1
ReDim $ItemsTreeView[$n]
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TopXm
Niveau 6
Niveau 6
Messages : 260
Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#15

Message par TopXm »

Arf,
J'ai pondu une tartine de ligne et du coup Mikell m'a devancé. Du coup je poste quand même :)


Hello :)

Je me permet juste une petite incruste car quelques trucs me chagrinent
JujuLand46 a écrit :De plus, le principal travail de Win2Tux, est de modifier des clés de la base de registre, afin de faire pointer les extensions sur un autre utilitaire écrit lui aussi en AutoIt, que analyse l'adresse passée, et la transforme, le cas échéant, et la passe à un programme linux.
Hum, tu as bien vu le fonctionnement du bouzin ?
Pour certaines extensions (.tsc par exemple), c'est la valeur par défaut (tscfile en l'occurrence) qu'il faut récupérer et lire pour récupérer les informations.
JujuLand46 a écrit :J'avoue par contre que pour le test, çà puisse paraitre bloquant, alors, j'essaierai de fabriquer, juste à des fins de tests de fichiers qui simuleront la base de registre
Au mieux, tu fournis ton fichier extensions.txt ça permettra au moins d'alimenter la TreeView :)
JujuLand46 a écrit :C'est malin, mais je ne connais à priori pas le nombre d'enregistrements
Ben si tu le connais, vu que tu charges d'abord ton Array, donc ton nombre d'items tu dois l'avoir dans variable $NbExt non ?
Là pour le coup, c'est un exemple que t'a posté TommyDDR :)
Donc rien ne t'empêche de faire un Redim de ton tableau. D'autant que tu aurais pu faire comme avec $mimeview, l'alimenter à la volée lors de la lecture des clés de registre non ?

Un autre truc, à priori quand tu extrais tes valeurs de $listmime pour alimenter ton Array + TreeView si je pige le truc tu boucles tant que tu trouves un | dans la chaine, du coup un StringSplit te faciliterait la vie, et rendrait ton code plus simple, exemple :
► Afficher le texteSplit Text
Avatar du membre
JujuLand46
Niveau 3
Niveau 3
Messages : 34
Enregistré le : ven. 03 févr. 2012 23:03
Localisation : Cahors
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#16

Message par JujuLand46 »

Hum, tu as bien vu le fonctionnement du bouzin ?
Ca fait près de 2 ans que çà fonctionne nickel.
Win2Tux, est en fait juste le programme de paramétrage. C'est mieux d'enrober çà, que de faire mettre les mains dans le cambouis aux utilisateurs.

La version précédente était écrite en Visual DialogScript, mais j'ai voulu la réécrire en AutoIt qui est freeware, même si j'aurais préféré un produit libre (sous GPL ou LGPL)
Pour certaines extensions (.tsc par exemple), c'est la valeur par défaut (tscfile en l'occurrence) qu'il faut récupérer et lire pour récupérer les informations.
Pour la remarque concernant le type, en fait, je m'en contrefiche, du programme qui est lancé, c'est l'utilisateur qui décide s'il veut l'ouvrir avec un programme Windows (s'il est là), ou un programme Linux, et là, il fait juste pointer l'extension sur le type 'Win2Tux File', ensuite, c'est km2Tux qui ira chercher le programme à executer. Si l'utilisateur ne fait rien de spécifique, coté mime (dans Win2Tux), c'est le programme par défaut linux qui est lancé (gnome-open, xdg-open,...) et qui détermine lui-même le programme qui doit être lancé. Le paramétrage de l'extension dans mime de Win2Tux, permet en fait de lancer autre chose que le programme par défaut, ce qui est bien plus souple. Il s'agit d'ailleurs d'une simplification par rapport à la version précédente, car avant, je déterminais tous les programmes pour toutes les extensions concernées. gnome-open fait çà tout naturellement, alors pourquoi s'en priver ...
Ben si tu le connais, vu que tu charges d'abord ton Array, donc ton nombre d'items tu dois l'avoir dans variable $NbExt non ?
Là pour le coup, c'est un exemple que t'a posté TommyDDR
Je parlais juste du bout de code de TommyDDR ... évidemment, que je le connais ($nbExt).
Donc rien ne t'empêche de faire un Redim de ton tableau. D'autant que tu aurais pu faire comme avec $mimeview, l'alimenter à la volée lors de la lecture des clés de registre non ?
Il faut que je revois si je ne suis pas obligé de le faire en deux fois, car pour des raisons de simplicité, j'utilise une extraction du fichier reg qui me parait plus propice à ce que je fais.
Un autre truc, à priori quand tu extrais tes valeurs de $listmime pour alimenter ton Array + TreeView si je pige le truc tu boucles tant que tu trouves un | dans la chaine, du coup un StringSplit te faciliterait la vie, et rendrait ton code plus simple
Là aussi, il faut que je vois ce qui est le plus pratique.
Ben pareille ça doit pouvoir se faire à la volée non ? Je te colle un bout de code vite fait, qui attaque le registre et alimente un Array et une TreeView en même temps.
La aussi, il faut que je vois et que je me penche un peu plus sur ton code.
Global $ItemsTreeView[$n]
$n = 1
; dans la boucle :
$ItemsTreeView[$n-1] = _GUICtrlTreeView_Add($TreeView, 0, "Item " & $n-1)
$n +=1
ReDim $ItemsTreeView[$n]
Je suppose que le redim est équivalent à _ArrayInsert() ... ceci doit être équivalent, non ?

Code : Tout sélectionner

_ArrayInsert($ItemsTreeView, $n, _GUICtrlTreeView_Add($TreeView, 0, "Item " & $n-1))
$n +=1
A+
Avatar du membre
JujuLand46
Niveau 3
Niveau 3
Messages : 34
Enregistré le : ven. 03 févr. 2012 23:03
Localisation : Cahors
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#17

Message par JujuLand46 »

Je viens de tester la ligne dont je parlais, et çà ne semble pas fonctionner.

Bon, je suis maintenant en train de reprendre le code en utilisant un tableau qui récupère les handles.

Mais je me posais une question sur les tableaux.
J'utilise par exemple un tableau $mimeArray, un autre $commandArray, un autre enfin $mimeItem. Comme çà concerne des données qui sont liées, j'aurais voulu utiliser un tableau $mimeArray à plusieurs entrées du style:

[mime 1] [command 1] [backup 1] [handle item 1]
[mime 2] [command 2] [backup 2] [handle item 2]
...
[mime n] [command n] [backup n] [handle item n]

- Comment se fait la déclaration (j'avoue que je n'ai pas tout compris dans la doc) ?
$mimeArray[1][4] ou $mimeArray[1,4] ou encore $mimeArray[1][1][1][1] ?
- Comment se fait l'initialisation des cellules, sachant par exemple, que toutes les infos ne sont pas dispos au même moment, et sachant surtout que je ne connais pas le nombre final ?
- Comment se fait l'accès à une cellule particulière ?
- Peut-on utiliser _ArrayInsert(), et comment, ou faut-il repasser par un redim ?

Par avance, merci

A+
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#18

Message par mikell »

JujuLand46 a écrit :[mime 1] [command 1] [backup 1] [handle item 1]
[mime 2] [command 2] [backup 2] [handle item 2]
...
[mime n] [command n] [backup n] [handle item n]
Dim $mimeArray[$n][4] => déclare un tableau à $n lignes et 4 colonnes
La déclaration initialise le tableau, toutes les cellules sont vides et le resteront tant qu'elles n'auront pas été remplies

Si $n est inconnu, prends mon exemple précédent : Dim $mimeArray[1][4] , puis : ReDim $mimeArray[$n][4] au fur et à mesure que $n est incrémenté

L'accès aux cellules se fait par appel :
lecture : $var = $mimeArray[2][3] => cellule ligne 2 col 3
écriture : $mimeArray[2][3] = $var

_ArrayInsert() fonctionne (voir l'exemple de l'aide) mais perso je préfère le Redim qui me permet un meilleur contrôle du script
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
JujuLand46
Niveau 3
Niveau 3
Messages : 34
Enregistré le : ven. 03 févr. 2012 23:03
Localisation : Cahors
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#19

Message par JujuLand46 »

Bon, j'ai repris de nombreux points:
- utilisation de tableaux à plusieurs dimensions
- utilisation de la lecture de la BdR au lieu d'un shell (extensions, mime)
- seul la récup des versions de K-Meleon utilise un shell, car c'est de loin la methode la plus rapide.

Tout çà fonctionne bien, mais j'ai encore quelques soucis. Je ne suis pas en mesure de trouver l'évênement produit par un check/uncheck dans un ListTreeView, ni une modification dans un combo.

J'en suis encore à me demander quel est la méthode à utiliser, boucle ou GUIOnEventMode.

J'ai mis dans l'archive, une version de test nommée test_Win2Tux.au3. décompacter l'archive ou bon vous semble, et modifiez la variable $Win2Tux pour faire coîncider avec le chemin ou se trouve test_Win2Tux.au3

Merci de votre aide ...
A+
Fichiers joints
Win2Tux.zip
(16.76 Kio) Téléchargé 54 fois
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Déterminer l'item de treeview qui a le focus

#20

Message par mikell »

JujuLand46 a écrit : Je ne suis pas en mesure de trouver l'évênement produit par un check/uncheck dans un ListTreeView, ni une modification dans un combo.
Ce n'est pas le check qui produit l'évènement, le check/uncheck est juste un marqueur true-false pour les items
En général, on regarde avec une boucle For si les items sont checkés et si oui on effectue une action sur ces items, la commande se faisant par bouton
Pour une action en temps réel (directement commandée par le check) il faut passer par un GuiRegisterMsg, dans ce cas c'est le clic de souris sur l'item qui commande l'action

Etant donné que vous n'avez pas d'arborescence dans la treeview, il aurait été pas mal plus simple d'utiliser une listview qui est plus facile à gérer
(exemple dans ce post http://www.autoitscript.fr/forum/viewto ... 367#p63367 )

Pour la combo j'ai pas bien compris la question
Le bouton commande la lecture de l'item sélectionné dans la combo, et envoie ça dans une variable pour traitement...

Un détail
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre