lixiaolong 发表于 2011-3-18 21:10:24

LISTBOX中如何实现鼠标滑过某一项自动高亮的问题(已解决)

本帖最后由 lixiaolong 于 2011-3-18 23:05 编辑

请问LISTBOX中如何实现鼠标滑过某一项就自动高亮?
GUICtrlComboBox是自动高亮的,但LISTBOX没有这个功能.

在官方搜索也没有找到,有个消息之类的也不会应用.

下面的是我搜索的
http://www.autoitx.com/forum.php?mod=viewthread&tid=16962&highlight=listbox

这里afan版主说,只要鼠标下面是listbox控件就_GUICtrlListBox_SetCurSel 选中,循环。
我还是不会,请大家帮帮忙.

love5173 发表于 2011-3-18 22:01:53

我不会 但是我表示我浏览过,加油lixiaolong

afan 发表于 2011-3-18 22:42:10

#include <GUIListBox.au3>

$hGui = GUICreate('listbox 划过选中', 280, 280)
$List = GUICtrlCreateList('', 0, 0, 280, 280, 0x00200000)
GUISetState()
For $i = 1 To 50
        GUICtrlSetData($List, '项目 - ' & $i)
Next

While 1
        If GUIGetMsg() = -3 Then Exit
        $aPos = GUIGetCursorInfo($hGui)
        If Not @error And $aPos = $List Then
                $x = _GUICtrlListBox_GetCurSel($List)
                $x_Point = _GUICtrlListBox_ItemFromPoint($List, 0, $aPos)
                If $x <> $x_Point Then _GUICtrlListBox_SetCurSel($List, $x_Point)
        EndIf
WEnd

lixiaolong 发表于 2011-3-18 23:04:56

回复 3# afan

谢谢afan版主,问题解决了.
又学了一招,真的感谢您了{:face (316):}

chenlu_ling 发表于 2011-3-18 23:12:31

又见afan出手。。。厉害!!{:face (190):}

lixiaolong 发表于 2011-3-20 21:59:40

回复 3# afan

今天终于写完了模仿系统自带的“运行”.
参考afan版主的代码自己修改了一些,再次感谢afan版主!

源码在http://www.autoitx.com/thread-17677-1-1.html(25楼)
页: [1]
查看完整版本: LISTBOX中如何实现鼠标滑过某一项自动高亮的问题(已解决)