Что нового

Перемещение к выделенному пункту списка

saraconor

Новичок
Сообщения
404
Репутация
3
Код:
#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()

Вопрос решен.
 
Верх