象QQ窗体一样隐藏

原创 2007年10月07日 16:09:00
新建一个标准EXE工程,在一窗体中添加代码,最好把窗体的StartUpPosition属性设置为3:
Option Explicit
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) 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_TOP, 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.WindowState <> 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

 

C#像QQ一样隐藏窗体

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...
  • haoduo123456789001
  • haoduo123456789001
  • 2016年04月07日 09:56
  • 405

C# 实现像QQ一样隐藏窗体

可以在屏幕四周自动隐藏窗体
  • haoduo123456789001
  • haoduo123456789001
  • 2016年06月22日 15:56
  • 612

如何模拟一个象窗体一样的控件(标题栏、焦点、拖动、改变大小、关闭等等)

     用过SQL Server视图设计或Access查询设计的都见过这样的控件,控件外形象一个窗体,有边框、标题栏、图标、关闭按钮,可拖动、改变大小等等     我前一段时间在做一个自定义查询,想...
  • sor
  • sor
  • 2002年06月13日 13:29
  • 751

C# 实现类似QQ的窗体在桌面边缘停靠和隐藏

设计思路: 1.使用定时器(Timer)来监控鼠标位置和窗体位置,并实现窗体的停靠和隐藏 2.当鼠标拖动窗体时,窗体才有可能根据自身位置决定是否停靠 3.如果窗体四周没有接触到屏幕边缘则不会停靠 4....
  • dufangfeilong
  • dufangfeilong
  • 2014年12月05日 17:23
  • 1776

Qt实现窗体在显示屏旁边自动隐藏(类似QQ)

Qt实现窗体在显示屏旁边自动隐藏(类似QQ)看群里有人问这个东西,本人先来无事编以自己的想法实现了下: 其实实现的点子很简单:void AutoHideWidget::leaveEvent(QEve...
  • q862343646
  • q862343646
  • 2016年12月09日 10:45
  • 1456

Java实现窗体隐藏,功能类似于QQ窗口自动隐藏

自己写java程序从开始接触到现在有近两年的时间了,一直还没有怎么接触到j2ee方面的知识,比如说那些常用的框架(struts、spring、hibernate),自己都还没接触过。最近做项目又做到与...
  • ycb1689
  • ycb1689
  • 2012年04月16日 11:38
  • 957

象QQ一样的自动伸缩菜单

象QQ一样的自动伸缩菜单 源作者:追风                   人气:17226  员工:系统管理员 工作目录 5      客户服务      客户管理      项目管理      合...
  • rmzhang33
  • rmzhang33
  • 2004年09月15日 18:53
  • 2647

象qq一样弹出的代码

.popup{ font-size:9pt; width: 229px; height: 54px; border: 1px solid #0A246A; filter: Alpha(opacity=...
  • nscoo
  • nscoo
  • 2005年07月09日 00:15
  • 532

浅谈如何利用PB实现仿QQ自动显示/隐藏窗口(原创)

作者:BALLOONMAN2002  2004年6月26日本文拟结合POWERBUILDER语言,简述如何实现类似QQ的自动显示/隐藏窗口,即:鼠标移入时自动弹出窗口,鼠标移出后自动隐藏窗口,同时当隐...
  • balloonman2002
  • balloonman2002
  • 2004年06月25日 21:48
  • 4385

Web的桌面提醒(Popup,类似msn,outlook等的信息提示)

1.PopupBox下载/Files/singlepine/PopupBox.rar--------------------------------------------------------2....
  • whfyc
  • whfyc
  • 2006年12月19日 15:48
  • 467
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:象QQ窗体一样隐藏
举报原因:
原因补充:

(最多只允许输入30个字)