[R] Soucis de capture clique droit sur ListView

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
primax
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 03 nov. 2008 14:19
Status : Hors ligne

[R] Soucis de capture clique droit sur ListView

#1

Message 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
Modifié en dernier par primax le mer. 25 févr. 2009 08:49, modifié 1 fois.
primax
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 03 nov. 2008 14:19
Status : Hors ligne

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

#2

Message 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:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#3

Message par Tlem »

primax a écrit :Je me remercie :lol:
Oui, oui, merci beaucoup. :lol:
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é".
Répondre