
listicon gadget speed (with large images, 2000+ 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.Fluid Byte wrote:By the way, do you disable redrawing before you add the items?
Could you be a little more specific? I've never used virtual lists.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.
Thanks again guys, I really appreciate it.
I love Purebasic.
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
What goes around comes around.
PB 5.21 LTS (x86) - Windows 8.1
PB 5.21 LTS (x86) - Windows 8.1
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.."
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.."
- Rook Zimbabwe
- Addict
- Posts: 4322
- Joined: Tue Jan 02, 2007 8:16 pm
- Location: Cypress TX
- Contact:
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:
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))
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 #2 is the result of me then clicking on Item Number 2.
the image does appear selected (this is correct behavior)

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)

This only happens when using images.
Can anyone else confirm?
*** Edit *** You can ignore this post as this appears to be normal Windows behavior.
Image #1 is the result of me clicking on Item Number 1.
the image does not appear selected (this is not correct behavior)

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

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)

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
Last edited by Sparkie on Sat Aug 30, 2008 4:04 pm, edited 1 time in total.
What goes around comes around.
PB 5.21 LTS (x86) - Windows 8.1
PB 5.21 LTS (x86) - Windows 8.1
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:
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)
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:
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
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
( PB6.00 LTS Win11 x64 Asrock AB350 Pro4 Ryzen 5 3600 32GB GTX1060 6GB)
( The path to enlightenment and the PureBasic Survival Guide right here... )
( The path to enlightenment and the PureBasic Survival Guide right here... )
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:
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