home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / vb_code2 / tool_wnd / vbqhelp.bas < prev    next >
BASIC Source File  |  1994-05-25  |  21KB  |  503 lines

  1. Option Explicit
  2.  
  3. Global Const MouseMove = 1
  4. Global Const MouseDown = 2
  5. Global Const MouseButton = 3
  6.  
  7. Global Const vbQHFalse = 1
  8. Global Const vbQHTrue = 2
  9.  
  10. Dim forced                  As Integer
  11. Dim loaded                  As Integer
  12. Dim sUsed                   As Integer
  13. Dim pUsed                   As Integer
  14. Dim qhloaded                As Integer
  15. 'Dim qvisible                As Integer
  16.  
  17. Dim MyStrings()             As String
  18. Dim ToolRecs()              As apiRect
  19. 'Dim tRect()                 As apiRect
  20.  
  21. Dim tRect()                 As apiRect
  22.  
  23. Declare Function GetCursor Lib "User" () As Integer
  24. Declare Function LoadCursor Lib "User" (ByVal hInstance As Integer, ByVal lpCursorName As Any) As Integer
  25. Declare Function DestroyCursor Lib "User" (ByVal hCursor As Integer) As Integer
  26.  
  27. Sub vbCopyTool (src As Control, trg As Control, Flag As Integer)
  28. Dim sep As Integer, i As Integer, rc As Integer
  29. Dim x As Integer, Y As Integer, dx As Integer, dy As Integer
  30. Dim temp$
  31. Dim tRect As apiRect
  32. Static tools As Integer
  33.     temp$ = src.Tag
  34.     If Len(temp$) Then
  35.         x = Val(temp$)
  36.         sep = InStr(temp$, ",")
  37.         temp$ = Right$(temp$, Len(temp$) - sep)
  38.         Y = Val(temp$)
  39.         sep = InStr(temp$, ",")
  40.         temp$ = Right$(temp$, Len(temp$) - sep)
  41.         dx = Val(temp$)
  42.         sep = InStr(temp$, ",")
  43.         temp$ = Right$(temp$, Len(temp$) - sep)
  44.         dy = Val(temp$)
  45.         GetWindowRect src.hWnd, tRect
  46.         trg.AutoRedraw = True
  47.         rc = StretchBlt(trg.hDC, x, Y, dx, dy, src.hDC, 0, 0, tRect.Right - tRect.Left, tRect.Bottom - tRect.Top, SrcCopy)
  48.         
  49.         trg.Refresh
  50.         trg.Picture = trg.Image
  51.         If Flag = vbQHTrue Then
  52.             If tools Then
  53.                 ReDim Preserve ToolRecs(UBound(ToolRecs) + 1)
  54.             Else
  55.                 ReDim ToolRecs(0)
  56.                 tools = True
  57.             End If
  58.             rc = (UBound(ToolRecs))
  59.             ToolRecs(rc).Left = x
  60.             ToolRecs(rc).Top = Y
  61.             ToolRecs(rc).Right = dx
  62.             ToolRecs(rc).Bottom = dy
  63.         End If
  64.     Else
  65.         MsgBox "Keine Position fⁿr Tool angegeben!", 4096
  66.     End If
  67. End Sub
  68.  
  69. Function vbGetCursorHeight () As Integer
  70. Dim hCur As Integer, rc As Integer
  71. Dim hsx As Integer, hsy As Integer
  72.     hCur = GetCursor()
  73.     'vbQHelpForm.Show
  74.     rc = DrawIcon(vbQHelpForm.hDC, 0, 0, hCur)
  75.     vbQHelpForm.Refresh
  76.     ' Find the height
  77.     vbGetCursorHeight = GetSystemMetrics(14)
  78.     For hsy = GetSystemMetrics(14) To 1 Step -1
  79.         For hsx = GetSystemMetrics(13) To 1 Step -1
  80.             If vbQHelpForm.Point(hsx, hsy) = 0 Then
  81.                 vbGetCursorHeight = hsy
  82.                 GoTo vbGetCursorHeightExit
  83.             End If
  84.             'vbQHelpForm.PSet (hsx, hsy)
  85.         Next hsx
  86.     Next hsy
  87. vbGetCursorHeightExit:
  88.     vbQHelpForm.Cls
  89. End Function
  90.  
  91. Function vbPaintedToolExt (MyBar As Control, Flag As Integer, Status As Control) As Integer
  92. Dim i As Integer
  93. Dim bRect As apiRect', dRect As apiRect
  94. Static wPoint As apiPoint
  95. Dim temp$
  96. Static vbNext As Integer, tButton As Integer
  97. Static rc As Integer
  98.     Select Case Flag
  99.         Case MouseDown
  100.             If tButton <> True Then
  101.                 If vbNext Then
  102.                     GetCursorPos wPoint
  103.                     For i = 0 To rc
  104.                         If wPoint.x > tRect(i).Left And wPoint.x < tRect(i).Right - 1 And wPoint.Y > tRect(i).Top And wPoint.Y < tRect(i).Bottom Then Exit For
  105.                     Next i
  106.                     If i <= rc Then tButton = i
  107.                 End If
  108.                 temp$ = vbQHGetString(tButton)
  109.                 i = InStr(temp$, "|")
  110.                 temp$ = Left$(temp$, i - 1)
  111.                 Status.Caption = temp$
  112.                 If vbToolExt(MyBar, Flag, ToolRecs(tButton), tButton) Then
  113.                     vbPaintedToolExt = tButton
  114.                 Else
  115.                     vbPaintedToolExt = True
  116.                 End If
  117.             Else
  118.                 If Not sUsed Then
  119.                     sUsed = True
  120.                     vbNext = False
  121.                     rc = vbPaintedToolExt(MyBar, MouseButton, Status)
  122.                     rc = vbPaintedToolExt(MyBar, MouseDown, Status)
  123.                     vbPaintedToolExt = rc
  124.                     tButton = True
  125.                     sUsed = False
  126.                 End If
  127.             End If
  128.             'Do
  129.             '    DoEvents
  130.             'Loop Until GetKeyState(1) >= 0
  131.         Case MouseMove, MouseButton
  132.             If pUsed Then Exit Function
  133.             pUsed = True
  134.             Do
  135.                 If Not vbNext Then
  136.                     vbNext = True
  137.                     rc = UBound(ToolRecs)
  138.                     GetWindowRect MyBar.hWnd, bRect
  139.                     ReDim tRect(rc)  As apiRect
  140.                     For i = 0 To rc
  141.                         tRect(i).Top = bRect.Top + ToolRecs(i).Top
  142.                         tRect(i).Left = bRect.Left + ToolRecs(i).Left
  143.                         tRect(i).Right = tRect(i).Left + ToolRecs(i).Right
  144.                         tRect(i).Bottom = tRect(i).Top + ToolRecs(i).Bottom
  145.                     Next i
  146.                 End If
  147.                 GetCursorPos wPoint
  148.                 For i = 0 To rc
  149.                     If wPoint.x > tRect(i).Left And wPoint.x < tRect(i).Right - 1 And wPoint.Y > tRect(i).Top And wPoint.Y < tRect(i).Bottom Then Exit For
  150.                 Next i
  151.                 If i <= rc Then
  152.                     tButton = i
  153.                     If Flag = MouseButton Then pUsed = False: Exit Function
  154.                     i = vbToolExt(MyBar, MouseMove, ToolRecs(i), i)
  155.                 End If
  156.                 tButton = True
  157.                 DoEvents
  158.             Loop While wPoint.x > bRect.Left And wPoint.x < bRect.Right - 1 And wPoint.Y > bRect.Top And wPoint.Y < bRect.Bottom
  159.             pUsed = False
  160.             vbNext = False
  161.             vbPaintedToolExt = True
  162.     End Select
  163. End Function
  164.  
  165. Sub vbqHelp (MyControl As Control, ForceStop As Integer)
  166. Dim mWidth  As Integer, mHeight As Integer, rd As Integer, sep As Integer
  167. Dim wPoint As apiPoint, wRect As apiRect
  168. Dim NewTime As Long
  169. Dim temp$
  170. Static used As Integer, LastTime As Long
  171.     If ForceStop Then   'Not forced And
  172.         forced = ForceStop
  173.         If loaded Then
  174.             'vbQHelpForm.Hide
  175.             'vbQHelpForm.Move -1000, -1000
  176.             SetWindowPos vbQHelpForm.hWnd, -1, 0, 0, 0, 0, &H80'&H20 Or &H1 Or &H40 Or &H10 'Or &H8
  177.         End If
  178.     End If
  179.     If used Then Exit Sub
  180.     rd = MyControl.ScaleMode
  181.     MyControl.ScaleMode = 3
  182.     mWidth = MyControl.Width
  183.     mHeight = MyControl.Height
  184.     NewTime = GetTickCount()
  185.     used = True
  186.     GetWindowRect MyControl.hWnd, wRect
  187.     If NewTime - LastTime > 1000 Then
  188.         WaitZehntel 9
  189.     End If
  190.     Do
  191.         DoEvents
  192.         GetCursorPos wPoint
  193.         If forced Then
  194.             forced = False
  195.             used = False
  196.             loaded = False
  197.             Unload vbQHelpForm
  198.             Exit Sub
  199.         End If
  200.         If wPoint.x < wRect.Left Or wPoint.x > wRect.Right - 1 Or wPoint.Y < wRect.Top Or wPoint.Y > wRect.Bottom Then
  201.             Exit Do
  202.         Else
  203.             If Not loaded Then
  204.                 Load vbQHelpForm
  205.                 sep = InStr(MyControl.Tag, "|")
  206.                 temp$ = Right$(MyControl.Tag, Len(MyControl.Tag) - sep)
  207.                 vbQHelpForm.CurrentX = 30
  208.                 vbQHelpForm.CurrentY = 30
  209.                 vbQHelpForm.Print temp$
  210.                 vbQHelpForm.Height = vbQHelpForm.TextHeight(temp$) + 60
  211.                 vbQHelpForm.Width = vbQHelpForm.TextWidth(temp$) + 60
  212.                 vbQHelpForm.Move 7.5 * (wRect.Left + wRect.Right) - .5 * vbQHelpForm.Width, stppy * (wPoint.Y + 16)
  213.                 vbQHelpForm.Line (0, 0)-(vbQHelpForm.Width - stppx, vbQHelpForm.Height - stppy), , B
  214.                 SetWindowPos vbQHelpForm.hWnd, -1, 0, 0, 0, 0, &H20 Or &H1 Or &H40 Or &H10 'Or &H8
  215.                 loaded = True
  216.             End If
  217.         End If
  218.     Loop
  219.     MyControl.ScaleMode = rd
  220.     If loaded Then Unload vbQHelpForm
  221.     loaded = False
  222.     LastTime = GetTickCount()
  223.     used = False
  224. End Sub
  225.  
  226. Function vbQHGetString (Index As Integer) As String
  227.     On Error Resume Next
  228.     vbQHGetString = MyStrings(Index)
  229. End Function
  230.  
  231. Sub vbQHPutString (Index As Integer, Help As String)
  232. Static MyFlag As Integer
  233.     If MyFlag Then
  234.         If Index >= UBound(MyStrings) Then
  235.             ReDim Preserve MyStrings(Index)
  236.         End If
  237.     Else
  238.         ReDim MyStrings(Index)
  239.         MyFlag = True
  240.     End If
  241.     MyStrings(Index) = Help
  242. End Sub
  243.  
  244. Function vbTool (MyTool As Control, Flag As Integer) As Integer
  245. Dim mKey As Integer, mWidth As Integer, mHeight As Integer, sm As Integer
  246. Dim ButtonState As Integer, ds As Integer, dm As Integer, sep As Integer
  247. Dim wPoint As apiPoint, wRect As apiRect
  248. Dim temp$
  249. Dim NewTime As Long
  250. Dim rc As Integer, py As Integer, px As Integer
  251. Static LastTime As Long
  252.     On Error Resume Next
  253.     Select Case Flag
  254.         Case MouseDown
  255.             MyTool.Cls
  256.             GetWindowRect MyTool.hWnd, wRect
  257.             mWidth = wRect.Right - wRect.Left
  258.             mHeight = wRect.Bottom - wRect.Top
  259.             sm = MyTool.ScaleMode
  260.             ds = MyTool.DrawStyle
  261.             dm = MyTool.DrawMode
  262.             MyTool.ScaleMode = 3
  263.             MyTool.DrawStyle = 0
  264.             MyTool.DrawMode = 13
  265.             Do
  266.                 mKey = GetKeyState(1)
  267.                 DoEvents
  268.                 GetCursorPos wPoint
  269.                 If mKey >= 0 Then
  270.                     Exit Do
  271.                 End If
  272.                 If wPoint.x < wRect.Left Or wPoint.x > wRect.Right - 1 Or wPoint.Y < wRect.Top Or wPoint.Y > wRect.Bottom Then
  273.                     If ButtonState Then MyTool.Cls
  274.                     ButtonState = False
  275.                 Else
  276.                     If mKey < 0 Then
  277.                         If ButtonState = False Then
  278.                             rc = BitBlt(MyTool.hDC, 3, 3, mWidth - 4, mHeight - 4, MyTool.hDC, 2, 2, SrcCopy)
  279.                             MyTool.Line (2, 2)-(mWidth - 2, 2), RGB(192, 192, 192)
  280.                             MyTool.Line (2, 3)-(2, mHeight - 2), RGB(192, 192, 192)
  281.                             MyTool.Line (1, 1)-(1, mHeight - 2), RGB(128, 128, 128)
  282.                             MyTool.Line (1, 1)-(mWidth - 2, 1), RGB(128, 128, 128)
  283.                             MyTool.Line (2, mHeight - 2)-(mWidth - 2, mHeight - 2), RGB(192, 192, 192)'RGB(255, 255, 255)
  284.                             MyTool.Line (mWidth - 2, 2)-(mWidth - 2, mHeight - 1), RGB(192, 192, 192)'RGB(255, 255, 255)
  285.                             DoEvents
  286.                             ButtonState = True
  287.                             If qhloaded Then
  288.                                 SetWindowPos vbQHelpForm.hWnd, -1, 0, 0, 0, 0, &H80 Or &H10
  289.                             End If
  290.                         End If
  291.                     Else
  292.                         If ButtonState Then
  293.                             MyTool.Cls
  294.                             ButtonState = False
  295.                         Else
  296.                         End If
  297.                     End If
  298.                 End If
  299.             Loop
  300.             vbTool = ButtonState
  301.             If ButtonState Then forced = True
  302.             ButtonState = False
  303.             MyTool.ScaleMode = sm
  304.             MyTool.DrawStyle = ds
  305.             MyTool.DrawMode = dm
  306.             MyTool.Cls
  307.             MyTool.Refresh
  308.         Case MouseMove
  309.             If sUsed Then Exit Function
  310.             sUsed = True
  311.             NewTime = GetTickCount()
  312.             GetWindowRect MyTool.hWnd, wRect
  313.             mWidth = wRect.Right - wRect.Left
  314.             mHeight = wRect.Bottom - wRect.Top
  315.             If NewTime - LastTime > 1000 Then
  316.                 WaitZehntel 9
  317.             End If
  318.             Do
  319.                 GetCursorPos wPoint
  320.                 DoEvents
  321.                 If forced Then
  322.                     forced = False
  323.                     sUsed = False
  324.                     qhloaded = False
  325.                     Unload vbQHelpForm
  326.                     vbTool = False
  327.                     Exit Function
  328.                 End If
  329.                 If wPoint.x < wRect.Left Or wPoint.x > wRect.Right - 1 Or wPoint.Y < wRect.Top Or wPoint.Y > wRect.Bottom Then
  330.                     Exit Do
  331.                 Else
  332.                     If Not qhloaded Then
  333.                         Load vbQHelpForm
  334.                         sep = InStr(MyTool.Tag, "|")
  335.                         temp$ = Right$(MyTool.Tag, Len(MyTool.Tag) - sep)
  336.                         vbQHelpForm.CurrentX = 30
  337.                         vbQHelpForm.CurrentY = 30
  338.                         vbQHelpForm.Print temp$
  339.                         vbQHelpForm.Height = vbQHelpForm.TextHeight(temp$) + 60
  340.                         vbQHelpForm.Width = vbQHelpForm.TextWidth(temp$) + 60
  341.                         vbQHelpForm.Line (0, 0)-(vbQHelpForm.Width - stppx, vbQHelpForm.Height - stppy), , B
  342.                         GetCursorPos wPoint
  343.                         sep = GetSystemMetrics(14)
  344.                         px = ((wRect.Left + wRect.Right) - vbQHelpForm.Width / stppx) / 2
  345.                         If px < 0 Then
  346.                             px = 0
  347.                         ElseIf (px + vbQHelpForm.Width / stppx) > GetSystemMetrics(0) Then
  348.                             px = GetSystemMetrics(0) - vbQHelpForm.Width / stppx
  349.                         End If
  350.                         py = (wPoint.Y + 18)
  351.                         If py + vbQHelpForm.Height / stppy > GetSystemMetrics(1) Then
  352.                             py = wPoint.Y - 2 - vbQHelpForm.Height / stppy
  353.                         End If
  354.                         vbQHelpForm.Move px * stppx, stppy * py
  355.                         SetWindowPos vbQHelpForm.hWnd, -1, 0, 0, 0, 0, &H20 Or &H1 Or &H40 Or &H10 'Or &H8
  356.                         qhloaded = True
  357.                     End If
  358.                 End If
  359.             Loop
  360.             If qhloaded Then Unload vbQHelpForm
  361.             qhloaded = False
  362.             LastTime = GetTickCount()
  363.             sUsed = False
  364.             vbTool = True
  365.     End Select
  366. End Function
  367.  
  368. Function vbToolExt (MyTool As Control, Flag As Integer, MyRect As apiRect, Index As Integer) As Integer
  369. Dim mKey As Integer, mWidth As Integer, mHeight As Integer, sm As Integer
  370. Dim ButtonState As Integer, ds As Integer, dm As Integer, sep As Integer
  371. Dim wPoint As apiPoint, wRect As apiRect
  372. Dim temp$
  373. Dim NewTime As Long
  374. Dim rc As Integer, py As Integer, px As Integer
  375. Static LastTime As Long
  376.     On Error Resume Next
  377.     Select Case Flag
  378.         Case MouseDown
  379.             MyTool.Cls
  380.             GetWindowRect MyTool.hWnd, wRect
  381.             wRect.Top = wRect.Top + MyRect.Top
  382.             wRect.Left = wRect.Left + MyRect.Left
  383.             wRect.Right = wRect.Left + MyRect.Right
  384.             wRect.Bottom = wRect.Top + MyRect.Bottom
  385.             mWidth = wRect.Right - wRect.Left
  386.             mHeight = wRect.Bottom - wRect.Top
  387.             sm = MyTool.ScaleMode
  388.             ds = MyTool.DrawStyle
  389.             dm = MyTool.DrawMode
  390.             MyTool.ScaleMode = 3
  391.             MyTool.DrawStyle = 0
  392.             MyTool.DrawMode = 13
  393.             Do
  394.                 mKey = GetKeyState(1)
  395.                 DoEvents
  396.                 GetCursorPos wPoint
  397.                 If mKey >= 0 Then
  398.                     Exit Do
  399.                 End If
  400.                 If wPoint.x < wRect.Left Or wPoint.x > wRect.Right - 1 Or wPoint.Y < wRect.Top Or wPoint.Y > wRect.Bottom Then
  401.                     If ButtonState Then MyTool.Cls
  402.                     ButtonState = False
  403.                 Else
  404.                     If mKey < 0 Then
  405.                         If ButtonState = False Then
  406.                             rc = BitBlt(MyTool.hDC, 3 + MyRect.Left, 3 + MyRect.Top, mWidth - 4, mHeight - 4, MyTool.hDC, 2 + MyRect.Left, 2 + MyRect.Top, SrcCopy)
  407.                             MyTool.Line (2 + MyRect.Left, 2 + MyRect.Top)-(mWidth - 2 + MyRect.Left, 2 + MyRect.Top), RGB(192, 192, 192)
  408.                             MyTool.Line (2 + MyRect.Left, 3 + MyRect.Top)-(2 + MyRect.Left, mHeight - 2 + MyRect.Top), RGB(192, 192, 192)
  409.                             MyTool.Line (1 + MyRect.Left, 1 + MyRect.Top)-(1 + MyRect.Left, mHeight - 2 + MyRect.Top), RGB(128, 128, 128)
  410.                             MyTool.Line (1 + MyRect.Left, 1 + MyRect.Top)-(mWidth - 2 + MyRect.Left, 1 + MyRect.Top), RGB(128, 128, 128)
  411.                             MyTool.Line (2 + MyRect.Left, mHeight - 2 + MyRect.Top)-(mWidth - 2 + MyRect.Left, mHeight - 2 + MyRect.Top), RGB(192, 192, 192)'RGB(255, 255, 255)
  412.                             MyTool.Line (mWidth - 2 + MyRect.Left, 2 + MyRect.Top)-(mWidth - 2 + MyRect.Left, mHeight - 1 + MyRect.Top), RGB(192, 192, 192)'RGB(255, 255, 255)
  413.                             DoEvents
  414.                             ButtonState = True
  415.                             If qhloaded Then
  416.                                 SetWindowPos vbQHelpForm.hWnd, -1, 0, 0, 0, 0, &H80 Or &H10
  417.                                 qhloaded = False
  418.                             End If
  419.                         End If
  420.                     Else
  421.                         If ButtonState Then
  422.                             MyTool.Cls
  423.                             ButtonState = False
  424.                         Else
  425.                         End If
  426.                     End If
  427.                 End If
  428.             Loop
  429.             vbToolExt = ButtonState
  430.             If ButtonState Then forced = True
  431.             ButtonState = False
  432.             MyTool.ScaleMode = sm
  433.             MyTool.DrawStyle = ds
  434.             MyTool.DrawMode = dm
  435.             MyTool.Cls
  436.             MyTool.Refresh
  437.         Case MouseMove
  438.             If sUsed Then Exit Function
  439.             sUsed = True
  440.             NewTime = GetTickCount()
  441.             GetWindowRect MyTool.hWnd, wRect
  442.             wRect.Top = wRect.Top + MyRect.Top
  443.             wRect.Left = wRect.Left + MyRect.Left
  444.             wRect.Right = wRect.Left + MyRect.Right
  445.             wRect.Bottom = wRect.Top + MyRect.Bottom
  446.             mWidth = wRect.Right - wRect.Left
  447.             mHeight = wRect.Bottom - wRect.Top
  448.             If NewTime - LastTime > 1000 Then
  449.                 WaitZehntel 9
  450.             End If
  451.             Do
  452.                 GetCursorPos wPoint
  453.                 DoEvents
  454.                 If forced Then
  455.                     forced = False
  456.                     sUsed = False
  457.                     qhloaded = False
  458.                     Unload vbQHelpForm
  459.                     vbToolExt = False
  460.                     Exit Function
  461.                 End If
  462.                 If wPoint.x < wRect.Left Or wPoint.x > wRect.Right - 1 Or wPoint.Y < wRect.Top Or wPoint.Y > wRect.Bottom Then
  463.                     Exit Do
  464.                 Else
  465.                     If Not qhloaded Then
  466.                         Load vbQHelpForm
  467.                         temp$ = vbQHGetString(Index)
  468.                         sep = InStr(temp$, "|")
  469.                         temp$ = Right$(temp$, Len(temp$) - sep)
  470.                         sep = vbGetCursorHeight() - 1
  471.                         vbQHelpForm.CurrentX = 2
  472.                         vbQHelpForm.CurrentY = 2
  473.                         vbQHelpForm.Print temp$
  474.                         vbQHelpForm.Height = (vbQHelpForm.TextHeight(temp$) + 4) * stppx
  475.                         vbQHelpForm.Width = (vbQHelpForm.TextWidth(temp$) + 4) * stppy
  476.                         vbQHelpForm.Line (0, 0)-(vbQHelpForm.Width / stppx - 1, vbQHelpForm.Height / stppy - 1), , B
  477.                         GetCursorPos wPoint
  478.                         
  479.                         px = ((wRect.Left + wRect.Right) - vbQHelpForm.Width / stppx) / 2
  480.                         If px < 0 Then
  481.                             px = 0
  482.                         ElseIf (px + vbQHelpForm.Width / stppx) > GetSystemMetrics(0) Then
  483.                             px = GetSystemMetrics(0) - vbQHelpForm.Width / stppx
  484.                         End If
  485.                         py = (wPoint.Y + sep)
  486.                         If py + vbQHelpForm.Height / stppy > GetSystemMetrics(1) Then
  487.                             py = wPoint.Y - 2 - vbQHelpForm.Height / stppy
  488.                         End If
  489.                         vbQHelpForm.Move px * stppx, stppy * py
  490.                         SetWindowPos vbQHelpForm.hWnd, -1, 0, 0, 0, 0, &H20 Or &H1 Or &H40 Or &H10 'Or &H8
  491.                         qhloaded = True
  492.                     End If
  493.                 End If
  494.             Loop
  495.             If qhloaded Then Unload vbQHelpForm
  496.             qhloaded = False
  497.             LastTime = GetTickCount()
  498.             sUsed = False
  499.             vbToolExt = True
  500.     End Select
  501. End Function
  502.  
  503.