OICQ chats automatically hides the function. It can be implemented very simply with VC or CBC. I saw an example in which I have implemented using the CBC. I want to use VB to implement the control. The Form's MouseMove event cannot trigger well, so I have to use the following stupid approach, now put the code, on the form, I need to put a Timer control, the interval property is 200. Everyone is a good opinion, you may wish to get it, let me learn.
Option expedition
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As LongPrivate Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As LongPrivate 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 AS Long Top As Long Right As Long Bottom As LONGEND TYPRIVATE TYPE POINTAPI X as long y as longend type
Private Const HWND_TOPMOST = -1Private Const SWP_NOSIZE = & H1Private Const SWP_NOMOVE = & H2Private Const HWND_TOP = 0Private Const SWP_NOACTIVATE = & H10Private Const SWP_SHOWWINDOW = & H40
Private sub flowowpos me.hwnd, hwnd_topmost, 0, 0, 0, 0, swp_showwindow or swp_nomove or swp_nosizend subove 0
PRIVATE SUB TIMER1_TIMER () DIM P AS POINTAPI DIM F AS Rect GetCursorpos P 'Get the Mouse Location GetWindowRect Me.hWnd, F' Gets the Forms IF Me.WindowState <> 1 THEN IF PX> F.L.L.L.L.L.L.Eft and PX