PDA

Показать полную графическую версию : [решено] Как получить индекс текущего элемента GUICtrlCreateListView


malev
19-10-2009, 12:17
Как получить индекс текущего элемента GUICtrlCreateListView? перерыл всю справку но не нашел, вроде простой должен быть ответ

kaster
19-10-2009, 13:31
может
GUICtrlRead(ListViewItemID)
?

malev
19-10-2009, 15:41
нет, если под ListViewItemID подразумевается идентификатор ListView то возвращается номер контрола по порядку а не индекс если подразумевается числовой идентификатор строки ListView то возвращается ее(строки) текстовое значение.

kaster
19-10-2009, 15:56
а что такое текущий элемент? выделенная строка?
посмотри в хелпе

GUICtrlCreateListViewItem


там есть пример

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Opt('MustDeclareVars', 1)

Example()

Func Example()
Local $listview, $button, $item1, $item2, $item3, $input1, $msg

GUICreate("listview items", 220, 250, 100, 200, -1, $WS_EX_ACCEPTFILES)
GUISetBkColor(0x00E0FFFF) ; will change background color

$listview = GUICtrlCreateListView("col1 |col2|col3 ", 10, 10, 200, 150);,$LVS_SORTDESCENDING)
$button = GUICtrlCreateButton("Value?", 75, 170, 70, 20)
$item1 = GUICtrlCreateListViewItem("item2|col22|col23", $listview)
$item2 = GUICtrlCreateListViewItem("............item1|col12|col13", $listview)
$item3 = GUICtrlCreateListViewItem("item3|col32|col33", $listview)
$input1 = GUICtrlCreateInput("", 20, 200, 150)
GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; to allow drag and dropping
GUISetState()
GUICtrlSetData($item2, "|ITEM1")
GUICtrlSetData($item3, "||COL33")
GUICtrlDelete($item1)

Do
$msg = GUIGetMsg()

Select
Case $msg = $button
MsgBox(0, "listview item", GUICtrlRead(GUICtrlRead($listview)), 2)
Case $msg = $listview
MsgBox(0, "listview", "clicked=" & GUICtrlGetState($listview), 2)
EndSelect
Until $msg = $GUI_EVENT_CLOSE
EndFunc ;==>Example

попробуй кликнуть по столбцу, не это ли нужно?

malev
20-10-2009, 08:40
Возможно неправильно выразился, нужен индекс выделенной строки, в твоем примере это видимо индекс столбца.

malev
20-10-2009, 10:35
_GUICtrlListView_GetHotItem($listview) - сам все таки нашел.




© OSzone.net 2001-2012