PB : 6.21 beta 7
----------------------------------------
I'm using a ListView Gadget to display data.
And I just can't figure out how to determine the line number on which the user RIGHT-clicks.
Getting this information after a left-click is simple enough.
Any idea, anyone ?
Code: Select all
; Blue April 2025 - code snippet courtesy of PB Help file, modified
EnableExplicit
If 0 = OpenWindow(0, 0, 0, 270, 140, "ListViewGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
End
EndIf
; PROBLEM : determining the line number on which the user RIGHT-clicks in a ListView gadget
#dataList = 11
ListViewGadget(#dataList, 10, 10, 250, 120)
Define i, p = Len("0: value captured ")
For i = 1 To 12
AddGadgetItem (#dataList, -1, Str(i-1) + ": value captured " + Random(1200,1)); listview content
Next
SetGadgetState(#dataList, 0) ; start with first entry
Define event
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_CloseWindow : Break
Case #PB_Event_Gadget
Select EventType()
Case #PB_EventType_LeftClick
i = GetGadgetState(#dataList)
Debug "click on " + i + ": ["+ Mid(GetGadgetItemText(#dataList, i),p+1)+"]"
Case #PB_EventType_RightClick
SetGadgetState(#dataList, -1) ; unselect the currently selected entry
; How do I assign to the variable the line number that was right-clicked ?
i = GetGadgetState(#dataList) ; this correctly tells me nothing is selected <<< HELP needed here
Debug "Right-click on " + i + ": ["+ Mid(GetGadgetItemText(#dataList, i),p+1)+"]"
EndSelect
EndSelect
ForEver