Code: Alles auswählen
Procedure.l PureLVSort_ColMaxWidth(LIG_ID.l,LIG_Col.l)
Define.l value1, value2, result
PureLVSORT_SetColumnWidth(LIG_ID, LIG_Col, #PureLVSORT_UseHeader)
value1 = GetGadgetItemAttribute(LIG_ID.l, 0, #PB_ListIcon_ColumnWidth, LIG_Col.l)
PureLVSORT_SetColumnWidth(LIG_ID, LIG_Col, #PureLVSORT_AutoSize)
value2 = GetGadgetItemAttribute(LIG_ID.l, 0, #PB_ListIcon_ColumnWidth, LIG_Col.l)
If value1 > value2
result = value1
Else
result = value2
EndIf
ProcedureReturn result + 24; für den Pfeil
EndProcedure
#Window_0 = 0
#ListIcon_0 = 0
If OpenWindow(#Window_0, 216, 0, 402, 302, "PureLVSORT Test", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
ListIconGadget(#ListIcon_0, 5, 5, 590, 285, "UID", 100)
AddGadgetColumn(#ListIcon_0, 1, "Titel", 100)
AddGadgetColumn(#ListIcon_0, 2, "VeryLongColumnTitle", 100)
AddGadgetColumn(#listicon_0, 3, "Filler", 200)
Else
End
EndIf
Else
End
EndIf
;
MessageRequester("Testphase 1 beendet", "Nun werden die Spaltenbreiten an die Spaltenbezeichnungslängen angepaßt")
If PureLVSORT_SelectGadgetToSort(#ListIcon_0, #PureLVSORT_ShowClickedHeader_IconRight) = #PureLVSORT_Ok
PureLVSORT_SetColumnWidth(#ListIcon_0, 0, #PureLVSORT_UseHeader)
PureLVSORT_SetColumnWidth(#ListIcon_0, 1, #PureLVSORT_UseHeader)
PureLVSORT_SetColumnWidth(#ListIcon_0, 2, #PureLVSORT_UseHeader)
Else
Debug "PureLVSORT_SelectGadgetToSort() <> #PureLVSORT_Ok"
End
EndIf
;
MessageRequester("Testphase 2 beendet", "Nun die Spalten füllen")
;
AddGadgetItem(#ListIcon_0, -1, "1" + Chr(10) + "Alien" + Chr(10) + "c:\")
AddGadgetItem(#ListIcon_0, -1, "44" + Chr(10) + "28 Days later" + Chr(10) + "f:\")
AddGadgetItem(#ListIcon_0, -1, "222" + Chr(10) + "Terminator" + Chr(10) + "e:\")
AddGadgetItem(#ListIcon_0, -1, "3333" + Chr(10) + "La boum" + Chr(10) + "d:\")
;
PureLVSORT_SetColumnType(#ListIcon_0, 0, #PureLVSORT_Numeric)
PureLVSORT_SetColumnType(#ListIcon_0, 1, #PureLVSORT_String)
PureLVSORT_SetColumnType(#ListIcon_0, 2, #PureLVSORT_String)
;
MessageRequester("Testphase 3 beendet", "Nun Spaltenbreiten an Zelleninhalte anpassen")
;
PureLVSORT_SetColumnWidth(#ListIcon_0, 0, PureLVSort_ColMaxWidth(#ListIcon_0,0))
PureLVSORT_SetColumnWidth(#ListIcon_0, 1, PureLVSort_ColMaxWidth(#ListIcon_0,1))
PureLVSORT_SetColumnWidth(#ListIcon_0, 2, PureLVSort_ColMaxWidth(#ListIcon_0,2))
;
MessageRequester("Problem gelöst:", "Bitte mal 1. oder 3. Spalte sortieren ;)")
;
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
End
Vielleicht kanns der ein oder andere ja gebrauchen/verbessern.
bis denne... scholly