can you a little help? i have another gadget - ListIcon. how to know wich one row from all list now is first after scroll in gadget? as i can understand i need 78 event - it will capture change scroll bar... probably... and then i need to make... ? i mean no selected item, but first row in a visible area of this list icon after scrolling.
Code: Select all
Enumeration
#Window
#List
#NUMGad
EndEnumeration
Procedure WinCallback(hWnd, uMsg, WParam, LParam)
;Debug uMsg
Select uMsg
Case 522 ; mousewheel
;Debug "522"
Case 78
Debug "78"
; some get first row number in a gadget
Default
;Debug uMsg
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
If OpenWindow(#Window, 100, 100, 220, 360, "", #PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget)
ListIconGadget(#List, 10, 10, 200, 250, "command", 88, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(#List, 1, "comment", 90)
;{
AddGadgetItem(#List, -1, "metka1:" + Chr(10) + "")
AddGadgetItem(#List, -1, "db 0AEh" + Chr(10) + " instr 14")
AddGadgetItem(#List, -1, "db 84h, 07Dh" + Chr(10) + " volume 125")
AddGadgetItem(#List, -1, "db 0E5h" + Chr(10) + " duration 6")
AddGadgetItem(#List, -1, "db 017h" + Chr(10) + " note 23 17")
AddGadgetItem(#List, -1, "db 0F9h" + Chr(10) + " duration 26")
AddGadgetItem(#List, -1, "db 01Eh" + Chr(10) + " note 30 1E")
AddGadgetItem(#List, -1, "db 0E5h" + Chr(10) + " duration 6")
AddGadgetItem(#List, -1, "db 017h" + Chr(10) + " note 23 17")
AddGadgetItem(#List, -1, "db 0A7h" + Chr(10) + " instr 7")
AddGadgetItem(#List, -1, "db 84h, 001h" + Chr(10) + " volume 1")
AddGadgetItem(#List, -1, "db 0F9h" + Chr(10) + " duration 26")
AddGadgetItem(#List, -1, "db 01Eh" + Chr(10) + " note 30 1E")
AddGadgetItem(#List, -1, "db 0E9h" + Chr(10) + " duration 10")
AddGadgetItem(#List, -1, "db 02Ah" + Chr(10) + " note 42 2A")
AddGadgetItem(#List, -1, "db 0ADh" + Chr(10) + " instr 13")
AddGadgetItem(#List, -1, "db 84h, 07Fh" + Chr(10) + " volume 127")
AddGadgetItem(#List, -1, "db 0E1h" + Chr(10) + " duration 2")
AddGadgetItem(#List, -1, "db 081h" + Chr(10) + " note 129 81")
AddGadgetItem(#List, -1, "db 0E0h" + Chr(10) + " duration 1")
AddGadgetItem(#List, -1, "db 03Dh" + Chr(10) + " note 61 3D")
AddGadgetItem(#List, -1, "db 081h" + Chr(10) + " note 129 81")
AddGadgetItem(#List, -1, "db 03Bh" + Chr(10) + " note 59 3B")
AddGadgetItem(#List, -1, "db 081h" + Chr(10) + " note 129 81")
AddGadgetItem(#List, -1, "db 0E5h" + Chr(10) + " duration 6")
AddGadgetItem(#List, -1, "db 03Dh" + Chr(10) + " note 61 3D")
AddGadgetItem(#List, -1, "db 0E1h" + Chr(10) + " duration 2")
AddGadgetItem(#List, -1, "db 081h" + Chr(10) + " note 129 81")
AddGadgetItem(#List, -1, "db 0E7h" + Chr(10) + " duration 8")
AddGadgetItem(#List, -1, "db 036h" + Chr(10) + " note 54 36")
AddGadgetItem(#List, -1, "db 0EBh" + Chr(10) + " duration 12")
AddGadgetItem(#List, -1, "db 081h" + Chr(10) + " note 129 81")
AddGadgetItem(#List, -1, "db 0E0h" + Chr(10) + " duration 1")
AddGadgetItem(#List, -1, "db 03Eh" + Chr(10) + " note 62 3E")
;}
StringGadget(#NUMGad, 10, 280, 50, 20, "0")
SetWindowCallback(@WinCallback(), #Window)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case #List
EndSelect
Case #PB_Event_CloseWindow
qiut = 1
EndSelect
Until qiut = 1
End
EndIf