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

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

編輯:VB綜合教程

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

  新建一窗體,將Form1更名為AutoHide熃玽bBorderStyle屬性設置為4-Fixed ToolWindow熣庋就不能改變窗體的大小牐琒caleMode屬性設置為2-Point。加入一個Timer控件,將Interval的值設為1。

  再新建一個模塊,輸入如下代碼: Public Declare Function GetCursorPos Lib "user32" 焞pPoint 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烳ouse If Mouse.x = 0 Then '鼠標移到了屏幕的最左邊焫為屏幕的縱坐標,當縱坐標為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