Или глаз замылился или в хелпе нет такого?
Как узнать количество столбцов в таблице типа ListIconGadget()?
Сообщений 1 страница 3 из 3
Поделиться223.11.2011 16:44:34
Нет простого решения для этого.
http://www.rsdn.ru/forum/winapi/2119775.flat.aspx
Забей в гугл запрос узнать количество столбцов в ListView.
В КодАрхиве нашел такой пример, вроде работает хоть и через одно место.
Procedure ListIcon_DeleteColumn(gadget,item) ProcedureReturn SendMessage_(GadgetID(gadget),#LVM_DELETECOLUMN,item,0) EndProcedure Procedure ListIcon_GetColumnCount(gadget) col.LV_COLUMN\mask = #LVCF_WIDTH Repeat a+1:x=SendMessage_(GadgetID(gadget),#LVM_GETCOLUMN,a,@col) Until x = 0 ProcedureReturn a EndProcedure OpenWindow(0,0,0,300,100,"",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) CreateGadgetList(WindowID(0)) ListIconGadget(1,0,0,300,100,"1", 100) AddGadgetColumn(1,1,"2", 80) AddGadgetColumn(1,2,"3", 80) AddGadgetColumn(1,3,"4", 80) Debug ListIcon_GetColumnCount(1) ListIcon_DeleteColumn(1,1) ListIcon_DeleteColumn(1,1) Debug ListIcon_GetColumnCount(1) Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
Поделиться323.01.2019 08:54:53
Пришлось на днях вернуться к этому вопросу.
На базе предыдущей идеи сделал вариант без WinAPI
Protected nCol=0, iCol ; узнать количество столбцов While GetGadgetItemAttribute(#ListIcon_0, 0, #PB_ListIcon_ColumnWidth , nCol) nCol+1 Wend
P.S.
Тут на http://www.purebasic.info послали меня в https://www.rsbasic.de/winapi-library/
а там есть с WinAPI но просто и точно.
columntotal = SendMessage_(SendMessage_(GadgetID(#ListIcon_0),#LVM_GETHEADER,0,0), #HDM_GETITEMCOUNT,0,0)
"Все уже украдено до нас"
Отредактировано SadStar (23.01.2019 09:19:38)