我们可以利用ListBox属性得知ListBox的选项,但是当鼠标移到某个选项上面(但还没有选取),如何得知此选项呢?方法是对ListBox送出lb_itemfrompoint信息,细节如下:
1、API的声明
const lb_itemfrompoint=&h1a9
private declare function SendMessage Lib"user32"alias"SendMessagea"(byval hwnd as long,byval wmsg as long,byval wparam as long,lparam as any)as long
注意:如果以上的声明放在“般模块”底下,应在const之前加上public保留字,并且将private保留字去掉。
2、程序范例
在表单上布置个TextBox及个ListBox,然后利用mousemove事件程序来检测鼠标所在位置的选项:
private sub list1_mousemove(Button as integer,shift as integer,x as single,y as single)
dim pos as long,idx as long
pos=x/screen.twipsperpixelx+y/screen.twipsperpixely * 65536
idx:SendMessage(list1.hwnd,lb_itemfrompoint,O,byval pos)
'idx即等于鼠标所在位置的选项
if idx<65536 then Text1.Text=list1.list(idx)
end sub