Что нового

[Элементы GUI] Ширина столбцов ListView

Hiki

Новичок
Сообщения
27
Репутация
1
Как регулировать ширину колонки в ListView?
В справке написано:
Вы можете контролировать ширину колонки, заполняя заголовок колонки пробелами.
Не понял каким образом, у меня не выходит, ни справа, ни слева от текста.
Код:
#include <WindowsConstants.au3>
Opt('GUIOnEventMode', 1)
Global $wid=700, $hei=400

$gui=GUICreate('', $wid, $hei, -1, -1, BitOR($WS_POPUP, $WS_BORDER), BitOR($WS_EX_TOPMOST, $WS_EX_CONTROLPARENT))
GUISetFont(8.5, 400, '', 'Lucida Console')
$btn_=GUICtrlCreateButton('-', $wid-30, 0, 15, 15)
GUICtrlSetCursor($btn_, 0)
$btnX=GUICtrlCreateButton('x', $wid-15, 0, 15, 15)
GUICtrlSetCursor($btnX, 0)

$lst=GUICtrlCreateListView('       1       |2        |          3|4|5', 5, 5, $wid-40, $hei-10)
$itm1=GUICtrlCreateListViewItem('', $lst)

GUISetState(@SW_SHOW, $gui)

GUICtrlSetOnEvent($btn_, 'btn_')
GUICtrlSetOnEvent($btnX, 'btnX')

While 1
	;здесь GUICtrlSetData будет изменять содержимое таблицы
	Sleep(1000)
WEnd

Func btn_()
	GUISetState(@SW_MINIMIZE, $gui)
EndFunc

Func btnX()
	GUIDelete($gui)
	Exit
EndFunc
 

joiner

Модератор
Локальный модератор
Сообщения
3,557
Репутация
628
Код:
_GUICtrlListView_GetColumnWidth

и все связанные с этим функции.
 

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
Hiki [?]
Как регулировать ширину колонки в ListView?


Код:
#include <ListViewConstants.au3>

$hListView = GUICtrlCreateListView("Компьютер|Адрес|Пинг", 0, 0, 419, 225)
	GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 150)
	GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 100)
	GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 70)


Таким образом, ширина колонки с индексом 0 (Компьютер) = 150; 1 (Адрес) = 100; 2 (Пинг) = 70

Конкретно на Вашем примере:
Код:
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
Opt('GUIOnEventMode', 1)
Global $wid=700, $hei=400

$gui=GUICreate('', $wid, $hei, -1, -1, BitOR($WS_POPUP, $WS_BORDER), BitOR($WS_EX_TOPMOST, $WS_EX_CONTROLPARENT))
GUISetFont(8.5, 400, '', 'Lucida Console')
$btn_=GUICtrlCreateButton('-', $wid-30, 0, 15, 15)
GUICtrlSetCursor($btn_, 0)
$btnX=GUICtrlCreateButton('x', $wid-15, 0, 15, 15)
GUICtrlSetCursor($btnX, 0)

$lst=GUICtrlCreateListView('       1       |2        |          3|4|5', 5, 5, $wid-40, $hei-10)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 200)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 150)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 100)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 20)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 70)
$itm1=GUICtrlCreateListViewItem('', $lst)

GUISetState(@SW_SHOW, $gui)

GUICtrlSetOnEvent($btn_, 'btn_')
GUICtrlSetOnEvent($btnX, 'btnX')

While 1
    ;здесь GUICtrlSetData будет изменять содержимое таблицы
    Sleep(1000)
WEnd

Func btn_()
    GUISetState(@SW_MINIMIZE, $gui)
EndFunc

Func btnX()
    GUIDelete($gui)
    Exit
EndFunc
 
  • Like
Реакции: Norm
Верх