Код:
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
global $i = 0, $hListView
GUICreate("Выделяет пункт", 400, 300)
$hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
GUISetState()
_GUICtrlListView_AddColumn($hListView, "Пункты", 100)
Do
_GUICtrlListView_AddItem($hListView, "Пункт")
$i = $i + 1
until $i = 40
_GUICtrlListView_SetItemSelected($hListView, 21)
Do
sleep(10)
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
Как можно в этом случае переместить скроллер в место где находится выбранный пункт списка?
Есть _GUICtrlListView_Scroll, но там не пукнт списка а величина прокручивания в пикселях, как тогда определить на сколько пикселей надо прокрутить до выделенного пукнта?
Код:
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
global $i = 0, $hListView
global $ST = 40
GUICreate("Выделяет пункт", 400, 300)
$hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
GUISetState()
_GUICtrlListView_AddColumn($hListView, "Пункты", 100)
Do
_GUICtrlListView_AddItem($hListView, "Пункт")
$i = $i + 1
until $i = 100
;~ _GUICtrlListView_SetItemSelected($hListView, 21)
$CR = _GUICtrlListView_GetItemPositionY($hListView, $ST)
_GUICtrlListView_Scroll($hListView, '' , $CR)
_GUICtrlListView_SetItemSelected($hListView, $ST)
Do
sleep(10)
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
Вопрос решен.