Что нового

Внесение изменений в функцию _ArrayDisplay

Dimmak

Знающий
Сообщения
185
Репутация
9
Подскажите что нужно изменить в функции _ArrayDisplay, которая находится в файле <Array.au3>
чтобы ширина колонки ( Col 0 ) увеличилась в 2 раза?
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Dimmak [?]
чтобы ширина колонки ( Col 0 ) увеличилась в 2 раза
Данная колонка может увеличиваться до определённых пределов в зависимости от содержимого. Поэтому если вам нужно увеличить начальную ширину, то добавьте строку перед циклом. Если нужно увеличить конечную ширину, то после.
Код:
GUICtrlSendMsg($hListView, 0x1000 + 30, 1, GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETCOLUMNWIDTH, 1, 0) * 2) ; увеличить начальную ширину
	; Fill listview
	For $i = 0 To $iUBound
		GUICtrlCreateListViewItem($avArrayText[$i], $hListView)
	Next
;~   GUICtrlSendMsg($hListView, 0x1000 + 30, 1, GUICtrlSendMsg($hListView, $_ARRAYCONSTANT_LVM_GETCOLUMNWIDTH, 1, 0) * 2) ; увеличить конечную ширину
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
В последних версиях _ArrayDisplay изменяли, там вроде есть что-то подобное, параметр $iMax_Colwidth

http://www.autoitscript.com/autoit3/docs/libfunctions/_ArrayDisplay.htm
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
WSWR [?]
есть что-то подобное, параметр $iMax_Colwidth
Верно. В последней официальной 3.3.10.2 есть такое. Колонки увеличиваются по содержимому, пока их сумма не превысит
Код:
@DesktopWidth - 100
После этого те колонки, которые шире $iMax_ColWidth, уменьшаются до этого значения (по умолчанию 350 пикселей).
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Можно через $hUser_Function задать ширину колонки. Но функция не передаёт дескриптор LV и GUI, поэтому придётся через заголовок окна получить дескрипторы и выставить ширину. Я кстати спорил, что функция должна их передавать (дескрипторы GUI и LV), но не был услышан; авторы продвигали свои идеи.
 
Верх