zhongxinily 发表于 2010-9-8 18:16:52

如何返回使用ControlListView 所选择的控件坐标

各位大虾们:
小弟想请教下:
1.在使用ControlListView 选定控件中某一项目之后,有没有办法能够返回这个选定项目的X,Y坐标? 无论是相对的还是绝对....谢谢了 各大哥大姐.

shenrenba 发表于 2010-9-8 18:39:58


#Include <GuiListView.au3>
$Index = _GUICtrlListView_GetSelectedIndices($ListView1)
If Not StringLen($Index) Then Return
$a = _GUICtrlListView_GetSelectedIndices($ListView1)
$b = _GUICtrlListView_GetItemTextString($ListView1, Number($a))
$chaifen = StringSplit($b, "|")
MsgBox(0,"点击的ListView内容-假设为3列",$chaifen&@CRLF&$chaifen&@CRLF&$chaifen)

3mile 发表于 2010-9-8 19:44:47

#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>

Opt('MustDeclareVars', 1)

$Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work

_Main()

Func _Main()
        Local $aRect, $hListView
       
        GUICreate("ListView Get Item Rectangle", 400, 300)
        $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
        GUISetState()

        ; Add columns
        _GUICtrlListView_AddColumn($hListView, "Items", 100)

        ; Add items
        _GUICtrlListView_AddItem($hListView, "Item 1")
        _GUICtrlListView_AddItem($hListView, "Item 2")
        _GUICtrlListView_AddItem($hListView, "Item 3")

        ; Get item 2 rectangle
        $aRect = _GUICtrlListView_GetItemRect($hListView, 1)
        MsgBox(4160, "Information", StringFormat("Item 2 Rectangle : [%d, %d, %d, %d]", $aRect, $aRect, $aRect, $aRect))

        ; Loop until user exits
        Do
        Until GUIGetMsg() = $GUI_EVENT_CLOSE
        GUIDelete()
EndFunc   ;==>_Main

xsjtxy 发表于 2010-9-8 20:26:00


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

$hListView = ControlGetHandle("Program Manager","FolderView","SysListView321")
$i=0
dim $z="桌面图标坐标"
While 1
$aRect = _GUICtrlListView_GetItemRect($hListView, $i)
if $aRect = 0 and $aRect = 0 and $aRect = 0 then exitloop
$z = $z&@CR&ControlListView("Program Manager","FolderView","SysListView321","GetText",$i)&"坐标="&$aRect&","&$aRect

&","&$aRect&","&$aRect
$i=$i+1
WEnd

MsgBox(0, "桌面共"&$i+1&"个图标",$z)

zhongxinily 发表于 2010-9-8 21:38:46

谢谢各位了 ,慢慢研究下。嘿嘿
页: [1]
查看完整版本: 如何返回使用ControlListView 所选择的控件坐标