home *** CD-ROM | disk | FTP | other *** search
- VERSION 2.00
- Begin Form frmQuickHelp
- BorderStyle = 0 'None
- ClientHeight = 240
- ClientLeft = 2508
- ClientTop = 2964
- ClientWidth = 4764
- FontBold = -1 'True
- FontItalic = 0 'False
- FontName = "MS Sans Serif"
- FontSize = 9.6
- FontStrikethru = 0 'False
- FontUnderline = 0 'False
- Height = 660
- Left = 2460
- LinkTopic = "Form2"
- MaxButton = 0 'False
- MinButton = 0 'False
- ScaleHeight = 20
- ScaleMode = 3 'Pixel
- ScaleWidth = 397
- Top = 2592
- Visible = 0 'False
- Width = 4860
- Begin CBVBX CBVBX2
- CBType = 0 'AbortProc
- Left = 0
- Top = 0
- End
- Begin CBVBX CBVBX3
- CBType = 0 'AbortProc
- Left = 0
- Top = 0
- End
- Begin Timer Timer1
- Left = 1380
- Top = 60
- End
- Begin CBVBX CBVBX1
- CBType = 16 ' 16 - WndProc
- Left = 0
- Top = 0
- End
- Begin Label DisplayText
- AutoSize = -1 'True
- BackColor = &H0000FFFF&
- BorderStyle = 1 'Fixed Single
- FontBold = 0 'False
- FontItalic = 0 'False
- FontName = "MS Sans Serif"
- FontSize = 7.8
- FontStrikethru = 0 'False
- FontUnderline = 0 'False
- Height = 216
- Left = -12
- TabIndex = 1
- Top = 0
- Width = 3984
- WordWrap = -1 'True
- End
- Begin Label Text
- Alignment = 2 'Center
- AutoSize = -1 'True
- BackColor = &H0000FFFF&
- BorderStyle = 1 'Fixed Single
- Caption = "Label1"
- FontBold = 0 'False
- FontItalic = 0 'False
- FontName = "MS Sans Serif"
- FontSize = 7.8
- FontStrikethru = 0 'False
- FontUnderline = 0 'False
- Height = 228
- Left = 240
- TabIndex = 0
- Top = 0
- Visible = 0 'False
- Width = 1872
- WordWrap = -1 'True
- End
- Option Explicit
- Sub CBVBX1_WndProc (hWnd As Integer, wmsg As Integer, wparam As Integer, lparam As Long, retval As Long)
- If wmsg = WM_ERASEBKGND Then
- retval = 0
- End If
- End Sub
- Sub CBVBX2_HookProc (Code As Integer, wparam As Integer, lparam As Long, retval As Long)
- retval = CallNextHookEx(CBVBX2.hHook, Code, wparam, lparam)
- CBVBX2.SystemHook = -2
- CBVBX3.SystemHook = -2
- GlobalControlRect.Left = 0
- GlobalControlRect.Right = 0
- GlobalControlRect.Top = 0
- GlobalControlRect.Bottom = 0
- frmQuickHelp.Visible = False
- End Sub
- Sub CBVBX3_HookProc (Code As Integer, wparam As Integer, lparam As Long, retval As Long)
- Dim mhs As MOUSEHOOKSTRUCT
- If wparam = WM_MOUSEMOVE Then
- TypeAtAdress mhs, ByVal lparam, Len(mhs)
- If mhs.x < GlobalControlRect.Left Or mhs.x >= GlobalControlRect.Right Or mhs.y < GlobalControlRect.Top Or mhs.y >= GlobalControlRect.Bottom Then
- frmQuickHelp.Timer1.Interval = 0
- GlobalControlRect.Left = 0
- GlobalControlRect.Right = 0
- GlobalControlRect.Top = 0
- GlobalControlRect.Bottom = 0
- frmQuickHelp.Visible = False
- retval = CallNextHookEx(CBVBX3.hHook, Code, wparam, lparam)
- CBVBX2.SystemHook = -2
- CBVBX3.SystemHook = -2
- Exit Sub
- End If
- Else
- Select Case wparam:
- Case WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK, WM_MBUTTONDOWN, WM_MBUTTONUP, WM_MBUTTONDBLCLK, WM_RBUTTONDOWN, WM_RBUTTONUP, WM_RBUTTONDBLCLK:
- frmQuickHelp.Timer1.Interval = 0
- GlobalControlRect.Left = 0
- GlobalControlRect.Right = 0
- GlobalControlRect.Top = 0
- GlobalControlRect.Bottom = 0
- frmQuickHelp.Visible = False
- retval = CallNextHookEx(CBVBX3.hHook, Code, wparam, lparam)
- CBVBX2.SystemHook = -2
- CBVBX3.SystemHook = -2
- Exit Sub
- End Select
- End If
- retval = CallNextHookEx(CBVBX3.hHook, Code, wparam, lparam)
- End Sub
- Sub Form_Load ()
- CBVBX1.MsgProcess(WM_ERASEBKGND) = MSG_EAT
- CBVBX1.SubclassWnd = Me.hWnd
- End Sub
- Sub Timer1_Timer ()
- Dim dummy
- Dim p As PointAPI
- If Timer1.Interval <> 0 Then
- Timer1.Interval = 0
- If Not IsNull(Text) Then
- If Len(Text) Then
- If HasFocus(win) Then
- DisplayText = Text
- DisplayText.Left = 0
- DisplayText.Top = 0
- Text = ""
- UpdateWindow Me.hWnd
- If Not Me.Visible Then
- GetCursorPos p
- If p.x >= GlobalControlRect.Left And p.x < GlobalControlRect.Right And p.y >= GlobalControlRect.Top And p.y < GlobalControlRect.Bottom Then
- Me.Left = p.x * Screen.TwipsPerPixelX
- Me.Top = (p.y + 17) * Screen.TwipsPerPixelX
- SetWindowPos Me.hWnd, HWND_TOPMOST, p.x, p.y, 0, 0, SWP_NOSIZE Or SWP_SHOWWINDOW Or SWP_NOACTIVATE
-
- CBVBX2.SystemHook = WH_KEYBOARD
- CBVBX3.SystemHook = WH_MOUSE
- End If
- End If
- End If
- End If
- End If
- End If
- End Sub
-