象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

 

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

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

C#像QQ一样隐藏窗体

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...

模仿qq屏幕四周隐藏窗体

import java.awt.Point; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java....

C#实现类似QQ的隐藏浮动窗体、消息闪动

功能简介   当语音客服系统登录成功进入主界面时,本聊天工具将会自动隐藏在左下角位置,当鼠标移动到左下角时,自动弹出,当鼠标移开聊天窗体时,自动隐藏。如果想让聊天窗体固定在桌面,只要拖动一下聊天窗口...

能贴边隐藏的窗体,类似QQ

  • 2008年05月04日 01:59
  • 4KB
  • 下载

winform实现任务栏隐藏、通知栏图标及右键、类似QQ隐藏窗体等功能

1。第一个功能是任务栏隐藏。winform下有个属性showintaskbar。直接改为false即可。 2。第二个功能是添加通知栏图标。有个控件为notifyicon,直接拉过来,添加图标即可。 3...

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

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

仿QQ窗体自动隐藏.pas

  • 2012年09月11日 17:26
  • 5KB
  • 下载

C#WinForm仿qq窗体拖到windows窗体边上时,自动隐藏C#WinForm

C#WinForm仿qq窗体拖到windows窗体边上时,自动隐藏C#WinForm。代码:     public partial class Form1 : Form { ...

仿QQ抽屉式窗体及右下角快速启动图标

来源:C#编程宝典 16.03using System;using System.Collections.Generic;using System.ComponentModel;using Syste...
  • sam1012
  • sam1012
  • 2011年05月27日 15:25
  • 1154
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:象QQ窗体一样隐藏
举报原因:
原因补充:

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