Page 1 sur 1

[R] Soucis de capture clique droit sur ListView

Posté : lun. 23 févr. 2009 08:46
par primax
Bonjour,

Voici la partie du code qui je pense pose probleme

Code : Tout sélectionner

Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tagNMHDR, $hWndCombo, $hWndComboSites, $hWndListViewSites
    If Not IsHWnd($nomagence_inp) Then $hWndCombo = GUICtrlGetHandle($nomagence_inp)
    If Not IsHWnd($site_combo1) Then $hWndComboSites = GUICtrlGetHandle($site_combo1)
    If Not IsHWnd($ListView_Sites) Then $hWndListViewSites = GUICtrlGetHandle($ListView_Sites)
    
    $hWndFrom = $ilParam
    $iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
    $iCode = BitShift($iwParam, 16) ; Hi Word
    
    Switch $hWndFrom
        Case $hWndListViewSites
            Switch $iCode
                Case $NM_DBLCLK
                    MsgBox(0, 'tt', "Double CLick OK") ; Bien sur ne s affiche jamais...
                Case $NM_RDBLCLK 
                    ListView_RClick()
                    ;Return 1 ;Essailler dans tous les sens pour continuer le traitement par defaut
            EndSwitch
        Case $hWndCombo
            Switch $iCode
                Case $CBN_CLOSEUP
Voila ce que j utilise avant pour les listview mais si je l active la partie combo ne fonctionne plus

Code : Tout sélectionner

;$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    ;$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    ;$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    ;$iCode = DllStructGetData($tNMHDR, "Code")

Si quelqu un peu m apporter ses lumieres , ...

Pour info :

Code : Tout sélectionner

;$hListView_Sites = _GUICtrlListView_Create($Form1, "Idese|Ideage|Site|Etat|Pass|Id", 290, 100, 390, 215, $LVS_REPORT, $WS_EX_CLIENTEDGE) Idem ...
$ListView_Sites = GUICtrlCreateListView("Idese|Ideage|Site|Etat|Pass|Id", 290, 100, 390, 215, $LVS_REPORT, $WS_EX_CLIENTEDGE)
$hListView_Sites = GUICtrlGetHandle($ListView_sites)
_GUICtrlListView_SetExtendedListViewStyle($ListView_sites, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))

; Load images
$hImage = _GUIImageList_Create()
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView_Sites, 0xFF0000, 16, 16))
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView_Sites, 0x00FF00, 16, 16))
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView_Sites, 0x0000FF, 16, 16))
_GUICtrlListView_SetImageList($hListView_Sites, $hImage, 1)

$nomagence_inp = GUICtrlCreateCombo("", 112, 8, 121, 21, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_AUTOHSCROLL))

Merci

Re: [..] Soucis de capture clique droit sur ListView

Posté : mer. 25 févr. 2009 08:48
par primax
Je pense que ce n etait pas tres clair mais j ai trouvé la solution.

la voici si quelqu un un jour ce trompe comme moi

en faite, il faut differencier :

Code : Tout sélectionner

GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
pour le listview c'ici que ca se passe tout simplement.
 
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)

Je me remercie :lol:

Re: [..] Soucis de capture clique droit sur ListView

Posté : mer. 25 févr. 2009 14:41
par Tlem
primax a écrit :Je me remercie :lol:
Oui, oui, merci beaucoup. :lol: