Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Как получить индекс текущего элемента GUICtrlCreateListView (http://forum.oszone.net/showthread.php?t=153632)

malev 19-10-2009 12:17 1246829

Как получить индекс текущего элемента GUICtrlCreateListView
 
Как получить индекс текущего элемента GUICtrlCreateListView? перерыл всю справку но не нашел, вроде простой должен быть ответ

kaster 19-10-2009 13:31 1246897

может
Код:

GUICtrlRead(ListViewItemID)
?

malev 19-10-2009 15:41 1247008

нет, если под ListViewItemID подразумевается идентификатор ListView то возвращается номер контрола по порядку а не индекс если подразумевается числовой идентификатор строки ListView то возвращается ее(строки) текстовое значение.

kaster 19-10-2009 15:56 1247020

а что такое текущий элемент? выделенная строка?
посмотри в хелпе
Код:

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 1247564

Возможно неправильно выразился, нужен индекс выделенной строки, в твоем примере это видимо индекс столбца.

malev 20-10-2009 10:35 1247645

_GUICtrlListView_GetHotItem($listview) - сам все таки нашел.


Время: 15:55.

Время: 15:55.
© OSzone.net 2001-