![]() ![]() |
|
获得MouseLeave的方法 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:48:09 文章录入:杜斌 责任编辑:杜斌 | |
|
|
在标准EXE工程中缺省创建一个TextBox,然后键入以下代码: Option Explicit ’申明API函数—— Private Declare Function SetCapture Lib "user32" (ByVal hWnd As Long) As Long Private Declare Function ReleaseCapture Lib "user32" () As Long ’通过Text1的MouseMove事件判断鼠标指针位置 Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim MouseLeave As Boolean MouseLeave = (0 <= X) And (X <= Text1.Width) And (0 <= Y) And (Y <= Text1.Height) If MouseLeave Then Text1 = "Inside" SetCapture Text1.hWnd Else Text1 = "Outside" ReleaseCapture End If End Sub 运行程序,把鼠标移到Text1,Text1显示:Inside,移开则显示:Outside,可见已经达到目的了。 此法适合于一切具有hWnd属性的控件(如下所列): ProgressBar控件,Slider控件,StatusBar控件,TabStrip控件,ToolbarControl,Animation控件,UpDown控件,DBCombo控件,DBList控件,SSTab控件,PicturtClip控件,RichTextBox控件,PropertyPage对象,UserControl对象,UserDocument对象,CheckBox控件,ComboBox控件,CommandButton控件,DirListBox控件,DriveListBox控件,FileListBox控件,Form对象,Forms集合,Frame控件,HscrollBar,VScrollBar控件,ListBox控件,MDIForm对象,OptionButton控件,PictureBox控件,TextBox控件,OLEContainer控件。 |
|
![]() ![]() |