Page 2 of 3

Posted: Sat Mar 01, 2008 8:47 pm
by Sparkie
Try using a virtual (list-view) ListIconGadget with #LVS_OWNERDATA and #LVN_GETDISPINFO. They can be quite fast when using thousands of items. ;)

Posted: Sat Mar 01, 2008 10:06 pm
by Heathen
Fluid Byte wrote:By the way, do you disable redrawing before you add the items?
Yes, I use a #WM_SETREDRAW before and after the list is populated. Populating the list is fast on both machines, it seems to just freeze after the list is populated (on slower computers). This is why I just want to know how I can use the windows api to get the top visible item in the list, and the amount per page. There should be an elegant way of doing this, unless I'm mistaken.. #LVM_GETCOUNTPERPAGE and #LVM_GETTOPINDEX only seems to work for normal lists without icons.

Sparkie wrote:Try using a virtual (list-view) ListIconGadget with #LVS_OWNERDATA and #LVN_GETDISPINFO. They can be quite fast when using thousands of items.
Could you be a little more specific? I've never used virtual lists.

Thanks again guys, I really appreciate it.

Posted: Sun Mar 02, 2008 4:37 am
by Sparkie
Here's a quick and dirty example. For simplicity, I used a global array to hold the data (item text). Feel free to use any other method you see fit. ;)

Code: Select all

;... We'll use 10000 items
#ItemCount = 10000

#LVSICF_NOINVALIDATEALL = 1

UsePNGImageDecoder()

img0 = CatchImage(0, ?myImage)

;... Array to hold data
Global Dim myItems.s(#ItemCount)

Procedure MainProc(hwnd, msg, wParam, lParam)
  result = #PB_ProcessPureBasicEvents
  Select msg
    Case #WM_NOTIFY
      *pnmh.NMHDR = lParam
      Select *pnmh\code
        Case #LVN_GETDISPINFO
          *pnmlvdi.NMLVDISPINFO = lParam
          If *pnmlvdi\item\mask & #LVIF_IMAGE
            ;... Image info is being requested
            *pnmlvdi\item\iImage = *pnmlvdi\item\iItem
          EndIf
          If *pnmlvdi\item\mask & #LVIF_TEXT
            ;... Item text is being requested
            *pnmlvdi\item\pszText = @myItems(*pnmlvdi\item\iItem)
          EndIf
          
      EndSelect
  EndSelect
  ProcedureReturn result
EndProcedure

If OpenWindow(0, 100, 100, 300, 300, "Virtual ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And  CreateGadgetList(WindowID(0))
  SetWindowCallback(@MainProc())
  CreateStatusBar(0, WindowID(0))
  AddStatusBarField(300)
  
  ListIconGadget(1, 5, 5, 290, 250, "Item", 290, #LVS_OWNERDATA)
  ;... Set desired number of ListIconGdaget items
  SendMessage_(GadgetID(1), #LVM_SETITEMCOUNT, #ItemCount, #LVSICF_NOINVALIDATEALL)
  ;... Create our ImageList
  imgList = ImageList_Create_(32, 32, #ILC_COLOR32, 0, #ItemCount)
  For i = 0 To #ItemCount - 1
    ;... Add item text to our array
    myItems(i) = "Otis Number " + Str(i)
    SetGadgetItemText(1, i, myItems(i))
    ;... Add out image to the ImageList
    ImageList_Add_(imgList, img0, 0)
  Next
  ;... Assign our ImageList top the ListIconGadget
  SendMessage_(GadgetID(1), #LVM_SETIMAGELIST, #LVSIL_SMALL, imgList)
  
  Repeat
    event = WaitWindowEvent()
    If event = #PB_Event_Gadget And EventGadget() = 1
      selectedItem = GetGadgetState(1)
      GetGadgetItemText(1, selectedItem)
      StatusBarText(0, 0, GetGadgetItemText(1, selectedItem) + " is selected")
    EndIf
  Until event = #PB_Event_CloseWindow
EndIf

DataSection
myImage:
Data.b $89,$50,$4E,$47,$0D,$0A,$1A,$0A,$00,$00,$00,$0D,$49,$48,$44,$52
Data.b $00,$00,$00,$20,$00,$00,$00,$20,$08,$02,$00,$00,$00,$FC,$18,$ED
Data.b $A3,$00,$00,$00,$09,$70,$48,$59,$73,$00,$00,$0E,$C3,$00,$00,$0E
Data.b $C3,$01,$C7,$6F,$A8,$64,$00,$00,$0B,$64,$49,$44,$41,$54,$78,$9C
Data.b $4D,$94,$69,$50,$5B,$D7,$19,$86,$F5,$D3,$69,$83,$59,$6D,$90,$10
Data.b $20,$B4,$EF,$42,$BA,$92,$D0,$72,$A5,$AB,$7D,$BD,$DA,$D0,$2E,$24
Data.b $B4,$83,$10,$02,$49,$06,$CC,$16,$08,$98,$C5,$32,$C6,$2C,$5E,$B1
Data.b $1D,$EC,$30,$26,$5E,$82,$ED,$86,$C4,$89,$71,$5C,$2F,$6D,$DD,$A6
Data.b $93,$AD,$99,$24,$4D,$D2,$71,$F7,$36,$6D,$33,$89,$DB,$A6,$CB,$74
Data.b $5A,$C7,$69,$0F,$9D,$FE,$E8,$99,$67,$BE,$B9,$F7,$CF,$FB,$9E,$F7
Data.b $FB,$CE,$39,$98,$5C,$3E,$DF,$9B,$CF,$17,$FB,$FB,$87,$46,$47,$27
Data.b $26,$A7,$66,$E6,$4A,$B3,$A5,$D2,$5C,$69,$7E,$7A,$6E,$0E,$7C,$E7
Data.b $0B,$45,$2B,$9F,$33,$58,$48,$7A,$9D,$1A,$EC,$9E,$B2,$26,$5C,$25
Data.b $A1,$7E,$87,$66,$7C,$25,$11,$5F,$49,$C0,$57,$36,$60,$CB,$1B,$B1
Data.b $E5,$B8,$BD,$65,$B8,$3D,$DF,$AC,$A9,$FC,$46,$33,$AE,$82,$55,$5F
Data.b $26,$E0,$90,$3D,$76,$4D,$AE,$33,$10,$0E,$7A,$31,$C9,$74,$A7,$5A
Data.b $AB,$31,$18,$8C,$66,$8B,$D5,$62,$DD,$01,$45,$6D,$26,$B3,$D9,$60
Data.b $30,$84,$42,$91,$44,$3C,$AE,$25,$13,$86,$0A,$09,$AF,$1D,$69,$C2
Data.b $EE,$26,$D4,$57,$90,$1A,$2A,$77,$C0,$83,$5A,$45,$C6,$EF,$40,$AA
Data.b $AF,$6A,$AC,$AB,$68,$AC,$2D,$C3,$EF,$01,$EC,$E6,$E0,$CA,$84,$5C
Data.b $8A,$D7,$A9,$4D,$47,$1C,$76,$AB,$11,$E3,$F5,$FB,$15,$88,$52,$AD
Data.b $D1,$02,$51,$B3,$D5,$6A,$B2,$58,$4C,$66,$8B,$D1,$68,$D2,$E9,$F5
Data.b $C1,$60,$D8,$E7,$72,$A8,$1B,$F1,$83,$7D,$71,$54,$2F,$6E,$C6,$95
Data.b $03,$5D,$4A,$63,$15,$B5,$B1,$9A,$DA,$54,$2D,$61,$37,$CC,$A6,$75
Data.b $CB,$59,$CB,$54,$97,$37,$1D,$70,$D3,$09,$B5,$04,$EC,$6E,$FC,$DE
Data.b $32,$4A,$6D,$99,$0C,$62,$06,$3D,$86,$44,$3B,$AA,$43,$5A,$31,$A1
Data.b $F6,$F6,$40,$30,$D0,$1E,$89,$C4,$13,$C9,$54,$1A,$AC,$CE,$54,$2A
Data.b $1D,$8F,$27,$C1,$6F,$B6,$A7,$D7,$86,$C0,$DA,$46,$5C,$7F,$6F,$87
Data.b $51,$05,$51,$F1,$35,$64,$7C,$0D,$A9,$BE,$9A,$8A,$AF,$06,$D5,$24
Data.b $61,$DC,$3C,$D2,$7B,$79,$D0,$34,$ED,$E3,$94,$12,$AA,$7D,$41,$13
Data.b $83,$80,$6D,$C6,$56,$34,$D5,$55,$48,$21,$66,$BB,$DB,$10,$74,$EB
Data.b $D4,$72,$08,$A3,$54,$21,$52,$B9,$5C,$AE,$50,$68,$75,$7A,$8B,$15
Data.b $05,$21,$8C,$26,$93,$13,$B5,$76,$84,$82,$B9,$A8,$77,$79,$5F,$78
Data.b $7D,$C8,$8B,$B4,$90,$94,$EC,$06,$BF,$B8,$BE,$A8,$C6,$1D,$34,$D7
Data.b $1E,$46,$71,$4B,$11,$D1,$B1,$BC,$77,$C4,$CE,$E8,$D6,$71,$4A,$B9
Data.b $BC,$DF,$6C,$71,$29,$5B,$FA,$23,$28,$CC,$A3,$31,$09,$75,$AC,$66
Data.b $AC,$AA,$95,$AD,$96,$B7,$A8,$64,$7C,$0C,$A2,$56,$C1,$4A,$05,$AC
Data.b $DC,$E9,$92,$D9,$62,$01,$33,$E8,$8E,$06,$87,$7B,$92,$1D,$0E,$5D
Data.b $DE,$D6,$B2,$9A,$81,$37,$C6,$63,$03,$ED,$A6,$FB,$C7,$72,$97,$FA
Data.b $64,$AB,$19,$CD,$4A,$04,$9A,$75,$50,$B6,$0E,$84,$1E,$FD,$60,$7D
Data.b $ED,$40,$FE,$EA,$C9,$C5,$DF,$FD,$E8,$FD,$CD,$E3,$67,$46,$BB,$7B
Data.b $85,$4C,$4A,$D2,$65,$80,$A8,$8D,$CC,$A6,$5A,$60,$C3,$23,$E3,$25
Data.b $7C,$06,$A6,$3B,$9B,$C9,$66,$BB,$7B,$7B,$7B,$73,$BD,$BD,$5D,$5D
Data.b $99,$BE,$74,$FC,$99,$9E,$68,$2E,$84,$C6,$35,$8C,$31,$94,$DC,$AB
Data.b $6E,$18,$76,$70,$EE,$AD,$8D,$BF,$79,$71,$F6,$FA,$6C,$66,$73,$61
Data.b $74,$6B,$6D,$E9,$CA,$4C,$F6,$B9,$E1,$F0,$C6,$64,$E2,$8D,$F5,$D1
Data.b $5B,$6B,$2B,$1F,$DF,$BB,$FD,$F6,$F5,$AD,$4E,$A7,$AE,$D8,$E1,$50
Data.b $0B,$B9,$3E,$BD,$8C,$49,$A8,$A5,$36,$EC,$61,$11,$EA,$04,$B4,$26
Data.b $0C,$2C,$20,$6B,$24,$2C,$23,$22,$B0,$E9,$64,$A9,$76,$CF,$E1,$E1
Data.b $DC,$81,$42,$BA,$D8,$26,$05,$F1,$07,$9D,$A6,$EB,$AB,$AB,$EB,$47
Data.b $A6,$1F,$DE,$39,$F7,$CA,$89,$89,$9F,$DC,$3A,$F7,$60,$F3,$CC,$C6
Data.b $F1,$85,$4F,$5E,$BF,$F0,$60,$7D,$FA,$DB,$27,$8A,$17,$86,$D0,$ED
Data.b $E5,$D4,$5B,$AF,$AC,$3D,$B8,$B6,$B9,$3E,$77,$70,$2E,$13,$F1,$EB
Data.b $A5,$11,$2B,$22,$A2,$13,$38,$44,$2C,$A3,$A9,$96,$DE,$54,$8B,$91
Data.b $F2,$08,$30,$9F,$A8,$84,$C8,$21,$AB,$72,$E5,$D9,$E2,$C2,$58,$7E
Data.b $BC,$37,$D9,$65,$E6,$74,$5A,$F4,$5F,$7C,$F0,$D1,$1F,$7F,$FA,$E3
Data.b $EF,$9C,$9F,$B8,$B9,$9C,$FF,$F0,$D5,$B3,$5F,$7E,$74,$EF,$A3,$1B
Data.b $A7,$D7,$66,$06,$1E,$DE,$D9,$F8,$D5,$F7,$AF,$7E,$F8,$CA,$E9,$E7
Data.b $07,$6D,$37,$E7,$5C,$9B,$73,$51,$AB,$8C,$1B,$6F,$B3,$16,$42,$D6
Data.b $4C,$00,$0D,$9B,$61,$B7,$1E,$E1,$53,$F0,$5C,$12,$8E,$45,$C4,$01
Data.b $83,$66,$79,$0B,$51,$C1,$27,$95,$06,$3A,$4F,$CF,$0D,$1F,$1C,$CE
Data.b $8F,$A5,$5C,$02,$1A,$E1,$AD,$57,$B7,$EF,$5F,$79,$E1,$CD,$AD,$E3
Data.b $6F,$9C,$CD,$6E,$4E,$85,$3F,$7E,$7D,$E3,$D3,$EF,$5D,$FA,$C9,$2B
Data.b $4B,$57,$0E,$C4,$7E,$76,$F3,$C4,$2F,$EF,$6D,$AC,$1C,$18,$99,$2C
Data.b $74,$AD,$F5,$3B,$1E,$AC,$04,$A7,$22,$8A,$84,$81,$AD,$17,$D1,$29
Data.b $CD,$F8,$A0,$45,$8D,$AA,$61,$60,$C0,$A7,$36,$B4,$90,$F1,$18,$59
Data.b $4B,$33,$0C,$0C,$04,$E4,$D9,$7D,$E9,$A3,$13,$85,$67,$73,$51,$88
Data.b $DE,$5C,$1A,$CC,$17,$C2,$9E,$A0,$46,$78,$EB,$68,$E7,$F6,$A1,$C8
Data.b $F2,$48,$76,$A4,$2F,$F3,$C9,$AD,$73,$EF,$5C,$9E,$BB,$30,$1E,$FA
Data.b $F9,$AD,$D5,$BF,$BE,$77,$3D,$68,$D5,$E4,$B2,$3D,$17,$4F,$94,$D6
Data.b $87,$5C,$F7,$E7,$5D,$5E,$98,$56,$55,$B6,$AB,$E2,$E9,$5D,$22,$36
Data.b $D5,$8A,$C8,$78,$24,$1C,$44,$6F,$84,$A8,$0D,$18,$39,$0F,$18,$34
Data.b $23,$10,$39,$E5,$31,$2D,$8F,$17,$DD,$5A,$09,$B9,$11,$1B,$B6,$48
Data.b $93,$3A,$EA,$91,$AC,$F9,$83,$F3,$5D,$77,$57,$47,$CE,$9F,$3A,$AA
Data.b $45,$90,$B7,$BF,$75,$EC,$BD,$EB,$2B,$37,$CF,$CC,$3C,$BC,$7B,$E9
Data.b $F3,$77,$6F,$84,$1C,$D6,$B0,$CF,$AF,$84,$F8,$09,$9F,$EB,$4C,$4E
Data.b $21,$21,$57,$55,$94,$ED,$AA,$7C,$7A,$17,$6E,$4F,$65,$A4,$CD,$DE
Data.b $58,$5B,$21,$A4,$37,$89,$68,$8D,$18,$98,$4F,$02,$FD,$51,$08,$88
Data.b $5A,$31,$7D,$30,$E5,$87,$F9,$0C,$6C,$4D,$D9,$DE,$CA,$6F,$06,$54
Data.b $AC,$1F,$1C,$8B,$5C,$1D,$B3,$1C,$79,$A6,$18,$F6,$78,$22,$81,$E0
Data.b $F3,$0B,$93,$BF,$F9,$E1,$8D,$B7,$6E,$6E,$3E,$FC,$E1,$ED,$37,$6E
Data.b $5C,$F1,$D9,$6C,$93,$53,$0B,$43,$93,$45,$8F,$DD,$9E,$D0,$51,$C5
Data.b $C4,$8A,$EA,$DD,$4F,$11,$EA,$2A,$B8,$24,$2C,$09,$57,$5D,$5B,$F9
Data.b $B4,$80,$DA,$D0,$CA,$6C,$C2,$80,$01,$28,$05,$24,$15,$44,$46,$20
Data.b $4A,$D8,$2C,$93,$F3,$99,$D5,$E5,$4F,$D5,$54,$3C,$45,$C1,$55,$DE
Data.b $9E,$43,$8B,$7E,$8D,$C7,$6C,$DC,$3F,$37,$51,$4C,$64,$FA,$52,$A9
Data.b $F7,$5E,$BF,$7A,$ED,$C4,$81,$73,$F3,$63,$17,$4E,$2E,$E6,$3B,$3B
Data.b $B3,$C1,$76,$BF,$4E,$AE,$95,$8A,$A3,$6A,$22,$44,$28,$6F,$AC,$2D
Data.b $97,$B2,$09,$30,$97,$08,$3C,$1A,$F6,$96,$8B,$E8,$8D,$12,$26,$01
Data.b $1C,$53,$B0,$7D,$92,$52,$48,$D2,$88,$69,$9D,$5E,$33,$97,$4A,$A8
Data.b $DA,$BD,$AB,$BE,$A6,$4C,$48,$AB,$3F,$9F,$87,$15,$3C,$52,$C2,$EB
Data.b $DB,$17,$0F,$65,$9C,$AE,$85,$A9,$03,$2F,$9D,$2E,$BD,$70,$78,$60
Data.b $2A,$17,$1D,$4D,$F9,$8A,$D9,$6C,$2A,$18,$1A,$CA,$17,$63,$4E,$FD
Data.b $4C,$58,$24,$22,$56,$50,$F0,$35,$E0,$CE,$23,$7C,$92,$94,$D5,$44
Data.b $C3,$D7,$88,$99,$4D,$32,$0E,$11,$83,$08,$C9,$4A,$88,$A4,$15,$53
Data.b $51,$65,$4B,$3A,$E0,$6C,$A1,$60,$F7,$54,$3C,$C5,$6E,$AE,$35,$C9
Data.b $E8,$D3,$61,$41,$CE,$C6,$0B,$DA,$4D,$E1,$36,$77,$4F,$3C,$31,$3D
Data.b $B2,$BF,$D4,$1B,$7C,$7E,$B6,$30,$1C,$77,$24,$50,$04,$55,$29,$0E
Data.b $1F,$2C,$9D,$5C,$5E,$D9,$1F,$75,$AC,$15,$75,$10,$B1,$8A,$D1,$B4
Data.b $57,$03,$51,$D4,$02,$B2,$92,$47,$02,$CD,$91,$72,$88,$30,$97,$84
Data.b $01,$EA,$08,$44,$D2,$49,$A8,$26,$39,$C3,$20,$65,$C0,$3C,$42,$63
Data.b $ED,$6E,$25,$9F,$68,$81,$99,$CF,$46,$24,$97,$47,$CD,$87,$F7,$85
Data.b $4F,$2D,$2F,$1F,$5B,$5C,$9E,$2C,$E4,$C6,$92,$BE,$E3,$53,$03,$4B
Data.b $23,$99,$E1,$6C,$AA,$3B,$E4,$CB,$C4,$E2,$53,$C3,$83,$13,$49,$F3
Data.b $A5,$31,$0B,$BB,$A1,$02,$5C,$60,$60,$A0,$15,$52,$D4,$10,$05,$69
Data.b $21,$2B,$78,$44,$50,$31,$9A,$56,$AA,$5E,$42,$33,$C8,$69,$66,$98
Data.b $01,$90,$B0,$1A,$28,$F8,$2A,$14,$66,$39,$54,$9C,$01,$BF,$E4,$C1
Data.b $D1,$D0,$D1,$82,$E3,$C4,$DC,$F8,$C1,$C9,$A9,$13,$87,$0E,$AE,$2D
Data.b $CC,$BE,$BE,$F5,$D2,$E5,$E7,$CE,$9C,$58,$5A,$9C,$1D,$1E,$4A,$45
Data.b $22,$49,$BF,$73,$3C,$AA,$3E,$96,$81,$19,$B8,$72,$F0,$F8,$E8,$44
Data.b $34,$43,$2B,$5D,$2B,$A2,$EA,$44,$74,$B5,$80,$A2,$E2,$53,$30,$06
Data.b $19,$DD,$28,$A3,$03,$69,$0B,$CC,$B0,$21,$2C,$01,$15,$DB,$CA,$C4
Data.b $3B,$D5,$5C,$97,$96,$D7,$ED,$12,$DF,$59,$F0,$6F,$4E,$38,$4B,$FB
Data.b $A2,$43,$B9,$CC,$FC,$CC,$CC,$C6,$D9,$33,$BF,$FF,$F4,$0F,$8F,$3E
Data.b $7F,$74,$7B,$FB,$DB,$F9,$6C,$CE,$DF,$E6,$72,$68,$E4,$31,$2D,$6B
Data.b $C4,$DB,$E2,$91,$93,$B9,$A4,$3A,$93,$84,$6E,$94,$30,$40,$35,$88
Data.b $E9,$3A,$21,$4D,$0D,$51,$81,$01,$CD,$28,$67,$58,$95,$2C,$80,$0D
Data.b $61,$5B,$15,$0C,$87,$8A,$ED,$D6,$72,$DB,$B4,$DC,$84,$4D,$F8,$5A
Data.b $C9,$7F,$6D,$C2,$BA,$D8,$E7,$E8,$EE,$08,$8D,$EE,$1F,$3E,$7E,$F4
Data.b $E4,$97,$5F,$FE,$FD,$AB,$AF,$9E,$3C,$7C,$F8,$AB,$43,$07,$0F,$07
Data.b $FD,$01,$A5,$44,$EC,$51,$B2,$9F,$09,$CB,$0E,$A5,$B5,$3C,$12,$D6
Data.b $2A,$63,$5A,$E5,$00,$96,$59,$CA,$D2,$83,$28,$10,$05,$63,$94,$D3
Data.b $2D,$4A,$E6,$7F,$D5,$59,$76,$84,$E5,$50,$73,$DA,$FE,$AB,$EE,$D1
Data.b $71,$43,$26,$E1,$CB,$07,$FD,$CF,$15,$75,$F3,$69,$8D,$17,$35,$82
Data.b $67,$F7,$E2,$0B,$9B,$73,$B3,$0B,$85,$9E,$7E,$97,$DD,$63,$D4,$19
Data.b $93,$B1,$24,$87,$49,$67,$36,$D7,$97,$BA,$AD,$4B,$19,$3D,$44,$C3
Data.b $A3,$30,$DB,$22,$67,$A2,$72,$96,$45,$CA,$32,$4A,$E9,$7A,$11,$0D
Data.b $63,$56,$30,$50,$84,$85,$EE,$48,$B3,$DB,$B4,$1C,$B0,$77,$AF,$81
Data.b $B7,$83,$8E,$D7,$6E,$11,$7D,$EF,$FC,$10,$30,$18,$F1,$89,$D5,$12
Data.b $68,$FF,$C0,$60,$D0,$17,$72,$3B,$DC,$99,$74,$B6,$3F,$3F,$88,$1A
Data.b $2D,$3E,$B7,$8F,$4D,$A7,$D7,$ED,$A9,$FA,$D6,$CA,$BE,$3E,$1B,$9F
Data.b $43,$AC,$73,$28,$39,$36,$98,$65,$83,$D9,$20,$84,$45,$CE,$32,$49
Data.b $19,$18,$BB,$9A,$0D,$D4,$6D,$2A,$96,$53,$C3,$76,$69,$B9,$6E,$3D
Data.b $CF,$6F,$E4,$FB,$8C,$2D,$01,$B3,$20,$6A,$97,$7E,$77,$63,$F6,$F6
Data.b $B1,$4E,$14,$22,$8A,$79,$8C,$64,$47,$2C,$E8,$F1,$77,$26,$BA,$56
Data.b $4F,$9E,$9B,$99,$2A,$59,$35,$7A,$BD,$52,$25,$E0,$70,$B0,$B5,$D5
Data.b $57,$E6,$73,$3E,$29,$91,$D1,$B4,$C7,$89,$70,$1D,$C8,$8E,$07,$08
Data.b $81,$2A,$38,$16,$19,$13,$E3,$D6,$F3,$DB,$74,$3C,$B7,$9E,$EB,$D6
Data.b $71,$DD,$06,$9E,$CF,$C8,$0F,$9A,$05,$21,$8B,$30,$64,$15,$76,$D8
Data.b $C4,$57,$97,$FA,$BF,$7F,$65,$C1,$28,$A6,$71,$68,$24,$AD,$4A,$D3
Data.b $E1,$0D,$A4,$3C,$DE,$B0,$DB,$EF,$B1,$B7,$65,$BC,$BE,$74,$47,$A2
Data.b $85,$CD,$69,$C2,$D7,$1D,$EB,$F7,$68,$59,$B5,$6C,$52,$5D,$9B,$A6
Data.b $C5,$AB,$13,$80,$EA,$54,$71,$6D,$C0,$49,$C1,$C6,$F8,$CD,$42,$9F
Data.b $51,$E0,$33,$81,$5D,$03,$5D,$28,$64,$86,$22,$A8,$30,$82,$8A,$23
Data.b $36,$71,$D4,$21,$BD,$7F,$6E,$F2,$E5,$B3,$33,$4E,$25,$57,$02,$41
Data.b $7E,$AF,$6F,$7A,$7C,$6A,$7F,$5F,$BF,$C3,$64,$D5,$23,$9A,$C9,$B1
Data.b $D9,$ED,$ED,$7B,$A9,$64,$8A,$48,$20,$5C,$3A,$10,$87,$29,$35,$E0
Data.b $9D,$F0,$68,$77,$0C,$00,$6E,$2D,$DF,$A5,$6E,$71,$20,$5C,$4C,$10
Data.b $15,$05,$AD,$00,$61,$C4,$2E,$89,$3A,$64,$1D,$F6,$D6,$84,$53,$1A
Data.b $73,$49,$63,$0E,$49,$C2,$25,$7B,$FF,$A5,$E5,$0B,$8B,$23,$76,$9D
Data.b $4C,$A5,$50,$4E,$4E,$4C,$AD,$1E,$5F,$9D,$1A,$9F,$8E,$05,$C3,$C1
Data.b $36,$DF,$C2,$74,$E9,$B5,$AD,$9B,$E3,$63,$E3,$0D,$38,$DC,$44,$44
Data.b $41,$C7,$96,$23,$02,$92,$DF,$C0,$0F,$18,$21,$9F,$5E,$00,$70,$6B
Data.b $F8,$20,$0A,$26,$84,$8A,$DB,$51,$71,$D8,$D6,$0A,$A4,$A3,$4E,$49
Data.b $CC,$25,$4B,$BA,$E1,$B4,$5B,$91,$6A,$93,$A7,$3D,$8A,$4F,$6E,$9D
Data.b $3A,$33,$9D,$33,$22,$AD,$6C,$26,$73,$64,$F8,$99,$E1,$E2,$C0,$99
Data.b $85,$A5,$E3,$B3,$A5,$91,$5C,$61,$F3,$B9,$F3,$4B,$B3,$F3,$85,$9E
Data.b $3E,$7C,$DD,$DE,$A9,$F6,$56,$3A,$BE,$5A,$2F,$A6,$05,$4C,$50,$C0
Data.b $24,$F4,$9B,$84,$20,$84,$6F,$07,$68,$27,$C1,$4E,$37,$9C,$92,$0E
Data.b $87,$24,$EE,$92,$01,$D1,$6E,$BF,$2A,$E3,$57,$75,$7A,$E0,$8C,$0F
Data.b $79,$EB,$F2,$DC,$FA,$A1,$82,$45,$2D,$61,$52,$29,$B9,$4C,$0F,$78
Data.b $91,$16,$27,$A7,$EF,$6D,$DF,$FD,$F0,$BD,$1F,$BF,$7A,$75,$EB,$D9
Data.b $E1,$09,$97,$CD,$41,$C6,$55,$1F,$89,$40,$3A,$3E,$01,$8C,$37,$64
Data.b $06,$ED,$95,$84,$CC,$A2,$A0,$51,$E8,$37,$80,$28,$10,$A6,$C3,$25
Data.b $8B,$ED,$20,$4D,$B6,$C1,$29,$0F,$DC,$E5,$53,$66,$02,$2A,$E0,$D1
Data.b $ED,$53,$02,$EE,$AF,$8D,$BC,$76,$7A,$CC,$87,$6A,$04,$5C,$26,$2C
Data.b $95,$ED,$2F,$0C,$AC,$AF,$9E,$BD,$F3,$E2,$D6,$DD,$6B,$37,$1F,$BC
Data.b $7A,$EB,$83,$B7,$DF,$69,$F7,$78,$0E,$65,$D0,$CD,$21,$43,$BB,$8A
Data.b $D1,$A6,$E5,$C5,$EC,$92,$B8,$53,$16,$B1,$B6,$FA,$0D,$C2,$A0,$49
Data.b $14,$30,$8A,$30,$31,$37,$9C,$70,$C3,$49,$8F,$22,$ED,$43,$32,$01
Data.b $24,$1B,$54,$F5,$84,$34,$B9,$90,$7A,$A7,$B6,$EB,$B6,$96,$FA,$7E
Data.b $71,$FB,$78,$6F,$CC,$D3,$9B,$49,$25,$A2,$1D,$8B,$F3,$F3,$5F,$7C
Data.b $FE,$C5,$E3,$C7,$8F,$BF,$7E,$F2,$F5,$EF,$3F,$FD,$6C,$65,$76,$FE
Data.b $50,$21,$72,$7F,$29,$BD,$3D,$EB,$E1,$34,$56,$BB,$34,$FF,$33,$00
Data.b $B3,$0C,$59,$C5,$41,$93,$10,$E4,$C0,$A4,$3C,$0A,$A0,$DE,$05,$B6
Data.b $1C,$D2,$F4,$45,$F4,$7D,$11,$43,$6F,$44,$9F,$8F,$E8,$0B,$11,$FD
Data.b $60,$DC,$F4,$C1,$CB,$8B,$BF,$BE,$73,$F2,$C6,$F9,$F9,$3F,$3D,$7A
Data.b $F4,$E7,$3F,$7D,$F1,$E4,$C9,$93,$AF,$1E,$3F,$FE,$EC,$B7,$BF,$BE
Data.b $B6,$71,$71,$61,$62,$F4,$EE,$8B,$A7,$BE,$7C,$F7,$DA,$F6,$B4,$7B
Data.b $75,$22,$17,$B7,$23,$36,$05,$2B,$05,$DA,$E0,$56,$24,$DB,$14,$E0
Data.b $0E,$45,$AC,$12,$00,$26,$0D,$3A,$1E,$D4,$74,$87,$B4,$3D,$61,$5D
Data.b $3E,$66,$CA,$47,$8D,$FB,$12,$96,$42,$CC,$38,$90,$B4,$1E,$D9,$1F
Data.b $FC,$EC,$C1,$E9,$BF,$BD,$7F,$E5,$C6,$B9,$F9,$7F,$FE,$E3,$1F,$FF
Data.b $FE,$BF,$F5,$F5,$57,$FF,$FA,$CB,$4F,$DF,$F9,$EB,$C7,$77,$FF,$FC
Data.b $E6,$C5,$F5,$21,$67,$2A,$96,$7A,$F7,$E5,$53,$FD,$11,$5D,$76,$67
Data.b $7E,$EA,$2E,$9F,$2A,$E5,$56,$46,$C1,$B1,$B4,$C9,$FE,$03,$57,$58
Data.b $30,$31,$4C,$FD,$20,$E8,$00,$00,$00,$00,$49,$45,$4E,$44,$AE,$42
Data.b $60,$82
EndDataSection

Posted: Sun Mar 02, 2008 5:35 am
by Heathen
Wow, thanks Sparkie. Thats some really useful code! :)

Posted: Sun Mar 02, 2008 6:05 am
by Pantcho!!
It may sound stupid but, before updating the list i hide the gadget and when it finish loading all items i unhide it to show it.

i had this problem and when i hide the gadget it works very fast.

I also added an image gadget under it that when i hide the list gadget it shows the image "Please wait.."

Posted: Sun Mar 02, 2008 6:49 am
by Rook Zimbabwe
That is a great idea Sparkie.
Pantcho.... that is a good one too. Lots of things to remember now... 8)

Posted: Fri Aug 29, 2008 8:46 am
by Mistrel
Why is it that after the first item is selected none of the images highlight anymore?

If you comment out these lines it's no longer possible to identify which element is selected:

Code: Select all

myItems(i) = "Otis Number " + Str(i)
SetGadgetItemText(1, i, myItems(i))

Posted: Fri Aug 29, 2008 12:05 pm
by Sparkie
That'll be a bug in my code. I'll have a look later this afternoon.

Posted: Fri Aug 29, 2008 5:49 pm
by Mistrel
I found a solution. Add #PB_ListIcon_FullRowSelect to ListIconGadget() and it works fine. :)

Posted: Sat Aug 30, 2008 12:59 am
by Sparkie
Something strange going on for me here. The image I use here is a 16x16 .ico file.

Image #1 is the result of me clicking on Item Number 1.
the image does not appear selected (this is not correct behavior)
Image

Image #2 is the result of me then clicking on Item Number 2.
the image does appear selected (this is correct behavior)
Image

Image #3 is the result of me clicking on a different window then back onto the Test window.
the image does appear selected but the text does not (neither should appear as selected)
Image

This only happens when using images.

Can anyone else confirm?

Code: Select all

CatchImage(0, ?myImage) 

If OpenWindow(0, 0, 0, 200, 160, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And  CreateGadgetList(WindowID(0)) 
  ListIconGadget(1, 5, 5, 190, 150, "Item", 150) 
  For i = 0 To 5
    AddGadgetItem(1, i, "Item Number " + Str(i) , ImageID(0))
  Next 
   
  Repeat 
    event = WaitWindowEvent() 
  Until event = #PB_Event_CloseWindow 
EndIf 

DataSection
myImage:
Data.b $00,$00,$01,$00,$01,$00,$10,$10,$00,$00,$01,$00,$08,$00,$68,$05
Data.b $00,$00,$16,$00,$00,$00,$28,$00,$00,$00,$10,$00,$00,$00,$20,$00
Data.b $00,$00,$01,$00,$08,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$80,$80,$80,$00,$00,$CA,$FF,$00,$30,$FF,$5A,$00,$00,$CC
Data.b $FF,$00,$00,$D1,$FF,$00,$C1,$FF,$FF,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF,$FF,$FF,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01
Data.b $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$06,$06
Data.b $06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$06,$02,$02
Data.b $02,$02,$01,$02,$02,$01,$01,$02,$02,$01,$02,$02,$02,$02,$01,$01
Data.b $01,$01,$01,$01,$02,$01,$01,$02,$01,$01,$01,$01,$01,$01,$01,$FF
Data.b $FF,$FF,$01,$02,$01,$01,$01,$01,$02,$01,$FF,$FF,$FF,$01,$01,$FF
Data.b $FF,$FF,$01,$02,$02,$02,$02,$02,$02,$01,$FF,$FF,$FF,$01,$00,$01
Data.b $01,$01,$01,$02,$02,$02,$02,$02,$02,$01,$01,$01,$01,$00,$00,$01
Data.b $02,$04,$05,$02,$02,$01,$01,$02,$02,$02,$02,$02,$01,$00,$00,$00
Data.b $02,$02,$01,$01,$01,$01,$01,$01,$01,$01,$02,$02,$00,$00,$00,$00
Data.b $01,$02,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$02,$01,$00,$00,$00,$00
Data.b $01,$02,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$02,$01,$00,$00,$00,$00
Data.b $01,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$01,$00,$00,$00,$00
Data.b $00,$01,$02,$03,$03,$03,$03,$03,$03,$02,$01,$00,$00,$00,$00,$00
Data.b $00,$00,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$C7,$E3
Data.b $00,$00,$C7,$E3,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$01
Data.b $00,$00,$80,$01,$00,$00,$C0,$03,$00,$00,$C0,$03,$00,$00,$C0,$03
Data.b $00,$00,$C0,$03,$00,$00,$E0,$07,$00,$00,$F0,$0F,$00,$00
EndDataSection
*** Edit *** You can ignore this post as this appears to be normal Windows behavior.

Posted: Sat Aug 30, 2008 1:11 am
by Mistrel
I can confirm this on XP Pro SP2.

Sparkie, is it possible using your code to display the image in a column other than the first? Can images be displayed in more than one column?

I think it goes something like this but I haven't gotten it to work yet:

Code: Select all

; fill up var to set subitem image and text
var.lvitem
Var\mask     = #LVIF_IMAGE | #LVIF_TEXT
Var\iItem    = 1  ; row number for change
Var\iSubItem = 1  ; item
Var\pszText  = @"Item"  ; text to change to
Var\iImage   = 1; index of image in the list
SendMessage_(GadgetID(1), #LVM_SETITEM, 0, @Var)

Posted: Sat Aug 30, 2008 9:21 am
by Mistrel
I've gotten most of the kinks worked out except for two. When I set the list view style to allow sub-images the first column automatically sets itself to the index 0 of the image list. I set the first index to transparent but the column is still unnecessarily offset by the width.

The second issue is that I don't know how to remove an image once I've added it to a particular element in the list view.

Here is the code for what I have working so far:

Code: Select all

#MainWindow=0
#ListIconGadget1=1
#Font=5

#LVM_SETEXTENDEDLISTVIEWSTYLE=4150
#LVS_EX_SUBITEMIMAGES=2

UsePNGImageDecoder()
UseJPEGImageDecoder()

Procedure ExtendListIconGadget(hListIcon, IconWidth, IconHeight, hDefaultImage, hDefaultImageMask)
	hImageList=ImageList_Create_(IconWidth,IconHeight,#ILC_MASK|#ILC_COLOR32,0,100)
	; Assign the image list to the listicongadget
	SendMessage_(hListIcon,#LVM_SETIMAGELIST,#LVSIL_SMALL,hImageList)
	
	; Set background color to CLR_NONE so images are drawn transparently using the mask
	ImageList_SetBkColor_(hImageList,#CLR_NONE)
	
	; Set extended style to the listicongadget to allow images for subitems
	SendMessage_(hListIcon,#LVM_SETEXTENDEDLISTVIEWSTYLE,#LVS_EX_SUBITEMIMAGES,#LVS_EX_SUBITEMIMAGES)
	
	; If no default image is specified then set the default image to transparent
	If Not hDefaultImage
		ImageID=CreateImage(#PB_Any,32,32)
		ImageList_AddMasked_(hImageList,ImageID(ImageID),#Black)
		FreeImage(ImageID)
	Else
		ImageList_Add_(hImageList,hDefaultImage,hImageMask)
	EndIf
		
	ProcedureReturn hImageList
EndProcedure

Procedure AddImageListElement(hImageList, hImage, hImageMask)
	ImageIndex=ImageList_Add_(hImageList,hImage,hImageMask)
	ProcedureReturn ImageIndex
EndProcedure

; Procedure ResizeImageList(hImageList, Width, Height)
; 
; EndProcedure

Procedure SetListIconElement(hListIcon, ImageListIndex, Row, Column, Text.s, ReplaceText)
	Var.LV_ITEM
	Var\mask=#LVIF_IMAGE|#LVIF_TEXT
	Var\iItem=Row ; row number for change
	Var\iSubItem=Column ; column
	Var\iImage=ImageListIndex; index of icon in the list
	If ReplaceText=1
		Var\pszText=@Text.s ; text
	Else
		GadgetPBID=GetProp_(hListIcon,"PB_ID")
		If IsGadget(GadgetPBID)
			Text.s=GetGadgetItemText(GadgetPBID,Row,Column)
			Var\pszText=@Text.s
		EndIf
	EndIf
	SendMessage_(hListIcon,#LVM_SETITEM,0,@Var)
EndProcedure

If OpenWindow(#MainWindow,0,0,320,240,"Icon List",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
	 If CreateGadgetList(WindowID(#MainWindow)) And ListIconGadget(#ListIconGadget1,0,0,320,240,"Column 1",298/3 ,#PB_ListIcon_FullRowSelect)
			AddGadgetColumn(#ListIconGadget1,1,"Column 2",298/3)
			AddGadgetColumn(#ListIconGadget1,2,"Column 3",298/3)
	 EndIf
	 FontID=LoadFont(#Font,"ARIAL",9)
	 SetGadgetFont(#ListIconGadget1,FontID)

	hImageList=ExtendListIconGadget(GadgetID(#ListIconGadget1),32,32,0,0)

	For i=0 To 4
		AddGadgetItem(#ListIconGadget1,i,"Item "+Str(i))
	Next i

	ImageID=CatchImage(#PB_Any,?myImage)
	ImageIndex=AddImageListElement(hImageList,ImageID(ImageID),0)
	If ImageIndex=-1
		Debug "Failed to load image"
	EndIf
	FreeImage(ImageID)

	For i=0 To 4
		SetGadgetItemText(#ListIconGadget1,i,"Item "+Str(i),1)
		SetGadgetItemText(#ListIconGadget1,i,"Item "+Str(i),2)
	Next i
	
	For i=2 To 3
		SetListIconElement(GadgetID(#ListIconGadget1),ImageIndex,i,1,"Alt "+Str(i),1)
	Next
	
	Repeat
		Select WaitWindowEvent()
			Case #PB_Event_CloseWindow
			Quit=1
		EndSelect
	Until Quit
	If HwndIm_List
		 ImageList_Destroy_(HwndIm_List)
	EndIf
EndIf

End

DataSection
myImage:
Data.b $89,$50,$4E,$47,$0D,$0A,$1A,$0A,$00,$00,$00,$0D,$49,$48,$44,$52
Data.b $00,$00,$00,$20,$00,$00,$00,$20,$08,$02,$00,$00,$00,$FC,$18,$ED
Data.b $A3,$00,$00,$00,$09,$70,$48,$59,$73,$00,$00,$0E,$C3,$00,$00,$0E
Data.b $C3,$01,$C7,$6F,$A8,$64,$00,$00,$0B,$64,$49,$44,$41,$54,$78,$9C
Data.b $4D,$94,$69,$50,$5B,$D7,$19,$86,$F5,$D3,$69,$83,$59,$6D,$90,$10
Data.b $20,$B4,$EF,$42,$BA,$92,$D0,$72,$A5,$AB,$7D,$BD,$DA,$D0,$2E,$24
Data.b $B4,$83,$10,$02,$49,$06,$CC,$16,$08,$98,$C5,$32,$C6,$2C,$5E,$B1
Data.b $1D,$EC,$30,$26,$5E,$82,$ED,$86,$C4,$89,$71,$5C,$2F,$6D,$DD,$A6
Data.b $93,$AD,$99,$24,$4D,$D2,$71,$F7,$36,$6D,$33,$89,$DB,$A6,$CB,$74
Data.b $5A,$C7,$69,$0F,$9D,$FE,$E8,$99,$67,$BE,$B9,$F7,$CF,$FB,$9E,$F7
Data.b $FB,$CE,$39,$98,$5C,$3E,$DF,$9B,$CF,$17,$FB,$FB,$87,$46,$47,$27
Data.b $26,$A7,$66,$E6,$4A,$B3,$A5,$D2,$5C,$69,$7E,$7A,$6E,$0E,$7C,$E7
Data.b $0B,$45,$2B,$9F,$33,$58,$48,$7A,$9D,$1A,$EC,$9E,$B2,$26,$5C,$25
Data.b $A1,$7E,$87,$66,$7C,$25,$11,$5F,$49,$C0,$57,$36,$60,$CB,$1B,$B1
Data.b $E5,$B8,$BD,$65,$B8,$3D,$DF,$AC,$A9,$FC,$46,$33,$AE,$82,$55,$5F
Data.b $26,$E0,$90,$3D,$76,$4D,$AE,$33,$10,$0E,$7A,$31,$C9,$74,$A7,$5A
Data.b $AB,$31,$18,$8C,$66,$8B,$D5,$62,$DD,$01,$45,$6D,$26,$B3,$D9,$60
Data.b $30,$84,$42,$91,$44,$3C,$AE,$25,$13,$86,$0A,$09,$AF,$1D,$69,$C2
Data.b $EE,$26,$D4,$57,$90,$1A,$2A,$77,$C0,$83,$5A,$45,$C6,$EF,$40,$AA
Data.b $AF,$6A,$AC,$AB,$68,$AC,$2D,$C3,$EF,$01,$EC,$E6,$E0,$CA,$84,$5C
Data.b $8A,$D7,$A9,$4D,$47,$1C,$76,$AB,$11,$E3,$F5,$FB,$15,$88,$52,$AD
Data.b $D1,$02,$51,$B3,$D5,$6A,$B2,$58,$4C,$66,$8B,$D1,$68,$D2,$E9,$F5
Data.b $C1,$60,$D8,$E7,$72,$A8,$1B,$F1,$83,$7D,$71,$54,$2F,$6E,$C6,$95
Data.b $03,$5D,$4A,$63,$15,$B5,$B1,$9A,$DA,$54,$2D,$61,$37,$CC,$A6,$75
Data.b $CB,$59,$CB,$54,$97,$37,$1D,$70,$D3,$09,$B5,$04,$EC,$6E,$FC,$DE
Data.b $32,$4A,$6D,$99,$0C,$62,$06,$3D,$86,$44,$3B,$AA,$43,$5A,$31,$A1
Data.b $F6,$F6,$40,$30,$D0,$1E,$89,$C4,$13,$C9,$54,$1A,$AC,$CE,$54,$2A
Data.b $1D,$8F,$27,$C1,$6F,$B6,$A7,$D7,$86,$C0,$DA,$46,$5C,$7F,$6F,$87
Data.b $51,$05,$51,$F1,$35,$64,$7C,$0D,$A9,$BE,$9A,$8A,$AF,$06,$D5,$24
Data.b $61,$DC,$3C,$D2,$7B,$79,$D0,$34,$ED,$E3,$94,$12,$AA,$7D,$41,$13
Data.b $83,$80,$6D,$C6,$56,$34,$D5,$55,$48,$21,$66,$BB,$DB,$10,$74,$EB
Data.b $D4,$72,$08,$A3,$54,$21,$52,$B9,$5C,$AE,$50,$68,$75,$7A,$8B,$15
Data.b $05,$21,$8C,$26,$93,$13,$B5,$76,$84,$82,$B9,$A8,$77,$79,$5F,$78
Data.b $7D,$C8,$8B,$B4,$90,$94,$EC,$06,$BF,$B8,$BE,$A8,$C6,$1D,$34,$D7
Data.b $1E,$46,$71,$4B,$11,$D1,$B1,$BC,$77,$C4,$CE,$E8,$D6,$71,$4A,$B9
Data.b $BC,$DF,$6C,$71,$29,$5B,$FA,$23,$28,$CC,$A3,$31,$09,$75,$AC,$66
Data.b $AC,$AA,$95,$AD,$96,$B7,$A8,$64,$7C,$0C,$A2,$56,$C1,$4A,$05,$AC
Data.b $DC,$E9,$92,$D9,$62,$01,$33,$E8,$8E,$06,$87,$7B,$92,$1D,$0E,$5D
Data.b $DE,$D6,$B2,$9A,$81,$37,$C6,$63,$03,$ED,$A6,$FB,$C7,$72,$97,$FA
Data.b $64,$AB,$19,$CD,$4A,$04,$9A,$75,$50,$B6,$0E,$84,$1E,$FD,$60,$7D
Data.b $ED,$40,$FE,$EA,$C9,$C5,$DF,$FD,$E8,$FD,$CD,$E3,$67,$46,$BB,$7B
Data.b $85,$4C,$4A,$D2,$65,$80,$A8,$8D,$CC,$A6,$5A,$60,$C3,$23,$E3,$25
Data.b $7C,$06,$A6,$3B,$9B,$C9,$66,$BB,$7B,$7B,$7B,$73,$BD,$BD,$5D,$5D
Data.b $99,$BE,$74,$FC,$99,$9E,$68,$2E,$84,$C6,$35,$8C,$31,$94,$DC,$AB
Data.b $6E,$18,$76,$70,$EE,$AD,$8D,$BF,$79,$71,$F6,$FA,$6C,$66,$73,$61
Data.b $74,$6B,$6D,$E9,$CA,$4C,$F6,$B9,$E1,$F0,$C6,$64,$E2,$8D,$F5,$D1
Data.b $5B,$6B,$2B,$1F,$DF,$BB,$FD,$F6,$F5,$AD,$4E,$A7,$AE,$D8,$E1,$50
Data.b $0B,$B9,$3E,$BD,$8C,$49,$A8,$A5,$36,$EC,$61,$11,$EA,$04,$B4,$26
Data.b $0C,$2C,$20,$6B,$24,$2C,$23,$22,$B0,$E9,$64,$A9,$76,$CF,$E1,$E1
Data.b $DC,$81,$42,$BA,$D8,$26,$05,$F1,$07,$9D,$A6,$EB,$AB,$AB,$EB,$47
Data.b $A6,$1F,$DE,$39,$F7,$CA,$89,$89,$9F,$DC,$3A,$F7,$60,$F3,$CC,$C6
Data.b $F1,$85,$4F,$5E,$BF,$F0,$60,$7D,$FA,$DB,$27,$8A,$17,$86,$D0,$ED
Data.b $E5,$D4,$5B,$AF,$AC,$3D,$B8,$B6,$B9,$3E,$77,$70,$2E,$13,$F1,$EB
Data.b $A5,$11,$2B,$22,$A2,$13,$38,$44,$2C,$A3,$A9,$96,$DE,$54,$8B,$91
Data.b $F2,$08,$30,$9F,$A8,$84,$C8,$21,$AB,$72,$E5,$D9,$E2,$C2,$58,$7E
Data.b $BC,$37,$D9,$65,$E6,$74,$5A,$F4,$5F,$7C,$F0,$D1,$1F,$7F,$FA,$E3
Data.b $EF,$9C,$9F,$B8,$B9,$9C,$FF,$F0,$D5,$B3,$5F,$7E,$74,$EF,$A3,$1B
Data.b $A7,$D7,$66,$06,$1E,$DE,$D9,$F8,$D5,$F7,$AF,$7E,$F8,$CA,$E9,$E7
Data.b $07,$6D,$37,$E7,$5C,$9B,$73,$51,$AB,$8C,$1B,$6F,$B3,$16,$42,$D6
Data.b $4C,$00,$0D,$9B,$61,$B7,$1E,$E1,$53,$F0,$5C,$12,$8E,$45,$C4,$01
Data.b $83,$66,$79,$0B,$51,$C1,$27,$95,$06,$3A,$4F,$CF,$0D,$1F,$1C,$CE
Data.b $8F,$A5,$5C,$02,$1A,$E1,$AD,$57,$B7,$EF,$5F,$79,$E1,$CD,$AD,$E3
Data.b $6F,$9C,$CD,$6E,$4E,$85,$3F,$7E,$7D,$E3,$D3,$EF,$5D,$FA,$C9,$2B
Data.b $4B,$57,$0E,$C4,$7E,$76,$F3,$C4,$2F,$EF,$6D,$AC,$1C,$18,$99,$2C
Data.b $74,$AD,$F5,$3B,$1E,$AC,$04,$A7,$22,$8A,$84,$81,$AD,$17,$D1,$29
Data.b $CD,$F8,$A0,$45,$8D,$AA,$61,$60,$C0,$A7,$36,$B4,$90,$F1,$18,$59
Data.b $4B,$33,$0C,$0C,$04,$E4,$D9,$7D,$E9,$A3,$13,$85,$67,$73,$51,$88
Data.b $DE,$5C,$1A,$CC,$17,$C2,$9E,$A0,$46,$78,$EB,$68,$E7,$F6,$A1,$C8
Data.b $F2,$48,$76,$A4,$2F,$F3,$C9,$AD,$73,$EF,$5C,$9E,$BB,$30,$1E,$FA
Data.b $F9,$AD,$D5,$BF,$BE,$77,$3D,$68,$D5,$E4,$B2,$3D,$17,$4F,$94,$D6
Data.b $87,$5C,$F7,$E7,$5D,$5E,$98,$56,$55,$B6,$AB,$E2,$E9,$5D,$22,$36
Data.b $D5,$8A,$C8,$78,$24,$1C,$44,$6F,$84,$A8,$0D,$18,$39,$0F,$18,$34
Data.b $23,$10,$39,$E5,$31,$2D,$8F,$17,$DD,$5A,$09,$B9,$11,$1B,$B6,$48
Data.b $93,$3A,$EA,$91,$AC,$F9,$83,$F3,$5D,$77,$57,$47,$CE,$9F,$3A,$AA
Data.b $45,$90,$B7,$BF,$75,$EC,$BD,$EB,$2B,$37,$CF,$CC,$3C,$BC,$7B,$E9
Data.b $F3,$77,$6F,$84,$1C,$D6,$B0,$CF,$AF,$84,$F8,$09,$9F,$EB,$4C,$4E
Data.b $21,$21,$57,$55,$94,$ED,$AA,$7C,$7A,$17,$6E,$4F,$65,$A4,$CD,$DE
Data.b $58,$5B,$21,$A4,$37,$89,$68,$8D,$18,$98,$4F,$02,$FD,$51,$08,$88
Data.b $5A,$31,$7D,$30,$E5,$87,$F9,$0C,$6C,$4D,$D9,$DE,$CA,$6F,$06,$54
Data.b $AC,$1F,$1C,$8B,$5C,$1D,$B3,$1C,$79,$A6,$18,$F6,$78,$22,$81,$E0
Data.b $F3,$0B,$93,$BF,$F9,$E1,$8D,$B7,$6E,$6E,$3E,$FC,$E1,$ED,$37,$6E
Data.b $5C,$F1,$D9,$6C,$93,$53,$0B,$43,$93,$45,$8F,$DD,$9E,$D0,$51,$C5
Data.b $C4,$8A,$EA,$DD,$4F,$11,$EA,$2A,$B8,$24,$2C,$09,$57,$5D,$5B,$F9
Data.b $B4,$80,$DA,$D0,$CA,$6C,$C2,$80,$01,$28,$05,$24,$15,$44,$46,$20
Data.b $4A,$D8,$2C,$93,$F3,$99,$D5,$E5,$4F,$D5,$54,$3C,$45,$C1,$55,$DE
Data.b $9E,$43,$8B,$7E,$8D,$C7,$6C,$DC,$3F,$37,$51,$4C,$64,$FA,$52,$A9
Data.b $F7,$5E,$BF,$7A,$ED,$C4,$81,$73,$F3,$63,$17,$4E,$2E,$E6,$3B,$3B
Data.b $B3,$C1,$76,$BF,$4E,$AE,$95,$8A,$A3,$6A,$22,$44,$28,$6F,$AC,$2D
Data.b $97,$B2,$09,$30,$97,$08,$3C,$1A,$F6,$96,$8B,$E8,$8D,$12,$26,$01
Data.b $1C,$53,$B0,$7D,$92,$52,$48,$D2,$88,$69,$9D,$5E,$33,$97,$4A,$A8
Data.b $DA,$BD,$AB,$BE,$A6,$4C,$48,$AB,$3F,$9F,$87,$15,$3C,$52,$C2,$EB
Data.b $DB,$17,$0F,$65,$9C,$AE,$85,$A9,$03,$2F,$9D,$2E,$BD,$70,$78,$60
Data.b $2A,$17,$1D,$4D,$F9,$8A,$D9,$6C,$2A,$18,$1A,$CA,$17,$63,$4E,$FD
Data.b $4C,$58,$24,$22,$56,$50,$F0,$35,$E0,$CE,$23,$7C,$92,$94,$D5,$44
Data.b $C3,$D7,$88,$99,$4D,$32,$0E,$11,$83,$08,$C9,$4A,$88,$A4,$15,$53
Data.b $51,$65,$4B,$3A,$E0,$6C,$A1,$60,$F7,$54,$3C,$C5,$6E,$AE,$35,$C9
Data.b $E8,$D3,$61,$41,$CE,$C6,$0B,$DA,$4D,$E1,$36,$77,$4F,$3C,$31,$3D
Data.b $B2,$BF,$D4,$1B,$7C,$7E,$B6,$30,$1C,$77,$24,$50,$04,$55,$29,$0E
Data.b $1F,$2C,$9D,$5C,$5E,$D9,$1F,$75,$AC,$15,$75,$10,$B1,$8A,$D1,$B4
Data.b $57,$03,$51,$D4,$02,$B2,$92,$47,$02,$CD,$91,$72,$88,$30,$97,$84
Data.b $01,$EA,$08,$44,$D2,$49,$A8,$26,$39,$C3,$20,$65,$C0,$3C,$42,$63
Data.b $ED,$6E,$25,$9F,$68,$81,$99,$CF,$46,$24,$97,$47,$CD,$87,$F7,$85
Data.b $4F,$2D,$2F,$1F,$5B,$5C,$9E,$2C,$E4,$C6,$92,$BE,$E3,$53,$03,$4B
Data.b $23,$99,$E1,$6C,$AA,$3B,$E4,$CB,$C4,$E2,$53,$C3,$83,$13,$49,$F3
Data.b $A5,$31,$0B,$BB,$A1,$02,$5C,$60,$60,$A0,$15,$52,$D4,$10,$05,$69
Data.b $21,$2B,$78,$44,$50,$31,$9A,$56,$AA,$5E,$42,$33,$C8,$69,$66,$98
Data.b $01,$90,$B0,$1A,$28,$F8,$2A,$14,$66,$39,$54,$9C,$01,$BF,$E4,$C1
Data.b $D1,$D0,$D1,$82,$E3,$C4,$DC,$F8,$C1,$C9,$A9,$13,$87,$0E,$AE,$2D
Data.b $CC,$BE,$BE,$F5,$D2,$E5,$E7,$CE,$9C,$58,$5A,$9C,$1D,$1E,$4A,$45
Data.b $22,$49,$BF,$73,$3C,$AA,$3E,$96,$81,$19,$B8,$72,$F0,$F8,$E8,$44
Data.b $34,$43,$2B,$5D,$2B,$A2,$EA,$44,$74,$B5,$80,$A2,$E2,$53,$30,$06
Data.b $19,$DD,$28,$A3,$03,$69,$0B,$CC,$B0,$21,$2C,$01,$15,$DB,$CA,$C4
Data.b $3B,$D5,$5C,$97,$96,$D7,$ED,$12,$DF,$59,$F0,$6F,$4E,$38,$4B,$FB
Data.b $A2,$43,$B9,$CC,$FC,$CC,$CC,$C6,$D9,$33,$BF,$FF,$F4,$0F,$8F,$3E
Data.b $7F,$74,$7B,$FB,$DB,$F9,$6C,$CE,$DF,$E6,$72,$68,$E4,$31,$2D,$6B
Data.b $C4,$DB,$E2,$91,$93,$B9,$A4,$3A,$93,$84,$6E,$94,$30,$40,$35,$88
Data.b $E9,$3A,$21,$4D,$0D,$51,$81,$01,$CD,$28,$67,$58,$95,$2C,$80,$0D
Data.b $61,$5B,$15,$0C,$87,$8A,$ED,$D6,$72,$DB,$B4,$DC,$84,$4D,$F8,$5A
Data.b $C9,$7F,$6D,$C2,$BA,$D8,$E7,$E8,$EE,$08,$8D,$EE,$1F,$3E,$7E,$F4
Data.b $E4,$97,$5F,$FE,$FD,$AB,$AF,$9E,$3C,$7C,$F8,$AB,$43,$07,$0F,$07
Data.b $FD,$01,$A5,$44,$EC,$51,$B2,$9F,$09,$CB,$0E,$A5,$B5,$3C,$12,$D6
Data.b $2A,$63,$5A,$E5,$00,$96,$59,$CA,$D2,$83,$28,$10,$05,$63,$94,$D3
Data.b $2D,$4A,$E6,$7F,$D5,$59,$76,$84,$E5,$50,$73,$DA,$FE,$AB,$EE,$D1
Data.b $71,$43,$26,$E1,$CB,$07,$FD,$CF,$15,$75,$F3,$69,$8D,$17,$35,$82
Data.b $67,$F7,$E2,$0B,$9B,$73,$B3,$0B,$85,$9E,$7E,$97,$DD,$63,$D4,$19
Data.b $93,$B1,$24,$87,$49,$67,$36,$D7,$97,$BA,$AD,$4B,$19,$3D,$44,$C3
Data.b $A3,$30,$DB,$22,$67,$A2,$72,$96,$45,$CA,$32,$4A,$E9,$7A,$11,$0D
Data.b $63,$56,$30,$50,$84,$85,$EE,$48,$B3,$DB,$B4,$1C,$B0,$77,$AF,$81
Data.b $B7,$83,$8E,$D7,$6E,$11,$7D,$EF,$FC,$10,$30,$18,$F1,$89,$D5,$12
Data.b $68,$FF,$C0,$60,$D0,$17,$72,$3B,$DC,$99,$74,$B6,$3F,$3F,$88,$1A
Data.b $2D,$3E,$B7,$8F,$4D,$A7,$D7,$ED,$A9,$FA,$D6,$CA,$BE,$3E,$1B,$9F
Data.b $43,$AC,$73,$28,$39,$36,$98,$65,$83,$D9,$20,$84,$45,$CE,$32,$49
Data.b $19,$18,$BB,$9A,$0D,$D4,$6D,$2A,$96,$53,$C3,$76,$69,$B9,$6E,$3D
Data.b $CF,$6F,$E4,$FB,$8C,$2D,$01,$B3,$20,$6A,$97,$7E,$77,$63,$F6,$F6
Data.b $B1,$4E,$14,$22,$8A,$79,$8C,$64,$47,$2C,$E8,$F1,$77,$26,$BA,$56
Data.b $4F,$9E,$9B,$99,$2A,$59,$35,$7A,$BD,$52,$25,$E0,$70,$B0,$B5,$D5
Data.b $57,$E6,$73,$3E,$29,$91,$D1,$B4,$C7,$89,$70,$1D,$C8,$8E,$07,$08
Data.b $81,$2A,$38,$16,$19,$13,$E3,$D6,$F3,$DB,$74,$3C,$B7,$9E,$EB,$D6
Data.b $71,$DD,$06,$9E,$CF,$C8,$0F,$9A,$05,$21,$8B,$30,$64,$15,$76,$D8
Data.b $C4,$57,$97,$FA,$BF,$7F,$65,$C1,$28,$A6,$71,$68,$24,$AD,$4A,$D3
Data.b $E1,$0D,$A4,$3C,$DE,$B0,$DB,$EF,$B1,$B7,$65,$BC,$BE,$74,$47,$A2
Data.b $85,$CD,$69,$C2,$D7,$1D,$EB,$F7,$68,$59,$B5,$6C,$52,$5D,$9B,$A6
Data.b $C5,$AB,$13,$80,$EA,$54,$71,$6D,$C0,$49,$C1,$C6,$F8,$CD,$42,$9F
Data.b $51,$E0,$33,$81,$5D,$03,$5D,$28,$64,$86,$22,$A8,$30,$82,$8A,$23
Data.b $36,$71,$D4,$21,$BD,$7F,$6E,$F2,$E5,$B3,$33,$4E,$25,$57,$02,$41
Data.b $7E,$AF,$6F,$7A,$7C,$6A,$7F,$5F,$BF,$C3,$64,$D5,$23,$9A,$C9,$B1
Data.b $D9,$ED,$ED,$7B,$A9,$64,$8A,$48,$20,$5C,$3A,$10,$87,$29,$35,$E0
Data.b $9D,$F0,$68,$77,$0C,$00,$6E,$2D,$DF,$A5,$6E,$71,$20,$5C,$4C,$10
Data.b $15,$05,$AD,$00,$61,$C4,$2E,$89,$3A,$64,$1D,$F6,$D6,$84,$53,$1A
Data.b $73,$49,$63,$0E,$49,$C2,$25,$7B,$FF,$A5,$E5,$0B,$8B,$23,$76,$9D
Data.b $4C,$A5,$50,$4E,$4E,$4C,$AD,$1E,$5F,$9D,$1A,$9F,$8E,$05,$C3,$C1
Data.b $36,$DF,$C2,$74,$E9,$B5,$AD,$9B,$E3,$63,$E3,$0D,$38,$DC,$44,$44
Data.b $41,$C7,$96,$23,$02,$92,$DF,$C0,$0F,$18,$21,$9F,$5E,$00,$70,$6B
Data.b $F8,$20,$0A,$26,$84,$8A,$DB,$51,$71,$D8,$D6,$0A,$A4,$A3,$4E,$49
Data.b $CC,$25,$4B,$BA,$E1,$B4,$5B,$91,$6A,$93,$A7,$3D,$8A,$4F,$6E,$9D
Data.b $3A,$33,$9D,$33,$22,$AD,$6C,$26,$73,$64,$F8,$99,$E1,$E2,$C0,$99
Data.b $85,$A5,$E3,$B3,$A5,$91,$5C,$61,$F3,$B9,$F3,$4B,$B3,$F3,$85,$9E
Data.b $3E,$7C,$DD,$DE,$A9,$F6,$56,$3A,$BE,$5A,$2F,$A6,$05,$4C,$50,$C0
Data.b $24,$F4,$9B,$84,$20,$84,$6F,$07,$68,$27,$C1,$4E,$37,$9C,$92,$0E
Data.b $87,$24,$EE,$92,$01,$D1,$6E,$BF,$2A,$E3,$57,$75,$7A,$E0,$8C,$0F
Data.b $79,$EB,$F2,$DC,$FA,$A1,$82,$45,$2D,$61,$52,$29,$B9,$4C,$0F,$78
Data.b $91,$16,$27,$A7,$EF,$6D,$DF,$FD,$F0,$BD,$1F,$BF,$7A,$75,$EB,$D9
Data.b $E1,$09,$97,$CD,$41,$C6,$55,$1F,$89,$40,$3A,$3E,$01,$8C,$37,$64
Data.b $06,$ED,$95,$84,$CC,$A2,$A0,$51,$E8,$37,$80,$28,$10,$A6,$C3,$25
Data.b $8B,$ED,$20,$4D,$B6,$C1,$29,$0F,$DC,$E5,$53,$66,$02,$2A,$E0,$D1
Data.b $ED,$53,$02,$EE,$AF,$8D,$BC,$76,$7A,$CC,$87,$6A,$04,$5C,$26,$2C
Data.b $95,$ED,$2F,$0C,$AC,$AF,$9E,$BD,$F3,$E2,$D6,$DD,$6B,$37,$1F,$BC
Data.b $7A,$EB,$83,$B7,$DF,$69,$F7,$78,$0E,$65,$D0,$CD,$21,$43,$BB,$8A
Data.b $D1,$A6,$E5,$C5,$EC,$92,$B8,$53,$16,$B1,$B6,$FA,$0D,$C2,$A0,$49
Data.b $14,$30,$8A,$30,$31,$37,$9C,$70,$C3,$49,$8F,$22,$ED,$43,$32,$01
Data.b $24,$1B,$54,$F5,$84,$34,$B9,$90,$7A,$A7,$B6,$EB,$B6,$96,$FA,$7E
Data.b $71,$FB,$78,$6F,$CC,$D3,$9B,$49,$25,$A2,$1D,$8B,$F3,$F3,$5F,$7C
Data.b $FE,$C5,$E3,$C7,$8F,$BF,$7E,$F2,$F5,$EF,$3F,$FD,$6C,$65,$76,$FE
Data.b $50,$21,$72,$7F,$29,$BD,$3D,$EB,$E1,$34,$56,$BB,$34,$FF,$33,$00
Data.b $B3,$0C,$59,$C5,$41,$93,$10,$E4,$C0,$A4,$3C,$0A,$A0,$DE,$05,$B6
Data.b $1C,$D2,$F4,$45,$F4,$7D,$11,$43,$6F,$44,$9F,$8F,$E8,$0B,$11,$FD
Data.b $60,$DC,$F4,$C1,$CB,$8B,$BF,$BE,$73,$F2,$C6,$F9,$F9,$3F,$3D,$7A
Data.b $F4,$E7,$3F,$7D,$F1,$E4,$C9,$93,$AF,$1E,$3F,$FE,$EC,$B7,$BF,$BE
Data.b $B6,$71,$71,$61,$62,$F4,$EE,$8B,$A7,$BE,$7C,$F7,$DA,$F6,$B4,$7B
Data.b $75,$22,$17,$B7,$23,$36,$05,$2B,$05,$DA,$E0,$56,$24,$DB,$14,$E0
Data.b $0E,$45,$AC,$12,$00,$26,$0D,$3A,$1E,$D4,$74,$87,$B4,$3D,$61,$5D
Data.b $3E,$66,$CA,$47,$8D,$FB,$12,$96,$42,$CC,$38,$90,$B4,$1E,$D9,$1F
Data.b $FC,$EC,$C1,$E9,$BF,$BD,$7F,$E5,$C6,$B9,$F9,$7F,$FE,$E3,$1F,$FF
Data.b $FE,$BF,$F5,$F5,$57,$FF,$FA,$CB,$4F,$DF,$F9,$EB,$C7,$77,$FF,$FC
Data.b $E6,$C5,$F5,$21,$67,$2A,$96,$7A,$F7,$E5,$53,$FD,$11,$5D,$76,$67
Data.b $7E,$EA,$2E,$9F,$2A,$E5,$56,$46,$C1,$B1,$B4,$C9,$FE,$03,$57,$58
Data.b $30,$31,$4C,$FD,$20,$E8,$00,$00,$00,$00,$49,$45,$4E,$44,$AE,$42
Data.b $60,$82
EndDataSection

Posted: Sat Aug 30, 2008 1:24 pm
by Sparkie
srod is the man when it comes to ListIconGadgets Mistrel. Maybe he'll swing by and give you some help. If not, I'll have some free time tomorrow to take a look. :)

Posted: Sat Aug 30, 2008 1:28 pm
by blueznl
I can only help adding some WinApi message stuff, sorry, no good solution but perhaps it may help...

Code: Select all

Procedure.l x_getlisticontopline(gadget_nr.l)                        ; what entry is currently shown on first line of a listicongadget
  Global x_retval.l
  ;
  ; *** get the item number of the first visible line at the top of a listicon gadget
  ;
  x_retval = SendMessage_(GadgetID(gadget_nr),#LVM_GETTOPINDEX,0,0)
  ProcedureReturn x_retval
EndProcedure

Procedure.l x_getlisticonnextselected(gadget_nr.l, startpos.l)       ; find the next selected entry in a listicongadget
  Global x_retval.l
  ;
  ; *** find the next selected entry in a listicongadget
  ;
  ; in:     gadget_nr.l       - pb listicongadget number
  ;         startpos.l = -1   - start at the top
  ;                    = n    - start searching from the specified entry
  ; retval: n                 - number of entry found
  ;         -1                - no more found
  ;
  If startpos = -1
    x_retval = SendMessage_(GadgetID(gadget_nr),#LVM_GETNEXTITEM,-1,#LVNI_SELECTED)
  Else
    x_retval = SendMessage_(GadgetID(gadget_nr),#LVM_GETNEXTITEM,startpos,#LVNI_SELECTED|#LVNI_BELOW)
  EndIf
  ProcedureReturn x_retval
EndProcedure

Procedure x_setlisticonvisibleline(gadget_nr.l,position.l)           ; make sure line n is visible
  SendMessage_(GadgetID(gadget_nr),#LVM_ENSUREVISIBLE,position,0)
EndProcedure

Procedure x_setlisticontopline(gadget_nr.l,position.l)               ; show line n as topline in listicon gadget
  ;
  ; *** selected line will become first line in gadget
  ;
  SendMessage_(GadgetID(gadget_nr),#LVM_ENSUREVISIBLE,position,0)
  position = 2*position-SendMessage_(GadgetID(gadget_nr),#LVM_GETTOPINDEX,0,0)
  SendMessage_(GadgetID(gadget_nr),#LVM_ENSUREVISIBLE,position,0)
EndProcedure

Posted: Sun Aug 31, 2008 7:33 am
by Mistrel
From what I understand from my research it's not possible to remove the icons from the left-most column, change its text justification, and possibly other things as well.

So I think my best option would be to hide the first column so all of the visible columns will react identically.

I am using DoubleDutch's excellent code for this:
http://www.purebasic.fr/english/viewtopic.php?t=17266

However, to make this solution "perfect" how can I prevent the mouse cursor from changing to the "you can resize this column" icon for column 0?

Here is the source for what I have so far:

Code: Select all

#MainWindow=0
#ListIconGadget1=1
#Font=5

#LVM_SETEXTENDEDLISTVIEWSTYLE=4150
#LVS_EX_SUBITEMIMAGES=2

UsePNGImageDecoder()
UseJPEGImageDecoder()

Procedure ExtendListCallback(hWnd, uMsg, wParam, lParam) 
	Result=#PB_ProcessPureBasicEvents
	If uMsg=#WM_NOTIFY
		*nmhdr.NMHEADER=lParam
		If *nmhdr\hdr\code=#HDN_ITEMCHANGING And *nmhdr\iItem=0
			*nmdata.HD_ITEM=*nmhdr\pitem
			*nmdata\cxy=0
		EndIf
	EndIf
	ProcedureReturn Result
EndProcedure
  
Procedure ExtendListIconGadget(hListIcon, IconWidth, IconHeight, ParentWindowID)
	hImageList=ImageList_Create_(IconWidth,IconHeight,#ILC_MASK|#ILC_COLOR32,0,100)
	; Assign the image list to the listicongadget
	SendMessage_(hListIcon,#LVM_SETIMAGELIST,#LVSIL_SMALL,hImageList)
	
	; Set background color to CLR_NONE so images are drawn transparently using the mask
	ImageList_SetBkColor_(hImageList,#CLR_NONE)
	
	; Set extended style to the listicongadget to allow images for subitems
	SendMessage_(hListIcon,#LVM_SETEXTENDEDLISTVIEWSTYLE,#LVS_EX_SUBITEMIMAGES,#LVS_EX_SUBITEMIMAGES)
	
	; Set the width of column 0 to 0 pixels
	lvcolumn.LVCOLUMN\mask=#LVCF_WIDTH
	lvcolumn.LVCOLUMN\cx=0 ; width
	SendMessage_(GadgetID(#ListIconGadget1),#LVM_SETCOLUMN,0,@lvcolumn.LVCOLUMN)
	
	; Set the window callback for the listicon gadget's parent window to capture resize messages
	SetWindowCallback(@ExtendListCallback(),ParentWindowID)
	
	ProcedureReturn hImageList
EndProcedure

Procedure AddImageListElement(hImageList, hImage, hImageMask)
	ImageIndex=ImageList_Add_(hImageList,hImage,hImageMask)
	ProcedureReturn ImageIndex
EndProcedure

; Procedure ResizeImageList(hImageList, Width, Height)
; 
; EndProcedure

Procedure SetListIconElement(hListIcon, ImageListIndex, Row, Column, Text.s, ReplaceText)
	Var.LV_ITEM
	Var\mask=#LVIF_IMAGE
	If ReplaceText=1
		Var\mask|#LVIF_TEXT
	EndIf
	Var\iItem=Row ; row number for change
	Var\iSubItem=Column ; column
	Var\iImage=ImageListIndex; index of icon in the list
	Var\pszText=@Text.s ; text
	SendMessage_(hListIcon,#LVM_SETITEM,0,@Var)
EndProcedure

If OpenWindow(#MainWindow,0,0,320,240,"Icon List",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
	CreateGadgetList(WindowID(#MainWindow))
	ListIconGadget(#ListIconGadget1,0,0,320,240,"Original",298/3,#PB_ListIcon_FullRowSelect)
	hImageList=ExtendListIconGadget(GadgetID(#ListIconGadget1),32,32,#MainWindow)
	
	AddGadgetColumn(#ListIconGadget1,1,"Column 1",298/3)
	AddGadgetColumn(#ListIconGadget1,2,"Column 2",298/3)
	AddGadgetColumn(#ListIconGadget1,3,"Column 3",298/3)
	
	FontID=LoadFont(#Font,"ARIAL",9)
	SetGadgetFont(#ListIconGadget1,FontID)
	
	For i=0 To 4
		; When using ExtendListIconGadget, text added using AddGadgetItem is placed into column 0 and is not visible.
		; Use SetGadgetItemText to set the text for the first visible row
		AddGadgetItem(#ListIconGadget1,i,"")
	Next i
	
	ImageID=CatchImage(#PB_Any,?MyImage)
	ImageIndex=AddImageListElement(hImageList,ImageID(ImageID),0)
	If ImageIndex=-1
		Debug "Failed to load image"
	EndIf
	FreeImage(ImageID)

	For i=0 To 4
		SetGadgetItemText(#ListIconGadget1,i,"Item "+Str(i),1)
		SetGadgetItemText(#ListIconGadget1,i,"Item "+Str(i),2)
		SetGadgetItemText(#ListIconGadget1,i,"Item "+Str(i),3)
	Next i
	
	For i=1 To 3
		SetListIconElement(GadgetID(#ListIconGadget1),ImageIndex,i,1,"Alt "+Str(i),1)
	Next
	
	For i=0 To 2
		SetListIconElement(GadgetID(#ListIconGadget1),ImageIndex,i,2,"Alt "+Str(i),1)
	Next
	
	Repeat
		Select WaitWindowEvent()
			Case #PB_Event_CloseWindow
			Quit=1
		EndSelect
	Until Quit
	If HwndIm_List
		 ImageList_Destroy_(HwndIm_List)
	EndIf
EndIf

End

DataSection
	MyImage:
	Data.b $89,$50,$4E,$47,$0D,$0A,$1A,$0A,$00,$00,$00,$0D,$49,$48,$44,$52,$00,$00,$00,$20
	Data.b $00,$00,$00,$20,$08,$02,$00,$00,$00,$FC,$18,$ED,$A3,$00,$00,$00,$19,$74,$45,$58
	Data.b $74,$53,$6F,$66,$74,$77,$61,$72,$65,$00,$41,$64,$6F,$62,$65,$20,$49,$6D,$61,$67
	Data.b $65,$52,$65,$61,$64,$79,$71,$C9,$65,$3C,$00,$00,$0A,$42,$49,$44,$41,$54,$78,$DA
	Data.b $3C,$96,$69,$8C,$DC,$65,$1D,$C7,$9F,$EB,$7F,$CF,$BD,$33,$BB,$33,$7B,$75,$EF,$ED
	Data.b $F6,$58,$B6,$F6,$A2,$85,$16,$52,$6A,$A0,$05,$11,$0A,$22,$09,$8D,$45,$63,$D4,$F8
	Data.b $42,$34,$51,$63,$E2,$1B,$49,$78,$E3,$2B,$13,$63,$D2,$17,$92,$18,$40,$31,$46,$42
	Data.b $03,$8D,$10,$85,$0A,$2D,$2D,$F4,$DA,$A5,$ED,$DE,$67,$DB,$9D,$99,$EE,$EE,$CC,$EC
	Data.b $DC,$F3,$BF,$9F,$E7,$F1,$99,$42,$7C,$F2,$64,$32,$93,$3C,$F3,$3C,$BF,$F3,$F3,$FD
	Data.b $C1,$DF,$FE,$EE,$34,$80,$04,$00,$0E,$C4,$E2,$90,$03,$E4,$52,$AA,$06,$23,$D9,$D9
	Data.b $89,$1B,$E7,$FE,$01,$10,$A1,$C0,$F6,$20,$85,$58,$82,$9C,$42,$CA,$90,$38,$C3,$39
	Data.b $96,$14,$00,$30,$24,$CC,$F1,$6D,$85,$18,$1A,$94,$AA,$0E,$62,$18,$63,$BF,$1E,$6B
	Data.b $ED,$1A,$79,$F0,$B1,$60,$24,$0E,$20,$E0,$CC,$25,$1C,$E1,$58,$4B,$07,$E3,$14,$50
	Data.b $08,$31,$A2,$8C,$71,$62,$14,$B2,$4B,$4B,$17,$DF,$23,$66,$89,$6B,$01,$1B,$98,$12
	Data.b $51,$3A,$62,$51,$E6,$D3,$5A,$B9,$62,$BA,$1E,$04,$0C,$B8,$35,$CB,$03,$94,$60,$99
	Data.b $23,$8B,$6E,$52,$2D,$4C,$80,$E6,$9A,$55,$13,$1B,$2C,$9B,$AD,$E6,$F3,$1D,$7D,$23
	Data.b $98,$48,$85,$8D,$55,$02,$9B,$C7,$A9,$D8,$00,$62,$C8,$A1,$4B,$A1,$5D,$B9,$37,$FD
	Data.b $D1,$1B,$76,$F9,$9E,$62,$04,$5B,$12,$81,$64,$5B,$BB,$A4,$06,$6F,$CC,$64,$30,$86
	Data.b $B1,$54,$C8,$A9,$D4,$1B,$96,$2D,$31,$42,$98,$6B,$D9,$9E,$05,$91,$C4,$A9,$5F,$2F
	Data.b $21,$59,$83,$50,$C7,$AC,$5E,$75,$02,$F3,$E3,$97,$3A,$06,$06,$A3,$89,$0E,$08,$20
	Data.b $12,$8E,$34,$B7,$88,$0E,$01,$0C,$13,$B7,$92,$CF,$5F,$7E,$CB,$DE,$98,$97,$64,$D5
	Data.b $E1,$54,$22,$34,$16,$8D,$CE,$2D,$AF,$2E,$CD,$CE,$AF,$DD,$9E,$BB,$7D,$AF,$D0,$1E
	Data.b $0E,$F9,$18,$6E,$BA,$B6,$09,$7D,$9D,$00,$8F,$B2,$2A,$47,$45,$CF,$A4,$CE,$86,$C9
	Data.b $0D,$CF,$35,$55,$CD,$CF,$E5,$AB,$73,$D7,$3F,$83,$DC,$43,$50,$DC,$8A,$01,$40,$40
	Data.b $78,$01,$98,$B0,$0A,$5A,$E9,$8B,$4B,$B7,$AE,$6C,$56,$3C,$2A,$29,$36,$F0,$59,$9E
	Data.b $6C,$D4,$16,$47,$C2,$CE,$AF,$5E,$3B,$1A,$09,$46,$E6,$27,$F3,$A6,$2B,$DC,$08,$9F
	Data.b $99,$9A,$A3,$D4,$41,$12,$09,$30,$BF,$E1,$03,$8A,$B5,$B2,$6F,$C7,$8D,$FA,$EE,$C1
	Data.b $AD,$97,$57,$72,$44,$D1,$56,$A6,$A6,$07,$C6,$0E,$C8,$9A,$42,$9A,$B9,$45,$C2,$7E
	Data.b $00,$25,$19,$D5,$32,$9B,$4B,$D7,$D6,$F3,$95,$BC,$47,$3A,$E2,$AC,$B7,$85,$EC,$1A
	Data.b $EE,$38,$B1,$BF,$63,$F4,$C9,$3D,$38,$11,$14,$75,$B0,$6F,$7F,$E1,$F2,$07,$D3,$6F
	Data.b $DF,$5A,$27,$18,$CB,$44,$F3,$19,$4B,$C4,$C2,$7E,$A5,$6A,$39,$A0,$E1,$B1,$EF,$6F
	Data.b $93,$B7,$44,$D4,$F1,$34,$F1,$61,$DD,$B4,$61,$7A,$69,$66,$E0,$81,$DD,$F7,$3D,$C0
	Data.b $00,$21,$E4,$51,$AE,$54,$97,$EB,$95,$6A,$C6,$65,$41,$89,$1F,$1A,$0A,$1C,$3D,$B4
	Data.b $6B,$6F,$DC,$68,$EF,$4B,$31,$0A,$9C,$AA,$C3,$09,$92,$DA,$93,$0F,$7E,$47,$7E,$32
	Data.b $B3,$F6,$E7,$F3,$35,$04,$65,$97,$7A,$25,$97,$CA,$9A,$5C,$B0,$1A,$03,$6D,$E1,$AD
	Data.b $11,$6D,$7C,$71,$D1,$40,$4A,$D1,$2D,$77,$8D,$3C,$E4,$58,$8E,$6B,$D6,$88,$04,$81
	Data.b $22,$DE,$80,$C8,$71,$DD,$84,$EA,$7A,$9E,$5F,$63,$A0,$2F,$1A,$3E,$72,$60,$7F,$E7
	Data.b $50,$CA,$80,$0E,$85,$BA,$57,$54,$20,$D2,$A0,$E7,$7B,$BC,$86,$43,$F8,$E5,$53,$47
	Data.b $4D,$86,$DE,$FB,$7C,$D9,$A2,$54,$14,$9F,$84,$20,$26,$B8,$3D,$AA,$65,$73,$25,$43
	Data.b $02,$01,$02,$33,$75,$27,$1C,$0C,$76,$0F,$0C,$5B,$96,$25,$D2,$00,$10,$07,$9C,$D3
	Data.b $90,$A6,$E8,$A9,$DE,$62,$CD,$12,$29,$2F,$79,$BE,$A2,$EB,$12,$64,$4C,$8F,$F9,$24
	Data.b $0E,$81,$0C,$D6,$2D,$50,$31,$D5,$08,$02,$B2,$51,$47,$81,$44,$3C,$D4,$2D,$6E,$72
	Data.b $1C,$CE,$A0,$08,$97,$2A,$CB,$73,$6B,$95,$D5,$9A,$13,$55,$B5,$56,$03,$F9,$90,$38
	Data.b $8D,$62,$2C,$DE,$4A,$24,$89,$34,$13,$20,$6A,$88,$72,$88,$68,$23,$D8,$87,$43,$6D
	Data.b $0A,$28,$94,$1B,$E6,$5C,$7A,$AD,$AF,$27,$A9,$27,$FA,$90,$E8,$0D,$DF,$F7,$2D,$53
	Data.b $57,$CC,$CD,$05,$EB,$2F,$EF,$8E,$5F,$B8,$34,$AF,$02,$1A,$D0,$F4,$B8,$22,$DF,$B6
	Data.b $EC,$B0,$1E,$D2,$55,$5E,$AF,$99,$E9,$9A,$9B,$D2,$14,$66,$89,$D6,$93,$D6,$36,$E6
	Data.b $D3,$2B,$93,$89,$8E,$1E,$D4,$EC,$60,$91,$61,$D1,$9F,$D4,$77,$81,$12,$EF,$DB,$61
	Data.b $00,$E0,$39,$74,$7E,$BD,$EA,$95,$4B,$CE,$FA,$0A,$0E,$71,$12,$95,$11,$B4,$2E,$5E
	Data.b $99,$FC,$E1,$AF,$DF,$7C,$FB,$EC,$65,$5E,$B5,$2A,$65,$5B,$23,$78,$7B,$6F,$94,$88
	Data.b $98,$7A,$BE,$2E,$23,$45,$42,$63,$3D,$49,$06,$99,$EB,$38,$B6,$EF,$7B,$76,$B5,$90
	Data.b $BB,$83,$88,$48,$6E,$33,$CB,$90,$71,$CE,$28,$73,$7D,$D6,$3F,$BA,$2F,$28,$4B,$0A
	Data.b $A7,$E9,$0D,$F3,$B6,$0B,$16,$33,$59,$93,$99,$5E,$08,$CE,$4C,$4D,$9D,$7E,$E3,$E3
	Data.b $52,$D9,$6E,$EF,$6C,$BF,$87,$81,$A5,$4B,$8F,$EE,$1D,$DA,$33,$90,$92,$31,$B7,$3D
	Data.b $1A,$24,$92,$80,$07,$C6,$A4,$2B,$16,$C9,$5B,$E2,$7A,$CB,$73,$3D,$86,$28,$51,$30
	Data.b $51,$10,$11,$1E,$61,$0C,$64,$04,$08,$F6,$BB,$FB,$06,$FA,$86,$86,$D2,$2B,$B3,$B9
	Data.b $62,$F5,$CC,$BF,$AE,$CA,$C0,$B5,$FE,$33,$B5,$7B,$6B,$C7,$A3,$21,$3E,$BC,$A5,$2D
	Data.b $98,$AF,$9B,$8E,$D9,$3F,$10,$DF,$3B,$D8,$7D,$E2,$D8,$EE,$B3,$1F,$4E,$28,$80,$4B
	Data.b $00,$48,$10,$07,$65,$F9,$9B,$0F,$6C,$B1,$AB,$B5,$D9,$C2,$CD,$96,$A8,$21,$61,$18
	Data.b $0A,$27,$08,$56,$88,$AA,$81,$48,$10,$73,$06,$30,$02,$BA,$8A,$BC,$40,$A8,$A7,$BF
	Data.b $B7,$96,$5E,$B0,$EB,$E6,$F4,$AA,$17,$8E,$C6,$E7,$67,$D7,$56,$16,$D6,$9E,$F9,$CD
	Data.b $89,$EF,$BD,$D4,$3D,$35,$97,$D9,$91,$68,$51,$2C,$3B,$92,$8C,$94,$72,$F9,$3B,$CB
	Data.b $F7,$22,$8A,$14,$56,$61,$22,$A0,$95,$6D,$3F,$5B,$AC,$7E,$31,$BD,$5A,$77,$E9,$C1
	Data.b $E1,$6D,$E5,$C6,$E6,$F6,$91,$1D,$14,$30,$24,$5A,$4D,$91,$B8,$44,$38,$06,$5C,$C4
	Data.b $53,$D3,$A4,$FE,$91,$01,$23,$18,$70,$1A,$76,$7A,$AD,$C6,$39,$3C,$B2,$B3,$77,$AC
	Data.b $53,$A0,$51,$D1,$B9,$12,$47,$50,$85,$B8,$FD,$81,$ED,$BA,$AC,$67,$26,$D7,$1C,$DF
	Data.b $E9,$0A,$2B,$61,$45,$D3,$08,$53,$98,$FF,$FA,$27,$33,$EF,$5E,$5B,$8E,$AB,$F2,$DD
	Data.b $D5,$E5,$6D,$7B,$1F,$1B,$D9,$36,$26,$03,$0F,$11,$28,$1C,$04,$12,$02,$1A,$01,$2A
	Data.b $E7,$BE,$47,$07,$76,$ED,$E9,$1A,$19,$94,$85,$6B,$B6,$3B,$18,$D5,$9E,$E8,$6F,$1B
	Data.b $4B,$C6,$DA,$64,$B4,$39,$BB,$3C,$39,$B3,$CC,$82,$AA,$D9,$30,$33,$C5,$B2,$28,$A4
	Data.b $E1,$64,$3C,$1E,$8D,$56,$28,$BF,$5B,$2C,$13,$40,$33,$9B,$A6,$A2,$1B,$D4,$77,$86
	Data.b $76,$EE,$3A,$7E,$EC,$79,$BB,$51,$53,$24,$80,$9A,$11,$BC,$BF,$91,$68,$4D,$C1,$27
	Data.b $DB,$8E,$26,$3A,$07,$47,$F7,$B5,$44,$34,$88,$F1,$DC,$F2,$BA,$C6,$59,$5C,$27,$AA
	Data.b $AA,$24,$BB,$5B,$05,$FE,$2F,$5E,$9F,$7E,$FD,$AF,$1F,$94,$64,$B8,$E5,$50,$4F,$A8
	Data.b $23,$60,$52,$2F,$DF,$28,$97,$6D,$D1,$D4,$BE,$C7,$44,$AD,$F3,$47,$8F,$3D,$F9,$D3
	Data.b $1F,$BD,$42,$CD,$B2,$43,$DD,$26,$4D,$45,$0D,$49,$5C,$34,$12,$C0,$CC,$15,$D5,$A1
	Data.b $00,$71,$92,$EF,$3E,$78,$38,$D1,$9A,$8A,$1A,$78,$72,$AD,$F8,$B7,$89,$A5,$06,$70
	Data.b $6F,$5E,$9B,$3C,$73,$EE,$C6,$AD,$75,$F7,$EF,$67,$AE,$2E,$DE,$29,$F7,$0C,$0F,$46
	Data.b $FA,$53,$23,$03,$2D,$C7,$C7,$BA,$DB,$C2,$3A,$E5,$C0,$E6,$3C,$AA,$72,$E0,$D8,$A9
	Data.b $8E,$1E,$CB,$13,$5A,$E1,$A4,$82,$50,$93,$01,$7E,$E1,$D9,$13,$91,$50,$48,$14,$2A
	Data.b $02,$4C,$68,$95,$F8,$04,$BE,$13,$0B,$06,$93,$3D,$43,$EB,$E9,$BB,$F9,$DC,$C6,$62
	Data.b $B1,$96,$0C,$91,$72,$AD,$36,$BE,$9C,$73,$05,$D1,$83,$4A,$D7,$40,$D7,$B6,$78,$74
	Data.b $7D,$2E,$B3,$B4,$51,$0B,$26,$E3,$14,$92,$42,$CD,$34,$54,$39,$15,$90,$25,$CE,$EF
	Data.b $AE,$E5,$E7,$A6,$6E,$24,$C2,$DA,$C3,$63,$A3,$AE,$D5,$C0,$2F,$9E,$F8,$56,$2C,$A4
	Data.b $23,$E6,$21,$21,$79,$02,$DF,$1C,$28,$A8,$99,$EE,$64,$32,$31,$3A,$D2,$21,$57,$32
	Data.b $D9,$6C,$E5,$DA,$7C,$AE,$A7,$2B,$92,$48,$45,$2D,$D3,$6C,$6D,$89,$F9,$9C,$CF,$5D
	Data.b $9B,$99,$99,$CB,$B6,$6C,$ED,$93,$E2,$C1,$7C,$A5,$86,$38,$97,$21,$76,$AA,$75,$99
	Data.b $40,$3D,$64,$78,$5C,$D2,$02,$E1,$AE,$54,$62,$62,$7C,$02,$9F,$7C,$F6,$A9,$58,$C0
	Data.b $60,$DC,$D7,$10,$14,$5D,$27,$E1,$FB,$5B,$BC,$41,$59,$4B,$24,$D0,$15,$B0,$1F,$D9
	Data.b $F7,$8D,$42,$DD,$3F,$7F,$73,$AE,$3F,$15,$36,$5C,$AF,$51,$A8,$05,$90,$12,$8E,$05
	Data.b $F6,$3E,$BC,$73,$DB,$9E,$FE,$85,$D5,$B5,$85,$BB,$9B,$98,$73,$B3,$58,$31,$AB,$0D
	Data.b $59,$C6,$A1,$AE,$E1,$96,$A1,$5D,$B6,$65,$BD,$71,$FA,$F4,$D5,$2F,$6F,$E1,$93,$CF
	Data.b $3C,$15,$09,$0A,$D6,$73,$D1,$07,$58,$80,$4F,$F0,$5B,$F0,$49,$00,$1C,$30,$4D,$57
	Data.b $D4,$78,$B2,$A3,$33,$F5,$E2,$D3,$4F,$50,$3D,$F4,$CE,$D9,$4F,$93,$49,$7D,$68,$C7
	Data.b $88,$4C,$68,$9D,$F8,$6A,$4B,$24,$5B,$35,$EF,$64,$8B,$E5,$8A,$E5,$E6,$8B,$84,$53
	Data.b $84,$19,$53,$02,$46,$FF,$01,$28,$EB,$AB,$D3,$33,$0B,$93,$37,$45,$6E,$08,$66,$BE
	Data.b $0C,$1D,$89,$08,$E6,$36,$A9,$2A,$E8,$07,$31,$C0,$58,$11,$02,$2D,$DC,$D2,$43,$11
	Data.b $CF,$A7,$54,$56,$5F,$F9,$C9,$A9,$CE,$64,$CB,$E2,$EC,$6C,$81,$17,$CC,$46,$1E,$FB
	Data.b $8C,$4B,$DB,$1A,$35,$AF,$5E,$B1,$DD,$5C,$51,$F4,$10,$D1,$75,$97,$B9,$E1,$DE,$9D
	Data.b $24,$10,$28,$17,$37,$17,$E7,$26,$85,$C9,$84,$88,$2D,$71,$5D,$95,$A0,$A0,$1D,$16
	Data.b $65,$29,$80,$D2,$54,$37,$C1,$77,$81,$28,$CF,$25,$D4,$67,$82,$57,$96,$47,$55,$CB
	Data.b $1A,$D9,$36,$FA,$79,$1A,$14,$E7,$3F,$ED,$D1,$03,$C1,$96,$54,$7A,$AD,$14,$E4,$7E
	Data.b $31,$93,$73,$AA,$A6,$DE,$16,$B0,$1A,$B5,$AD,$0F,$1D,$B1,$B5,$6E,$31,$79,$DC,$BC
	Data.b $7C,$A1,$52,$CC,$AB,$04,$DB,$E2,$EF,$86,$22,$87,$0C,$24,$50,$87,$90,$4C,$64,$84
	Data.b $65,$61,$0C,$47,$22,$6B,$6E,$B3,$7C,$B9,$D0,$04,$A1,$D6,$E2,$75,$02,$3F,$9B,$4E
	Data.b $97,$37,$37,$CA,$25,$33,$6D,$84,$14,$66,$FB,$9B,$19,$C5,$B1,$1A,$0E,$8F,$18,$8A
	Data.b $5F,$6F,$0C,$1E,$78,$68,$E0,$F0,$F3,$5F,$9C,$FB,$64,$EA,$C6,$C4,$9D,$85,$05,$21
	Data.b $26,$B6,$4F,$35,$15,$20,$C3,$00,$9A,$CC,$C5,$37,$55,$E1,$44,$E1,$C0,$E0,$50,$FD
	Data.b $0A,$60,$00,$AB,$80,$10,$AE,$29,$30,$A4,$C1,$FC,$7A,$7E,$7B,$5F,$E7,$E3,$8F,$EC
	Data.b $6D,$ED,$4C,$69,$9D,$83,$72,$DB,$A0,$0D,$B4,$4C,$A1,$41,$9B,$47,$BC,$D1,$B1,$03
	Data.b $3F,$FF,$FD,$9B,$99,$DB,$1B,$33,$B7,$6E,$5E,$BF,$3E,$91,$8C,$A8,$0C,$20,$21,$31
	Data.b $C2,$6A,$24,$26,$36,$AC,$8B,$EB,$55,$AE,$21,$AE,$35,$47,$80,$E6,$84,$C1,$9B,$42
	Data.b $2D,$DE,$50,$A2,$3A,$89,$05,$0B,$55,$F3,$E5,$5F,$BC,$FA,$C9,$7F,$CF,$BD,$74,$F2
	Data.b $C5,$5F,$BE,$FA,$DA,$96,$A1,$61,$50,$AB,$B2,$5A,$59,$4C,$72,$40,$10,$62,$AD,$34
	Data.b $5B,$AC,$7F,$36,$FE,$E5,$87,$67,$FF,$79,$67,$69,$76,$FF,$48,$BB,$68,$7B,$41,$7E
	Data.b $A8,$48,$3F,$3E,$F5,$1C,$01,$B2,$0C,$34,$24,$06,$14,$70,$5F,$79,$BE,$1A,$21,$9B
	Data.b $8B,$40,$85,$E0,$A5,$2B,$B7,$2E,$4D,$97,$8A,$9E,$4E,$51,$78,$E2,$CA,$B5,$F5,$EC
	Data.b $C6,$48,$EF,$C0,$D5,$8E,$B6,$CC,$4D,$A6,$32,$DB,$45,$A0,$5C,$2E,$03,$A2,$BE,$FF
	Data.b $E9,$E7,$6F,$7D,$F4,$78,$AF,$8E,$8E,$EC,$E9,$CF,$E5,$AA,$A5,$92,$25,$30,$F9,$B3
	Data.b $EF,$1E,$FF,$C1,$A9,$E7,$05,$E1,$84,$EA,$F3,$AF,$0D,$47,$F7,$AF,$16,$BF,$28,$90
	Data.b $24,$5C,$DD,$A8,$BC,$F3,$EF,$DB,$2B,$36,$8A,$C7,$60,$CF,$E0,$E0,$B9,$F7,$FF,$FE
	Data.b $DC,$91,$43,$A3,$BD,$BD,$89,$47,$8E,$25,$BA,$BA,$5A,$36,$E7,$6C,$C7,$5F,$2B,$A3
	Data.b $EE,$23,$2F,$78,$37,$A7,$2F,$5D,$B8,$10,$1C,$4E,$8C,$2F,$6C,$E4,$D2,$05,$88,$58
	Data.b $38,$60,$3C,$7D,$FC,$31,$57,$E8,$C1,$D7,$24,$72,$EE,$C7,$E4,$FF,$0B,$43,$31,$C6
	Data.b $2C,$AE,$D8,$76,$7B,$77,$17,$73,$78,$C3,$13,$68,$94,$65,$92,$DD,$2C,$15,$57,$73
	Data.b $C3,$94,$8C,$1E,$3E,$5C,$82,$06,$B7,$D7,$FB,$F6,$1F,$85,$B1,$B6,$5C,$E1,$E3,$58
	Data.b $4C,$B9,$5D,$F1,$55,$C6,$0D,$24,$A5,$29,$FD,$D3,$1F,$FF,$70,$F0,$F1,$6F,$4F,$CC
	Data.b $CC,$10,$28,$71,$AC,$E1,$FB,$C2,$7F,$DF,$09,$5F,$CC,$DA,$44,$24,$C8,$CC,$36,$EE
	Data.b $6E,$98,$12,$B6,$AD,$CD,$92,$EB,$A2,$CC,$CA,$9C,$28,$DF,$96,$60,$C0,$33,$D8,$FC
	Data.b $AD,$F1,$52,$21,$A7,$A9,$4A,$BE,$88,$BB,$97,$B3,$EB,$5F,$5C,$35,$0B,$F9,$84,$2C
	Data.b $02,$8D,$54,$00,$D2,$F5,$7A,$2C,$9E,$38,$78,$E8,$E1,$B5,$92,$AD,$1A,$51,$D2,$68
	Data.b $98,$B3,$33,$19,$FE,$D5,$03,$CD,$39,$15,$F2,$52,$DD,$2E,$F1,$7C,$09,$98,$3E,$F0
	Data.b $1B,$B5,$C2,$66,$A9,$DE,$70,$6D,$CF,$D1,$B4,$40,$53,$5B,$91,$60,$30,$09,$B6,$B5
	Data.b $9E,$3C,$F9,$72,$3E,$73,$2F,$B3,$91,$9D,$9E,$BC,$91,$D0,$03,$42,$9A,$C4,$08,$64
	Data.b $53,$EA,$EA,$46,$48,$D7,$2F,$9E,$3F,$FF,$E0,$E1,$87,$A1,$6B,$FD,$4F,$80,$01,$00
	Data.b $EE,$11,$56,$24,$33,$0A,$3C,$CC,$00,$00,$00,$00,$49,$45,$4E,$44,$AE,$42,$60,$82
EndDataSection