
Ben je crois que tout est dans le titre....
J'utilise une callback pour l'instant, mais j'aimerais la virer car elle me sert uniquement à cela.
Merci d'avance

Code : Tout sélectionner
Procedure.l WinProc(hWnd,Msg,wParam,lParam)
result = #PB_ProcessPureBasicEvents
Select Msg
Case #WM_NOTIFY
Debug "call : clic colonne"
*NMHDR.NMHDR = lParam
If *NMHDR\hWndFrom = GadgetID(1)
If *NMHDR\code = #LVN_COLUMNCLICK
*NMLV.NMLISTVIEW = lParam
column = *NMLV\iSubItem
Debug "call: clic sur colonne : "+Str(column)
EndIf
EndIf
EndSelect
ProcedureReturn result
EndProcedure
OpenWindow(0, 0, 0, 300, 300, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget)
CreateGadgetList(WindowID( 0))
ListIconGadget(1,10,10,280,200,"col1",50)
For i=1 To 4
AddGadgetColumn(1, i,Str(i),50)
Next
For i=1 To 4
AddGadgetItem(1, i,Str(i))
Next
SetWindowCallback(@WinProc())
Repeat
event = WaitWindowEvent()
Select event
Case #WM_NOTIFY
Debug "pure : clic colonne"
Case #PB_Event_Gadget
Select EventGadget()
Case 1
Debug "pure :clic sur list"
Debug EventlParam()
Debug EventwParam()
EndSelect
EndSelect
Until event = #WM_CLOSE