程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB6 >> 實現窗體的自動隱藏顯示功能

實現窗體的自動隱藏顯示功能

編輯:VB6

現在許多程序的窗體都有自動隱藏/顯示的功能(比如OICQ)。 實現這樣的功能其實很簡單,原理是:判斷鼠標是否移到了屏幕的最左邊或最右邊,如果移到了則顯示窗體,如果鼠標移開了窗體則隱藏窗體。在本程序中,我們將用到GetCursorPos這個API函數是實現這個功能最重要的一步,這個函數的作用就是獲取當前鼠標的坐標值,我們可以通過這個值來判斷鼠標是否移到了屏幕的最邊緣.下面我們就開始吧。

新建一窗體,將Form1更名為AutoHide將vbBorderStyle屬性設置為4-Fixed ToolWindow這樣就不能改變窗體的大小,ScaleMode屬性設置為2-Point。加入一個Timer控件,將Interval的值設為1。

再新建一個模塊,輸入如下代碼:

 Public Declare Function GetCursorPos Lib "user32" lpPoint As POINTAPI As Long Type POINTAPI x As Long y As Long End Type

該代碼則是用於聲明GetCursorPos這個API函數的。這個API函數可以在VB6中自帶的“API 浏覽器”中查找到。

在AutoHide窗體中,輸入如下代碼:

Dim Mouse As POINTAPI '這句代碼在聲明部分中加入

Private Sub Form_Load

AutoHide.Height = Screen.Height '使窗體高度與屏幕高度相同 '調整窗體的顯示位置

AutoHide.Top = 0 AutoHide.Left = 0 - AutoHide.Width + 50 '使窗體在屏幕的最左邊顯示並顯示出一小部分窗體此時為收縮狀態

End Sub

Private Sub Timer1_Timer

a = GetCursorPosMouse

If Mouse.x = 0 Then '鼠標移到了屏幕的最左邊x為屏幕的縱坐標,當縱坐標為0時,表示鼠標已經移到了最左邊,因此這是最關鍵的一步

AutoHide.Left = 0 '使窗體居左顯示

End If

If Mouse.x > AutoHide.ScaleWidth Then '如果鼠標沒有在窗體之上則隱藏窗體.

注意:窗體的ScaleMode屬性一定要設置為2-Point,否則達不到隱藏的效果

AutoHide.Left = 0 - AutoHide.Width + 50 '如果前面沒有加上50這裡也不加上。

End If

End Sub

好了,單擊F5運行一下就可以看到我們的效果了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved