Update
Changes
- new function PureLVSORT_GetClickedCellColumn() : Get the listicon clicked cell column after a click event.
- new function PureLVSORT_GetClickedCellRow() : Get the listicon clicked cell row after a click event.
Code:
Procedure.l WindowCallBack(WindowId.l, message.l, wParam.l, lParam.l)
ReturnValue.l = #PB_ProcessPureBasicEvents
;
ReturnValue = PureLVSORT_CallBack(WindowId, message, wParam, lParam, ReturnValue)
;
ProcedureReturn ReturnValue
EndProcedure
; Create Window
OpenWindow(0, 100, 300, 420, 170, #PB_Window_SystemMenu, "PureLVSORT test : get clicked cells coordinates")
If CreateGadgetList(WindowID())
ListIconGadget(1, 1, 1, 250, 160, "0", 50, #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
AddGadgetColumn(1, 1, "1", 50)
AddGadgetColumn(1, 2, "2", 50)
AddGadgetColumn(1, 3, "3", 50)
AddGadgetColumn(1, 4, "4", 50)
AddGadgetColumn(1, 5, "5", 50)
AddGadgetItem(1, -1, " ")
AddGadgetItem(1, -1, " ")
AddGadgetItem(1, -1, " ")
AddGadgetItem(1, -1, " ")
AddGadgetItem(1, -1, " ")
AddGadgetItem(1, -1, " ")
AddGadgetItem(1, -1, " ")
AddGadgetItem(1, -1, " ")
AddGadgetItem(1, -1, " ")
ListIconGadget(2, 260, 1, 150, 160, "0", 50, #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
AddGadgetColumn(2, 1, "1", 50)
AddGadgetColumn(2, 2, "2", 50)
AddGadgetItem(2, -1, " ")
AddGadgetItem(2, -1, " ")
AddGadgetItem(2, -1, " ")
AddGadgetItem(2, -1, " ")
AddGadgetItem(2, -1, " ")
AddGadgetItem(2, -1, " ")
AddGadgetItem(2, -1, " ")
AddGadgetItem(2, -1, " ")
AddGadgetItem(2, -1, " ")
AddGadgetItem(2, -1, " ")
AddGadgetItem(2, -1, " ")
EndIf
SetWindowCallback(@WindowCallBack())
Repeat
EventID.l = WaitWindowEvent()
GadgetID.l = EventGadgetID()
EventType.l = EventType()
If EventID = #PB_EventGadget
If GadgetID = 1
Debug "* ListIconGadget 1 Event"
If EventType = #PB_EventType_LeftClick
Debug " Left Click at ROW:" + Str(PureLVSORT_GetClickedCellRow()) + " COL:" + Str(PureLVSORT_GetClickedCellColumn())
ElseIf EventType = #PB_EventType_LeftDoubleClick
Debug " Left DBL Click at ROW:" + Str(PureLVSORT_GetClickedCellRow()) + " COL:" + Str(PureLVSORT_GetClickedCellColumn())
ElseIf EventType = #PB_EventType_RightClick
Debug " Right Click at ROW:" + Str(PureLVSORT_GetClickedCellRow()) + " COL:" + Str(PureLVSORT_GetClickedCellColumn())
ElseIf EventType = #PB_EventType_RightDoubleClick
Debug " Right DBL Click at ROW:" + Str(PureLVSORT_GetClickedCellRow()) + " COL:" + Str(PureLVSORT_GetClickedCellColumn())
EndIf
EndIf
If GadgetID = 2
Debug "* ListIconGadget 2 Event"
If EventType = #PB_EventType_LeftClick
Debug "Left Click at ROW:" + Str(PureLVSORT_GetClickedCellRow()) + " COL:" + Str(PureLVSORT_GetClickedCellColumn())
ElseIf EventType = #PB_EventType_LeftDoubleClick
Debug " Left DBL Click at ROW:" + Str(PureLVSORT_GetClickedCellRow()) + " COL:" + Str(PureLVSORT_GetClickedCellColumn())
ElseIf EventType = #PB_EventType_RightClick
Debug " Right Click at ROW:" + Str(PureLVSORT_GetClickedCellRow()) + " COL:" + Str(PureLVSORT_GetClickedCellColumn())
ElseIf EventType = #PB_EventType_RightDoubleClick
Debug " Right DBL Click at ROW:" + Str(PureLVSORT_GetClickedCellRow()) + " COL:" + Str(PureLVSORT_GetClickedCellColumn())
EndIf
EndIf
ElseIf EventID = #PB_EventCloseWindow
Break
EndIf
ForEver
;
End