Page 1 sur 1
[..] GUICtrlCreateTreeView => Clic droit + Menu perso
Posté : jeu. 29 avr. 2010 22:35
par L4crymal
Bonjour tout le monde, ce post remplace ce dernier
http://www.autoitscript.fr/forum/viewto ... =20&t=5123 qui est, il faut avouer, incompréhensible ( il faudrait si possible le supprimer merci d'avance )
Pour récapituler, je cherche une méthode ( si elle existe ) de faire un clic droit sur un item de GUICtrlCreateTreeView et qu'un menu (qu'on pourra personnaliser) apparaisse.
Merci beaucoup d'avance =)
Re: [..] GUICtrlCreateTreeView => Clic droit + Menu perso
Posté : jeu. 29 avr. 2010 23:00
par Tlem
A première vue, l'utilisation de
GUIGetMsg en mode avancé semble être le plus approprié.

Re: [..] GUICtrlCreateTreeView => Clic droit + Menu perso
Posté : ven. 30 avr. 2010 04:26
par SagePourpre
J'aime bien cette fonction pour la gestion de mes treeviews ...
(trouvé sur les forums anglais )
Par un WM_NOTIFY, tu peux gérer absolument tous les événements possibles
(Clic droit, clic gauche, double-clic gauche, double-clic droit, pression de touches,
débt d'édition d'un label, fin d'éditions de label, etc... )
Re: [..] GUICtrlCreateTreeView => Clic droit + Menu perso
Posté : ven. 30 avr. 2010 19:46
par L4crymal
Énorme
Jvé gérer pour me concocter un petit menu maintenant.
Merci pour tout vous gérez trop, comme d'hab
EDIT: J'ai parlé trop vite :s
En fait ma GUI est en Événementielle ...
Re: [..] GUICtrlCreateTreeView => Clic droit + Menu perso
Posté : ven. 30 avr. 2010 20:13
par SagePourpre
Dans l'éventualité ou tu te servirais du modèle proposé en téléchargement
inclus dans mon précédent message, OnEventMode mis à 0 ou 1 n'affecte pas
le déroulement des opérations.
Tu n'as qu'à changé la msgbox sous
Case $NM_RCLICK ; The user has clicked the right mouse button within the control
pour les actions à faire.
Sinon, guictrlsetonevent fonctionne...
► Afficher le texte
Code : Tout sélectionner
#include <GuiTreeView.au3>
Opt('GuiOnEventMode',1)
$gui = GUICreate('')
GUISetOnEvent(-3,'quitter')
GUISetState()
Global $_A_TvItems[1] = [0]
Global $itemsdematreeview[11] = _
['Test', _
'Smoushi', _
'Blu !!!', _
'Mouette morte', _
'texte quelconque', _
'important', _
'meh', _
'pouet', _
',,,', _
'blublu', _
'Blob ?']
$tv = GUICtrlCreateTreeView(0,0,200,300)
GUICtrlSetOnEvent($tv,'tvitem')
_GUICtrlTreeView_BeginUpdate($tv)
For $i = 0 To UBound($itemsdematreeview)-1
Local $item = GUICtrlCreateTreeViewItem($itemsdematreeview[$i],$tv)
ConsoleWrite($item & @CRLF)
GUICtrlSetOnEvent($item,"tvitem")
$_A_TvItems[0]+=1
Next
_GUICtrlTreeView_EndUpdate($tv)
While 1
Sleep(100)
WEnd
Func quitter()
Exit
EndFunc
Func tvitem()
MsgBox(0,'',_GUICtrlTreeView_GetText($tv,_GUICtrlTreeView_GetSelection($tv)))
EndFunc
mais seulement avec le clic gauche...
Pour le clic droit, la fonction WM_NOTIFY de mon lien les gère très bien...