VB中實現窗體自動隱藏 (轉)
OICQ時的窗體自動隱藏功能,用或CBC都可以很簡單地實現,前幾天看到有一則用CBC實現的例子,便想用VB實現一下,可惜當窗體上放滿時,FORM的MOUSEMOVE事件不能很好地觸發,所以只好用以下的笨辦法,現把程式碼貼上,窗體上需放一TIMER控制元件,Interval屬性為200。大夥如有好的意見,不妨貼出來,讓我學習學習。
Option Explicit
Private Declare Function GetCursorPLib "user32" (lpPoint As POINT) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Const HWND_TOPMOST = -1
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const HWND_TOP = 0
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_SHOWWINDOW = &H40
Private Sub Form_Load()
'窗體放在最前面
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End Sub
Private Sub Timer1_Timer()
Dim p As POINTAPI
Dim f As RECT
GetCursorPos p '得到MOUSE位置
GetWindowRect Me.hwnd, f '得到窗體的位置
If Me.tate <> 1 Then
If p.X > f.Left And p.X < f.Right And p.Y > f.Top And p.Y < f.Bottom Then
'MOUSE 在窗體上
If Me.Top < 0 Then
Me.Top = -10
Me.Show
ElseIf Me.Left < 0 Then
Me.Left = -10
Me.Show
ElseIf Me.Left + Me.Width >= Screen.Width Then
Me.Left = Screen.Width - Me.Width + 10
Me.Show
End If
Else
If f.Top <= 4 Then
Me.Top = 40 - Me.Height
ElseIf f.Left <= 4 Then
Me.Left = 40 - Me.Width
ElseIf Me.Left + Me.Width >= Screen.Width - 4 Then
Me.Left = Screen.Width - 40
End If
End If
End If
End Sub
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1003055/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- chrome,firfox,IE實現隱藏滾動條但是可以正常滾動(瀏覽器自帶隱藏屬性實現)Chrome瀏覽器
- 如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?
- Vue實現浮動按鈕元件 - 頁面滾動時自動隱藏 - 可拖拽Vue元件
- 如何在Windows下啟動Koa並隱藏視窗Windows
- 一款可以自動隱藏的視窗管理工具:Slidepad Mac版IDEMac
- 啟動按ctrl鍵 遮蔽自動隱藏功能
- css實現隱藏滾動條並可以滾動內容CSS
- 在Linux上實現將檔案隱藏到影像中Linux
- Ubuntu 20.04 自動隱藏左側導航欄Ubuntu
- jQuery 實現顯示與隱藏效果jQuery
- vxe-table 實現指定列預設是隱藏,點選重置自動還原狀態
- 3種方法實現CSS隱藏滾動條並可以滾動內容CSS
- CSS 實現 : 滑鼠移動上去顯示 div,移開隱藏 divCSS
- FloatingActionButton在RecycleView中滑動隱藏顯示View
- vue中點選空白處隱藏div的實現(用指令優雅的實現)Vue
- 鴻蒙(HarmonyOS)實現隱私政策彈窗鴻蒙
- css隱藏滾動條CSS
- Flutter 滑動列表隱藏頭部 ListView+TabBar懸浮的實現FlutterViewtabBar
- 教你三種jQuery框架實現元素顯示及隱藏動畫方式jQuery框架動畫
- 夯實Java基礎系列2:Java自動拆裝箱裡隱藏的秘密Java
- Windows 任務計劃隱藏顯示黑視窗Windows
- Winform MessageBox訊息彈窗如何實現自動關閉ORM
- OSX中隱藏和顯示[隱藏檔案]的命令列命令列
- C#中實現窗體間傳值方法C#
- 眼見為實,看看MySQL中的隱藏列!MySql
- winform動態生成窗體並實現傳值返回ORM
- IP軟體如何隱藏真實IP地址技術!
- WAV音訊檔案中隱藏惡意軟體音訊
- js下拉框實現div顯示和隱藏JS
- 訂單自動過期實現方案 - 轉
- 在 Laravel 中動態 隱藏 / 顯示 API 欄位LaravelAPI
- C#實現窗體全屏C#
- WinForm下實現子窗體ORM
- C# 顯示、隱藏視窗對應的工作列C#
- C#/VB.NET 實現Word和ODT文件相互轉換C#
- 隱藏滾動條保留滾動效果
- .NET 5 中的隱藏特性
- 4671.122自動隱藏至底部, 07視窗, 8快捷鍵,15首選項,5選項,T3選單欄
- 文字超出容器長度自動隱藏並且顯示省略號