GUICtrlCreateList
Создаёт List (список) в GUI.
GUICtrlCreateList ( "text", left, top [, width [, height [, style = -1 [, exStyle = -1 ]]]] )
Параметры
text | Текст элемента |
left |
Координата левого края. Если -1 - тогда координата в соответствии с GUICoordMode. |
top |
Координата верхнего края. Если -1 - тогда координата в соответствии с GUICoordMode. |
width |
[необязательный] Ширина элемента (по умолчанию предыдущее значение). |
height |
[необязательный] Высота элемента (по умолчанию предыдущее значение). |
style |
[необязательный] Стиль элемента. Смотрите Стили элементов GUI в приложении. -1 - по умолчанию : $LBS_SORT, $WS_BORDER, $WS_VSCROLL принудительный стиль : $WS_TABSTOP, $LBS_NOTIFY |
exStyle |
[необязательный] Расширенный стиль элемента. Смотрите таблицу расширенных стилей. -1 - по умолчанию : $WS_EX_CLIENTEDGE |
Возвращаемое значение
Успех: | Возвращает идентификатор (controlID) нового элемента. |
Ошибка: | Возвращает 0. |
Примечания
Для получения параметров элемента смотрите GUICtrlRead.См. также
GUICoordMode (Опция), GUICtrlSetData, GUICtrlSetLimit, GUICtrlUpdate..., GUIGetMsgПример
#include <ListBoxConstants.au3>
#include <GUIConstantsEx.au3>
Local $Message = "Следующие кнопки были нажаты"
Local $hGUI, $add, $clear, $mylist, $msg, $index, $read, $setsel, $count, $select, $find_string, $del_item, $insert, $color, $tmp
$hGUI = GUICreate("GUI с элементом списка - List") ; Создаёт окно в центре экрана
$read = GUICtrlCreateButton("Текст пункта", 40, 30, 121, 25)
$index = GUICtrlCreateButton("Индекс выделенного", 40, 60, 121, 25)
$setsel = GUICtrlCreateButton("Выделить пункт 4", 40, 90, 121, 25)
$select = GUICtrlCreateButton("Выделить ""Пункт1""", 40, 120, 121, 25)
$find_string = GUICtrlCreateButton("Найти строку Пункт 3", 40, 150, 121, 25)
$del_item = GUICtrlCreateButton("Удалить строку 3", 40, 180, 121, 25)
$count = GUICtrlCreateButton("Количество пунктов", 40, 210, 121, 25)
$add = GUICtrlCreateButton("Добавить пункт", 40, 240, 121, 25)
$insert = GUICtrlCreateButton("Вставить в позицию", 40, 270, 121, 25)
$color = GUICtrlCreateButton("Изменить цвет", 40, 300, 121, 25)
$clear = GUICtrlCreateButton("Очистить список", 40, 330, 121, 25)
$mylist = GUICtrlCreateList("Отсчёт пунктов с 0", 180, 30, 190, 100, $GUI_SS_DEFAULT_LIST + $LBS_NOINTEGRALHEIGHT)
; стиль LBS_NOINTEGRALHEIGHT предотвращает изменение высоты кратно высоте пункта
; чтобы отключить сортировку в списке используйте стиль $WS_BORDER+$WS_VSCROLL+$LBS_NOINTEGRALHEIGHT
GUICtrlSetLimit(-1, 200) ; ограничить прокрутку по горизонтали
GUICtrlSetData(-1, $Message)
GUICtrlSetData(-1, 'Пункт 1|Пункт 2|Пункт 3|Текст', 'Пункт 2')
; $close = GUICtrlCreateButton("моя кнопка выхода", 180, 140, 190, 25)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
; Case $close
; MsgBox(4096, "", "Нажата кнопка закрытия", 2)
; Exit
Case $add
GUICtrlSetData($mylist, "Нажата кнопка ""Добавить""|")
Case $clear
GUICtrlSetData($mylist, "")
Case $index
$tmp = GUICtrlSendMsg($mylist, $LB_GETCURSEL, 0, 0)
MsgBox(4096, 'Текст выделенного пункта', $tmp, 0, $hGUI)
Case $read
$tmp = GUICtrlRead($mylist)
MsgBox(4096, 'Текст выделенного пункта в списке', $tmp, 0, $hGUI)
Case $setsel
GUICtrlSendMsg($mylist, $LB_SETCURSEL, 4, 0)
Case $count
$tmp = GUICtrlSendMsg($mylist, $LB_GETCOUNT, 0, 0)
MsgBox(4096, 'Количество пунктов в списке', $tmp, 0, $hGUI)
Case $select
GUICtrlSendMsg($mylist, $LB_SELECTSTRING, 0, 'Пункт 1')
Case $find_string
$tmp = GUICtrlSendMsg($mylist, $LB_FINDSTRINGEXACT, 0, 'Пункт 3')
MsgBox(4096, 'Найдена точная строка в списке - Пункт 3', 'Индекс = ' & $tmp, 0, $hGUI)
Case $del_item
$tmp = GUICtrlSendMsg($mylist, $LB_DELETESTRING, 3, 0)
Case $insert
GUICtrlSendMsg($mylist, $LB_INSERTSTRING, 3, 'Вставлен в позицию 3')
Case $color
GUICtrlSetBkColor($mylist, 0xCCCC99)
EndSwitch
WEnd