z.B. für Sortieren oder was auch immer
Code: Alles auswählen
Enumeration
#win1
#but1
#lvg1
EndEnumeration
hwnd = OpenWindow(#win1,0,0,640,480,"ListIcon Gadget",#PB_Window_SystemMenu|1)
CreateGadgetList(hwnd)
ButtonGadget(#but1,10,420,80,25,"Tue nix")
idnr1 = ListIconGadget(#lvg1,10,12,300,400,"bla 0",150,#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
AddGadgetColumn(#lvg1,1,"Spalte 1",150)
AddGadgetColumn(#lvg1,2,"Spalte 2",55)
AddGadgetColumn(#lvg1,3,"Spalte 3",255)
head1 = SendMessage_(idnr1, #LVM_GETHEADER, #Null, #Null)
For i = 1 To 62
nr$ = LSet(Str(i),3," ")
txt$ = "Text in Zeile "+nr$+" in Spalte 1"+#LF$+"Spalte 2"+#LF$+"Spalte 3"
AddGadgetItem(#lvg1, -1, txt$)
Next
;=====================================================
Repeat
event = WaitWindowEvent()
If event = #WM_LBUTTONDOWN ;513
If GetCapture_() = head1
GetCursorPos_(p.POINT)
MapWindowPoints_(0,head1,p,1)
HD_HitInfo.HD_HITTESTINFO
HD_Hitinfo\pt\x = p\x
HD_HitInfo\pt\y = p\y
SendMessage_(head1,#HDM_HITTEST,0,HD_HitInfo)
mouseclickhead1 = HD_hitinfo\iitem
Debug "Head1: Spalte " + Str(mouseclickhead1)
EndIf
ElseIf Event = #PB_Event_Gadget Or Event = #PB_Event_Menu
welcherButton = EventGadget()
Select welcherButton
Case #but1: Debug "Button 1 gedrückt"
Case #lvg1
If EventType() = #PB_EventType_LeftClick
GetCursorPos_(p.POINT)
MapWindowPoints_(0,idnr1,p,1)
HitInfo.LVHITTESTINFO
Hitinfo\pt\x = p\x
HitInfo\pt\y = p\y
SendMessage_(idnr1,#LVM_SUBITEMHITTEST ,0,HitInfo)
mouseclickrow = hitinfo\iitem
mouseclickcol = hitinfo\isubitem
EndIf
EndSelect
EndIf
Until event = #PB_Event_CloseWindow
End