怎样使用一个程序在屏幕的最上面当鼠标离开时它就不显示  碰它时就显示

解决方案 »

  1.   

    Option ExplicitPublic Declare Function WindowFromPoint Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
    Public Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
    Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As LongPublic Type POINTAPI
        X As Long
        Y As Long
    End TypePublic Type DGfor3
        ponX As Long
        ponY As Long
        MDC As Long
    End TypePublic Function MouseDC() As DGfor3
        On Error Resume Next
        Dim Cur As POINTAPI
        GetCursorPos Cur
        MouseDC.MDC = WindowFromPoint(Cur.X, Cur.Y)
        MouseDC.ponX = Cur.X
        MouseDC.ponY = Cur.Y
    End Function
    ==================================================
    在TIMER控件中看
    MouseDC.ponX
    MouseDC.ponY
    两项,如:
    if (mousedc.pony <=2) and (mousedc.ponx >300 and mousedc.ponx <600 ) then
       me.move me.left,me.top,200,200
    end if
      

  2.   

    类模块Option ExplicitType POINTAPI
            x As Long
            y As Long
    End TypeType RECT
        Left        As Long
        Top         As Long
        Right       As Long
        Bottom      As Long
    End TypeType APPBARDATA
            cbSize As Long
            hwnd As Long
            uCallbackMessage As Long
            uEdge As Long
            rc As RECT
            lParam As Long '  message specific
    End Type
    Declare Function SHAppBarMessage Lib "shell32.dll" (ByVal dwMessage As Long, pData As APPBARDATA) As Long
    Declare Function SetRect Lib "user32" (lpRect As RECT, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
    Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
    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
    Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As LongPublic Const WM_MOUSEMOVE = &H200
    Public Const WM_ACTIVATE = &H6
    Public Const WM_WINDOWPOSCHANGED = &H47Public Const ABE_BOTTOM = 3
    Public Const ABE_LEFT = 0
    Public Const ABE_RIGHT = 2
    Public Const ABE_TOP = 1
    Public Const ABM_ACTIVATE = &H6
    Public Const ABM_GETAUTOHIDEBAR = &H7
    Public Const ABM_GETSTATE = &H4
    Public Const ABM_GETTASKBARPOS = &H5
    Public Const ABM_NEW = &H0
    Public Const ABM_QUERYPOS = &H2
    Public Const ABM_REMOVE = &H1
    Public Const ABM_SETAUTOHIDEBAR = &H8
    Public Const ABM_SETPOS = &H3
    Public Const ABM_WINDOWPOSCHANGED = &H9
    Public Const ABN_FULLSCREENAPP = &H2
    Public Const ABN_POSCHANGED = &H1
    Public Const ABN_STATECHANGE = &H0
    Public Const ABN_WINDOWARRANGE = &H3Public Const SM_CXSCREEN = 0
    Public Const SM_CYSCREEN = 1Public Const HWND_TOP = 0
    Public Const HWND_TOPMOST = -1Public Const SWP_NOACTIVATE = &H10
    Public Const SWP_SHOWWINDOW = &H40