ToolTip . |
Option Compare Database Private Type tRect Left As Long Top As Long Right As Long Bottom As Long End Type '----------------------------- Private Type TToolInfo cbSize As Long uFlags As Long hwnd As Long uId As Long rect As tRect hinst As Long lpszText As String lParam As Long End Type '----------------------------- Private Const WM_USER As Long = &H400 Private Const TTM_ADDTOOLA As Long = WM_USER + 4 Private Const TTM_TRACKACTIVATE As Long = WM_USER + 17 Private Const TTM_TRACKPOSITION As Long = WM_USER + 18 Private Const TTM_SETTITLE As Long = WM_USER + 32 Private Const TTS_NOPREFIX As Long = &H2 Private Const TTS_BALLOON As Long = &H40 Private Const TTF_TRACK As Long = &H20 Private Const TTI_INFO As Long = 1 Private Const TTS_CLOSE As Long = &H80 '----------------------------- Private Const FTooltipClassName As String = "tooltips_class32" Private FHandle As Long Private FToolInfo As TToolInfo Private Const GWL_WNDPROC = (-4) Private Const GWL_HINSTANCE = (-6) Private Const WS_EX_TOPMOST As Long = &H8& Private Declare Function GetFocus Lib "user32" () As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long Private Declare Function GetWindowRect Lib "user32.dll" (ByVal hwnd As Long, ByRef lpRect As tRect) As Long Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As tRect) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal Msg As Long, ByVal wp As Long, lp As Any) As Long '---------------------------------------- Private Sub 1_Click() Dim hWndParent As Long Dim hInstance As Long Dim EditRect As tRect Const TooltipText As String = " " Const TooltipTitle As String = "" ' , tooltip Call 1.SetFocus hWndParent = GetFocus() ' tooltip' hInstance = GetWindowLong(Application.hWndAccessApp, GWL_HINSTANCE) FHandle = CreateWindowEx(WS_EX_TOPMOST, _ FTooltipClassName, 0&, _ TTS_NOPREFIX Or TTS_BALLOON Or TTS_CLOSE, _ 0, 0, 0, 0, hWndParent, 0, hInstance, 0) ' Or TTS_CLOSE, With FToolInfo .cbSize = Len(FToolInfo) .uFlags = TTF_TRACK .hwnd = hWndParent Call GetClientRect(.hwnd, .rect) .rect.Top = 500 .rect.Bottom = .rect.Top + 100 .lpszText = TooltipText End With Call SendMessage(FHandle, TTM_ADDTOOLA, 0, FToolInfo) Call SendMessage(FHandle, TTM_SETTITLE, TTI_INFO, ByVal TooltipTitle) ' tooltip Call GetWindowRect(hWndParent, EditRect) Call SendMessage(FHandle, TTM_TRACKPOSITION, 0, ByVal (EditRect.Left + 1) Or ((EditRect.Top + 1) * 65536)) Call SendMessage(FHandle, TTM_TRACKACTIVATE, True, FToolInfo) End Sub