Page 1 sur 1

[R] Récuperer item selectionner dans une Listview.

Posté : ven. 27 juil. 2012 00:15
par LqX
Bonsoir,

Voila je bloque a cause d'une Listview qui contient une centaine de ligne et j'aimerai recuperer l'item selectionner.

J'ai essayer par
$selec = ControlListView("title", "texte", $hwd, "GetSelected"
$item = ControlListView("title", "texte ", $hwd, "GetText", $selec)

Mais sa me retourne toujours 0.

Re: [..] Récuperer item selectionner dans une Listview.

Posté : ven. 27 juil. 2012 00:27
par mikell
C'est correct, s'il n'y a pas d'erreur dans les ids ça doit marcher

Code : Tout sélectionner

$index = ControlListView($gui, "", $listview, "GetSelected")
$texte = ControlListView($gui, "", $listview, "GetText", $index)

Re: [..] Récuperer item selectionner dans une Listview.

Posté : ven. 27 juil. 2012 00:33
par LqX
sa me retourne toujours 0, j'ai essayer aussi l'exemple de l'help :

Code : Tout sélectionner

ControlListView(@ProgramFilesDir & "\AutoIt3", "", "SysListView321", "SelectAll")
ControlListView(@ProgramFilesDir & "\AutoIt3", "", "SysListView321", "Deselect", 2, 5)
MsgBox(0, "", ControlListView(@ProgramFilesDir & "\AutoIt3", "", "SysListView321", "GetText", 9, 0))
MsgBox(0, "", ControlListView(@ProgramFilesDir & "\AutoIt3", "", "SysListView321", "FindItem", "14 KB", 1))
MsgBox(0, "", ControlListView(@ProgramFilesDir & "\AutoIt3", "", "SysListView321", "GetSelected", 1))
Et j'ai toujours 0 aussi.

Re: [..] Récuperer item selectionner dans une Listview.

Posté : ven. 27 juil. 2012 03:43
par TopXm
Hello :)

Comme indiqué par Mikell normalement ton bout de code est bon, par contre rapport à l'exemple donné dans l'aide AutoIT, il ne faut pas perdre de vue plusieurs choses :
  • Pour que l'exemple fonctionne on est bien d'accord que tu as, au préalable, ouvert l'explorer Windows sur le dossier

    Code : Tout sélectionner

    @ProgramFilesDir & "\AutoIt3"
  • De plus il semblerait que selon les version de Windows le titre de la fenêtre ne soit pas le même. Dans mon cas (je suis sous Seven), pour que l'exemple fonctionne, j'ai du remplacer :

    Code : Tout sélectionner

    @ProgramFilesDir & "\AutoIt3"
    par

    Code : Tout sélectionner

    "AutoIt3"
  • Pour s'en convaincre tu passes un coup de d'AU3info sur la fenêtre de l'explorer, ce qui donne ces informations
  • AutoIT ayant évolué depuis la réalisation de l'exemple, il n'existe plus de fichier qui pèse 14 KB, si tu veux que ça fonctionne, il te faut donc adapter le poids d'un fichier du dossier comme par exemple 665 Ko. Ce ne sont pas des KB en French mais des Ko (sans UpperCut).
  • En plus la colonne des tailles des fichiers n'est plus au même endroit, il faut donc l'ajuster.

    Avec l'explorer comme ceci par exemple (en vue détail)
Cela donne un bout de code qui ressemble à ceci :
► Afficher le texteExemple
Tout cela pour dire que si tu ne postes pas ton bout de code on aura un peu de mal à te dire où le bas blesse ;)

Re: [..] Récuperer item selectionner dans une Listview.

Posté : ven. 27 juil. 2012 10:41
par LqX
Je viens de corriger mon erreur en prenant le temps de refaire un code leger pour le postez ici :)

Voici ce que j'ai changer.

$selec = ControlListView($gui, "", $users, "GetSelected")
$item = ControlListView($gui, "", $users, "GetText", $selec)

Par :

$selec = ControlListView("", "", $users, "GetSelected")
$item = ControlListView("", "", $users, "GetText", $selec)

Et maintenant cela fonctionne.

Re: [R] Récuperer item selectionner dans une Listview.

Posté : ven. 27 juil. 2012 17:17
par TopXm
Hello :)
LqX a écrit :$selec = ControlListView("", "", $users, "GetSelected")
$item = ControlListView("", "", $users, "GetText", $selec)
C'est pas un poil dangerous ce genre de code vu que tu ne définis pas la GUI traitée ?
Je présume qu'il tente d'exécuter le code sur la GUI active, au final si ce n'est pas celle qui contient la ListView il risque de bouder sérieusement non ?
Je dis ça car j'ai eu le souci sur un

Code : Tout sélectionner

Local $nPos = ControlGetPos('', '', $GuiCtrlParent)
ça fonctionne très bien tant que c'est la bonne GUI qui est active. J'avais minimisé la fenêtre un peu trop tôt et lorsque le code s'est exécuté ça s'est ramassé direct, attendu qu'il est dit dans l'aide que :
The title/text is referencing the parent window, so be careful with "","" which references the active window which may not be the one containing the controlID control.
Il y a de fortes chances qu'il en soit de même pour le ControlListView, donc prudence ;)
bon après ça se trouve je me fourvoie peut-être complétement :)

Re: [R] Récuperer item selectionner dans une Listview.

Posté : ven. 27 juil. 2012 18:37
par mikell
TopXm a écrit :bon après ça se trouve je me fourvoie peut-être complétement :)
AMHA tu as absolument raison
Si le test est lancé depuis une gui sur la listview d'une autre fenêtre, avec un bouton par exemple, c'est la gui qui est active ^^
Comme apparemment il s'agit de tester une fenêtre externe au script, ce qu'il faut c'est un WinGetHandle