autosonix 发表于 2009-5-19 14:01:42

请熟悉UI操作的朋友帮帮忙

本帖最后由 autosonix 于 2009-5-19 16:45 编辑

见下图,我使用ControlListView()来选择里面的任意一项,选择后确实是高亮了我想选择的项目,但焦点却依然还在另外一个上面,这样一来点击ok后选中的也并不是我想要的那个项目,而是虚框所在的项目,麻烦高手帮帮忙,解决一下了。谢谢!!!

顽固不化 发表于 2009-5-19 14:32:59

能给个源程序或附件就好研究了

autosonix 发表于 2009-5-19 14:37:51

本帖最后由 autosonix 于 2009-5-19 15:06 编辑

ControlFocus ( "Chip List", "", 1019 )
SelectListViewItem("Chip List",1019 ,"SN8P1819A")
Sleep(3000)
send("{ENTER}");回车后得到的并不是我想要选的的SN8P1819A,而是虚框中项目???


;param: 1 =->Window Name    ; 2 =->Control ID ; 3 =->Item Name
Func SelectListViewItem($WinName,$ControlID,$ItemName)
$ItemCount = ControlListView($WinName,"",$ControlID,"GetItemCount")
For $i = 1to $ItemCount Step 1      ;use Loop to find given Item Name
$ItemText = ControlListView($WinName,"",$ControlID,"GetText",$i-1)
if StringCompare($ItemName,$ItemText)=0 then
ControlListView ($WinName, "", $ControlID, "SelectClear");Clears the selection of all items.
ControlListView ($WinName, "", $ControlID, "Select",$i-1)      ;Selects given item.
Return
EndIf
Next
EndFunc

顽固不化 发表于 2009-5-19 14:40:00

那个,,呵呵,,能列出list的东西能分享一下吗?

autosonix 发表于 2009-5-19 14:46:01

你需要什么?

顽固不化 发表于 2009-5-19 15:10:22

其他不需要了,找了个替代品。Func SelectListViewItem($WinName, $ControlID, $ItemName)
        $ItemSelect = ControlListView($WinName, "", $ControlID, "FindItem",$ItemName)
        If $ItemSelect<>-1 Then
                ControlListView($WinName, "", $ControlID, "Select", $ItemSelect)
        EndIf
EndFunc   

autosonix 发表于 2009-5-19 15:13:08

呵呵,你是来学东西的嗦,那你能解决我的问题吗?

顽固不化 发表于 2009-5-19 15:16:47

感觉用了SelectClear后焦点会复原,郁闷

autosonix 发表于 2009-5-19 16:45:39

此问题为软件本身的问题,问题解决。
页: [1]
查看完整版本: 请熟悉UI操作的朋友帮帮忙