ich versuche gerade einen Code, den ich in XProfan geschrieben habe, nach PureBasic zu übersetzen. Mit dem ist es per Windows API möglich ein ListIconGadget in TileView umzuschalten.
Allerdings habe ich einen totalen Hänger, sicher nur ein Verständnisproblem. Mit dem folgenden Code kann ich TileView aktivieren, festlegen, dass noch 2 Zeilen angezeigt werden, aber der dritte Aufruf, der für ein Element festlegt, welche weiteren Zeilen angezeigt werden sollen, schlägt fehlt. Kann mir da jemand weiterhelfen?
Code: Alles auswählen
EnableExplicit
Structure LVTILEVIEWINFO
cbSize.l
dwMask.l
dwFlags.l
sizeTile.SIZE
cLines.l
rcLabelMargins.RECT
EndStructure
Structure LVTILEINFO
cbSize.l
iItem.l
cColumns.l
puColumns.l
EndStructure
Define window_0, listicon_0
Define lvti.LVTILEINFO,lvtvi.LVTILEVIEWINFO,*Tiles
window_0=OpenWindow(#PB_Any,0,0,400,300,"Test",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
listicon_0=ListIconGadget(#PB_Any,0,0,400,300,"Maschine",120)
AddGadgetColumn(listicon_0,1,"Typ",100)
AddGadgetColumn(listicon_0,2,"Modell",100)
Debug SendMessage_(GadgetID(listicon_0),#LVM_SETVIEW,#LV_VIEW_TILE,0)
lvtvi\cbSize=SizeOf(lvtvi)
lvtvi\dwMask=2;#LVTVIM_COLUMNS
lvtvi\cLines=2
Debug SendMessage_(GadgetID(listicon_0),#LVM_SETTILEVIEWINFO,0,@lvtvi)
Debug SendMessage_(GadgetID(listicon_0),#LVM_ARRANGE,0,0)
AddGadgetItem(listicon_0,-1,"Test"+Chr(10)+"Test2"+Chr(10)+"Test3")
AddGadgetItem(listicon_0,-1,"Test"+Chr(10)+"Test2"+Chr(10)+"Test3")
AddGadgetItem(listicon_0,-1,"Test"+Chr(10)+"Test2"+Chr(10)+"Test3")
lvti\cbSize=SizeOf(lvti)
*Tiles=AllocateMemory(8)
PokeL(*Tiles,1)
PokeL(*Tiles+4,2)
lvti\iItem=0
lvti\cColumns=2
lvti\puColumns=*Tiles
;Fehlschlag:
Debug SendMessage_(GadgetID(listicon_0),#LVM_SETTILEINFO,0,@lvti)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Select EventWindow()
Case window_0;Hauptfenster
Break
EndSelect
EndSelect
ForEver