you have a small error in your interesting last code example. You have to change
Code: Select all
CompilerIf #PB_OS_Windows
Code: Select all
CompilerIf #PB_Compiler_OS = #PB_OS_Windows
Code: Select all
Procedure.I GetNumberOfColumns(ListIconGadgetID.I)
Protected NumberOfColumns.I
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Linux
Protected *ListStore.GtkListStore
*ListStore = gtk_tree_view_get_model_(GadgetID(ListIconGadgetID))
NumberOfColumns = (*ListStore\n_columns - 3) / 3
CompilerCase #PB_OS_MacOS
NumberOfColumns = CocoaMessage(0, GadgetID(ListIconGadgetID),
"numberOfColumns")
CompilerCase #PB_OS_Windows
NumberOfColumns = SendMessage_(SendMessage_(GadgetID(ListIconGadgetID),
#LVM_GETHEADER, 0, 0), #HDM_GETITEMCOUNT, 0, 0)
CompilerEndSelect
ProcedureReturn NumberOfColumns
EndProcedure
OpenWindow(0, 270, 100, 270, 60, "ListIconGadget")
ListIconGadget(0, 5, 5, WindowWidth(0) - 10, WindowHeight(0) - 10, "Column 1", 80)
AddGadgetColumn(0, 1, "Column 2", 80)
AddGadgetColumn(0, 2, "Column 3", 80)
MessageRequester("Info", "Number of columns: " + Str(GetNumberOfColumns(0)))