PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Как узнать количество столбцов в таблице типа ListIconGadget()?


Как узнать количество столбцов в таблице типа ListIconGadget()?

Сообщений 1 страница 3 из 3

1

Или глаз замылился или в хелпе нет такого?

0

2

Нет простого решения для этого.
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

0

3

Пришлось на днях вернуться к этому вопросу.
На базе предыдущей идеи сделал вариант без 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)

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Как узнать количество столбцов в таблице типа ListIconGadget()?