Salut!
Question simple:
J'aimerai utiliser _GUICtrlHeader_, c'est bien joli!
Mais comment faire pour détecter un click sur un _GUICtrlHeader_AddItem???
J'ai décortiquer l'aide, je trouve pas!
MERCI
[R] Evénement _GUICtrlHeader_*
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.
- matwachich
- Membre émérite

- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
[R] Evénement _GUICtrlHeader_*
Modifié en dernier par matwachich le sam. 22 janv. 2011 12:58, modifié 1 fois.
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- Tlem
- Site Admin

- Messages : 11824
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Evénement _GUICtrlHeader_*
Il n'y a pas de fonction intégrée, vous allez devoir passer par l'utilisation d'un GUIRegisterMsg afin de détecter l'événement.
Regargez l'exemple de _GUICtrlListView_Create. Il est suffisamment complet pour vous occuper un moment.
Regargez l'exemple de _GUICtrlListView_Create. Il est suffisamment complet pour vous occuper un moment.
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é".
- matwachich
- Membre émérite

- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [..] Evénement _GUICtrlHeader_*
Pourquoi l'exemple de _GUICtrlListView_Create alors qu'il y'en a déjà un pour _GUICtrlHeader_Create!
En effet, c'est un peut plus compliqué! mais j'y arrive!
Voici mon embryon de solution (je n'y ai laisser que la gestion du simple clique)
En effet, c'est un peut plus compliqué! mais j'y arrive!
Voici mon embryon de solution (je n'y ai laisser que la gestion du simple clique)
Code : Tout sélectionner
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiHeader.au3>
#Include <GuiImageList.au3>
#region - GUI Create
$gui = GUICreate('Test',400,300)
$hHeader = _GUICtrlHeader_Create($gui, BitOR($HDS_BUTTONS, $HDS_HOTTRACK))
GUISetState()
#endregion
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
$hImgList = _GUIImageList_Create(16, 16, 5, 0, 1, 10)
_GUIImageList_AddIcon($hImgList, @SystemDir & "\shell32.dll", 238)
_GUIImageList_AddIcon($hImgList, @SystemDir & "\shell32.dll", 131)
_GUIImageList_AddIcon($hImgList, @SystemDir & "\shell32.dll", 160)
_GUICtrlHeader_SetImageList($hHeader, $hImgList)
_GUICtrlHeader_AddItem($hHeader, "Refresh", 100, 2, 0)
_GUICtrlHeader_AddItem($hHeader, "Disconnect", 100, 2, 1)
_GUICtrlHeader_AddItem($hHeader, "Identify", 100, 2, 2)
#region - GUI SelectLoop
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
#endregion
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
Local $hWndFrom, $iIDFrom, $iCode
Local $tNMHDR, $tNMHEADER, $tNMHDFILTERBTNCLICK, $tNMHDDISPINFO
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hHeader
Switch $iCode
Case $HDN_ITEMCLICK, $HDN_ITEMCLICKW ; Notifies a header control's parent window that the user clicked the control
$tNMHEADER = DllStructCreate($tagNMHEADER, $ilParam)
_DebugPrint("$HDN_ITEMCLICK" & @LF & "--> hWndFrom:" & @TAB & DllStructGetData($tNMHEADER, "hWndFrom") & @LF & _
"-->IDFrom:" & @TAB & DllStructGetData($tNMHEADER, "IDFrom") & @LF & _
"-->Code:" & @TAB & DllStructGetData($tNMHEADER, "Code") & @LF & _
"-->Item:" & @TAB & DllStructGetData($tNMHEADER, "Item") & @LF & _
"-->Button:" & @TAB & DllStructGetData($tNMHEADER, "Button"))
; no return value
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc
Func _DebugPrint($s_text, $line = @ScriptLineNumber)
ConsoleWrite( _
"!===========================================================" & @LF & _
"+======================================================" & @LF & _
"-->Line(" & StringFormat("%04d", $line) & "):" & @TAB & $s_text & @LF & _
"+======================================================" & @LF)
EndFunc ;==>_DebugPrintSortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- Tlem
- Site Admin

- Messages : 11824
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Evénement _GUICtrlHeader_*
Effectivement. Je n'avais pas regardé, mais c'est l'intention qui compte ...matwachich a écrit :Pourquoi l'exemple de _GUICtrlListView_Create alors qu'il y'en a déjà un pour _GUICtrlHeader_Create!
N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.
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é".
