Page 1 sur 1
[R] Problème de récupération d'un élément dans treeview
Posté : ven. 01 oct. 2010 23:39
par IceMaKeR
Bonjour a tous,
Voilà je rencontre un soucis pour récupérer l'élément que je viens de cliquer dans une TreeView.
j'arrive bien a lancer l'action mais le soucis se révèle au moment ou je clique une seconde fois dans ma liste.
Systématiquement il m'effectue 2 actions et m'envoie le premier élément de la liste puis celui que j'ai cliqué.
voici le code que j'utilise pour checker ma treeview
Si quelqu'un voit une erreur je suis preneur...
► Afficher le texteMon Code
Code : Tout sélectionner
Global $TreeList = GUICtrlCreateTreeView(15, 50, 200, 270, $iStyle, $WS_EX_CLIENTEDGE)
Global $TreeView = GUICtrlGetHandle($TreeList)
GUIRegisterMsg($WM_NOTIFY, '_OnNotify')
Func _OnNotify($hWnd, $Msg, $wParam, $lParam)
Local $tNMHDR, $hWndFrom, $iCode
$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hWndFrom = DllStructGetData($tNMHDR, "hWndFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $TreeView
Switch $iCode
Case $TVN_SELCHANGEDW
Local $tINFO = DllStructCreate($tagNMTREEVIEW, $lParam)
Local $hControl = DllStructGetData($tINFO, "NewhItem")
Local $sTVIsSelected =_GUICtrlTreeView_GetText($TreeList, _GUICtrlTreeView_GetSelection($TreeList))
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sTVIsSelected = ' & $sTVIsSelected & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
;~ _ChkSimPath($sTVIsSelected)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_OnNotify
Désolé pour la mise en page du code j'ai pas réussi a l'appliquer!!
Re: [..] Problème de récupération d'un élément dans treeview
Posté : sam. 02 oct. 2010 06:05
par GELDROC
Essaye de remplacer $TVN_SELCHANGEDW par $NM_CLICK ou $NM_DBLCLK .
Re: [R] Problème de récupération d'un élément dans treeview
Posté : sam. 02 oct. 2010 14:01
par IceMaKeR
Impeccable ça marche! avec $NM_CLICK
ou est-ce que je peux trouver la liste de toutes ces variables? j'ai cherché dans l'aide mais c'est pas hyper facile.
Merci pour ton aide!
Re: [R] Problème de récupération d'un élément dans treeview
Posté : sam. 02 oct. 2010 15:42
par GELDROC
tu trouvera ca dans le fichier WindowsConstants.au3
Re: [R] Problème de récupération d'un élément dans treeview
Posté : dim. 03 oct. 2010 19:04
par IceMaKeR
En faite j'ai encore un soucis!
Désolé!
ça me renvoie bien une info mais j'ai un click de décalage
chaque click m'envoie la valeur précédemment clickée j'arrive pas a comprendre pourquoi?!
quand je clique un item il ne renvoie rien, je clique sur un second item il me renvoie le premier, puis ainsi de suite!
Je pense que le $NM_CLICK agit avant d'appliquer ce click, je vais regarder si je peux pas utiliser un autre flag
Re: [R] Problème de récupération d'un élément dans treeview
Posté : dim. 03 oct. 2010 20:24
par GELDROC
oui javai le meme souci la solution est
Code : Tout sélectionner
$S = _GUICtrlListView_GetSelectedIndices($LIST[0])+1
_GUICtrlListView_GetItemText($LIST[0], $S-1)
Re: [R] Problème de récupération d'un élément dans treeview
Posté : dim. 03 oct. 2010 20:28
par IceMaKeR
c'est valable même si j'utilise un treeview?
je place ce code ou?
Re: [R] Problème de récupération d'un élément dans treeview
Posté : dim. 03 oct. 2010 20:52
par IceMaKeR
J'ai fait le test en changeant le $NM_CLICK en $NM_RCLICK j'ai clické gauche puis droit et là ça marche.
donc il faut que je trouve le moyen de faire en sorte que ma lecture se lance après l'action du click et pas avant...
Re: [R] Problème de récupération d'un élément dans treeview
Posté : jeu. 07 oct. 2010 08:35
par IceMaKeR
C'est bon je me suis débrouillé.
En changeant ma façon de gérer le treeview.
Merci encore.