📄 tips05.asp
字号:
<!-- #include virtual="/kjasp/func/DB.fun" -->
<% mdbFile = "../UsersPwd.mdb" %>
<!-- #include file="../Login.asp" -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>在 ListBox 之中, 如何检测鼠标所在位置的选项?</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<META NAME="Author" CONTENT="KJ Wang">
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (Win95; I) [Netscape]">
</HEAD>
<BODY BACKGROUND="backqa.jpg">
<H2 ALIGN=CENTER>
<HR>在 ListBox 之中, 如何检测鼠标所在位置的选项?
<HR WIDTH="100%"></H2>
<UL>
<P>我们可以利用 ListIndex 属性得知 ListBox 的选项, 但是当鼠标移到某一个选项上面(但还没有选取),如何得知此一选项呢?方法是对
ListBox 送出 LB_ITEMFROMPOINT 讯息, 细节如下:</P>
<P>1. API 的定义:</P>
<UL>
<P>Const LB_ITEMFROMPOINT = &H1A9 <BR>
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 <BR>
<BR>
<FONT COLOR="#008000">注:如果以上的定义放在「一般模组」底下, 应在 Const
之前加上 Public 保留字, 并且将 Private 保留字去掉。</FONT></P>
</UL>
<P>2. 调用例:(在表单上布置一个 TextBox 及一个 ListBox, 然后利用 MouseMove
事件程序来检测鼠标所在位置的选项)</P>
<UL>
<PRE><FONT SIZE=+1>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
<FONT COLOR="#0000FF">idx = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, ByVal pos)
</FONT> ' idx 即等于鼠标所在位置的选项
If Idx < 65536 Then Text1.Text = List1.List(idx)
End Sub</FONT>
</PRE>
</UL>
</UL>
<DIV ALIGN=right><P>
<HR WIDTH="100%"><A HREF="http://www.kj.com.tw" Target="_top">学 VB(Visual
Basic) 找王国荣</A></P></DIV>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -