home *** CD-ROM | disk | FTP | other *** search
- Attribute VB_Name = "xGlobal"
- Option Explicit
- Public giTwipsX As Integer
- Public giTwipsY As Integer
-
- Public giTbarButton As Integer '/ Holds index of toolbar button
- Public ghTbarPrevWindow As Long '/ Handle for previous button
- Public glTbarOutLeft() As Long '/ Position of outline, left
- Public glTbarOutTop() As Long '/ Position of outline, top
- Public glTbarOutRight() As Long '/ Position of outline, right
- Public glTbarOutBtm() As Long '/ Position of outline, bottom
-
- Public gbThlpActive As Boolean '/ Flag for active state
- Public gbThlpShowNextTime As Boolean '/ Flag for showing help the next time
- Public giThlpWait As Integer '/ Waiting time in milliseconds
- Public glThlpBackColor As Long '/ Background color
- Public glThlpShadowTop As Long '/ Top shadow color
- Public glThlpShadowBtm As Long '/ Bottom shadow color
- Public gbTbarPrevWindow As Long '/ Handle for previous button
-
- Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
- Declare Function GetActiveWindow Lib "user32" () As Long
- Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
- Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
- Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
-
- Public Const SW_SHOWNOACTIVATE = 4
-
- Type POINTAPI
- x As Long
- y As Long
- End Type
-
- Type RECT
- Left As Long
- Top As Long
- Right As Long
- Bottom As Long
- End Type
-
-
- Public Sub Toolhelp(frm As Form, strHelp As String)
- Dim iRtn As Integer
- Dim Point As POINTAPI
-
- frm.BackColor = glThlpBackColor
- frm.lblHelp.BackColor = glThlpBackColor
-
- If Len(strHelp) Then
-
- frm.Hide
-
- frm.lblHelp.Caption = " " & strHelp & " "
-
- Call GetCursorPos(Point)
- frm.Left = (Point.x - 2) * giTwipsX
- frm.Top = (Point.y + 18) * giTwipsY
-
- frm.Width = frm.lblHelp.Width + 4 * giTwipsX
- frm.Height = frm.lblHelp.Height + 5 * giTwipsY
-
- '/ Draw left shadow
- frm.linBorder(0).BorderColor = glThlpShadowTop
- frm.linBorder(0).X1 = 0
- frm.linBorder(0).Y1 = 0
- frm.linBorder(0).X2 = 0
- frm.linBorder(0).Y2 = frm.ScaleHeight - giTwipsY
- '/ Draw top shadow
- frm.linBorder(1).BorderColor = glThlpShadowTop
- frm.linBorder(1).X1 = 0
- frm.linBorder(1).Y1 = 0
- frm.linBorder(1).X2 = frm.ScaleWidth
- frm.linBorder(1).Y2 = 0
- '/ Draw right shadow
- frm.linBorder(2).BorderColor = glThlpShadowBtm
- frm.linBorder(2).X1 = frm.ScaleWidth - giTwipsX
- frm.linBorder(2).Y1 = giTwipsY
- frm.linBorder(2).X2 = frm.ScaleWidth - giTwipsX
- frm.linBorder(2).Y2 = frm.ScaleHeight
- '/ Draw bottom shadow
- frm.linBorder(3).BorderColor = glThlpShadowBtm
- frm.linBorder(3).X1 = 0
- frm.linBorder(3).Y1 = frm.ScaleHeight - giTwipsY
- frm.linBorder(3).X2 = frm.ScaleWidth - giTwipsX
- frm.linBorder(3).Y2 = frm.ScaleHeight - giTwipsY
-
- frm.ZOrder
-
- iRtn = ShowWindow(frm.hwnd, SW_SHOWNOACTIVATE)
- Else
- frm.Hide
- End If
-
- End Sub
-
- Public Sub Toolbar97Setup(frm As Form, iNoOfIcons As Integer, Optional ctlLogo As Variant)
- Dim iCnt As Integer
- Dim iPosX As Integer
- Dim lRtn As Long
- Dim iHeight As Integer
- Dim Icon97 As RECT
-
- frm.AutoRedraw = True
-
- frm.Line (0, 0)-(frm.ScaleWidth - giTwipsX, 0), &H808080
-
- iHeight = frm.picToolIcons(0).Height + 4
- frm.Line (0, giTwipsY)-(frm.ScaleWidth - giTwipsX, giTwipsY), &HFFFFFF
- frm.Line -(frm.ScaleWidth - giTwipsX, iHeight + (8 * giTwipsY)), &H808080
- frm.Line -(0, iHeight + (8 * giTwipsY)), &H808080
- frm.Line -(0, 0), &HFFFFFF
-
- iPosX = 6
- For iCnt = 0 To 1
- frm.Line (iPosX * giTwipsX, 3 * giTwipsY)-(iPosX * giTwipsX, iHeight + (6 * giTwipsY)), &H808080
- frm.Line -((iPosX - 2) * giTwipsX, iHeight + (6 * giTwipsY)), &H808080
- frm.Line ((iPosX - 2) * giTwipsX, iHeight + (6 * giTwipsY))-((iPosX - 2) * giTwipsX, 3 * giTwipsY), &HFFFFFF
- frm.Line -(iPosX * giTwipsX, 3 * giTwipsY), &HFFFFFF
- iPosX = iPosX + 3
- Next
-
- iPosX = 14 * giTwipsX
- If iNoOfIcons Then
- For iCnt = 0 To iNoOfIcons - 1
-
- If Left(frm.picToolIcons(iCnt).Tag, 1) = "<" Then
- frm.Line (iPosX, 2 * giTwipsY)-(iPosX, iHeight + (6 * giTwipsY)), &H808080
- frm.Line (iPosX + giTwipsX, 2 * giTwipsY)-(iPosX + giTwipsX, iHeight + (6 * giTwipsY)), &HFFFFFF
- iPosX = iPosX + 6 * giTwipsX
- End If
-
- frm.picToolIcons(iCnt).Top = 5 * giTwipsY
- frm.picToolIcons(iCnt).Left = iPosX
- iPosX = iPosX + frm.picToolIcons(iCnt).Width + 4 * giTwipsX
-
- If Left(frm.picToolIcons(iCnt).Tag, 1) = ">" Then
- frm.Line (iPosX, 2 * giTwipsY)-(iPosX, iHeight + (6 * giTwipsY)), &H808080
- frm.Line (iPosX + giTwipsX, 2 * giTwipsY)-(iPosX + giTwipsX, iHeight + (6 * giTwipsY)), &HFFFFFF
- iPosX = iPosX + 6 * giTwipsX
- End If
-
- lRtn = GetWindowRect(frm.picToolIcons(iCnt).hwnd, Icon97)
-
- ReDim Preserve glTbarOutLeft(iCnt)
- ReDim Preserve glTbarOutTop(iCnt)
- ReDim Preserve glTbarOutRight(iCnt)
- ReDim Preserve glTbarOutBtm(iCnt)
-
- glTbarOutLeft(iCnt) = (Icon97.Left - 2 - 4) * giTwipsX - frm.Left
- glTbarOutTop(iCnt) = (Icon97.Top - 2 - 42) * giTwipsY - frm.Top
- glTbarOutRight(iCnt) = (Icon97.Right + 2 - 4) * giTwipsX - frm.Left
- glTbarOutBtm(iCnt) = (Icon97.Bottom + 2 - 42) * giTwipsY - frm.Top
-
- Next
- End If
-
- If Not IsMissing(ctlLogo) Then
- ctlLogo.Top = 4 * giTwipsY
- ctlLogo.Left = frm.ScaleWidth - ctlLogo.Width - 6 * giTwipsX
- End If
-
- End Sub
- Public Sub CenterForm(frm As Form, Optional vParent As Variant)
- Dim oParent As Object
- Dim iMode As Integer
- Dim iLeft As Integer
- Dim iTop As Integer
-
- If IsMissing(vParent) Then
- Set oParent = Screen
- ElseIf TypeOf vParent Is Screen Or TypeOf vParent Is Form Then
- Set oParent = vParent
- Else
- Exit Sub
- End If
-
- If TypeOf oParent Is Form Then
- iLeft = oParent.Left
- iTop = oParent.Top
- End If
-
- frm.Move iLeft + (oParent.Width - frm.Width) / 2, iTop + (oParent.Height - frm.Height) / 2
-
- End Sub
-
- Public Sub Toolbar97Highlight(frm As Form, bFlag As Boolean)
- If giTbarButton < 0 Then Exit Sub
-
- Dim ctlIcon As Object
- Set ctlIcon = frm.picToolIcons(giTbarButton)
-
- If bFlag Then
- frm.Line (glTbarOutLeft(giTbarButton), glTbarOutTop(giTbarButton))-(glTbarOutLeft(giTbarButton), glTbarOutBtm(giTbarButton) - giTwipsY), &HFFFFFF
- frm.Line -(glTbarOutRight(giTbarButton) - giTwipsX, glTbarOutBtm(giTbarButton) - giTwipsY), &H808080
- frm.Line -(glTbarOutRight(giTbarButton) - giTwipsX, glTbarOutTop(giTbarButton)), &H808080
- frm.Line -(glTbarOutLeft(giTbarButton), glTbarOutTop(giTbarButton)), &HFFFFFF
-
- If gbThlpActive Then
- frm.tmrToolhelp.Enabled = True
- End If
-
- Else
-
- Dim lRtn As Long
- Dim hTbarCurrWindow As Long
- Dim Point As POINTAPI
-
- frm.picToolIcons(giTbarButton).Left = glTbarOutLeft(giTbarButton) + 2 * giTwipsX
- frm.picToolIcons(giTbarButton).Top = glTbarOutTop(giTbarButton) + 2 * giTwipsY
-
- frm.Line (glTbarOutLeft(giTbarButton), glTbarOutTop(giTbarButton))-(glTbarOutRight(giTbarButton) - giTwipsX, glTbarOutBtm(giTbarButton) - giTwipsY), &HC0C0C0, BF
-
- lRtn = GetCursorPos(Point)
- hTbarCurrWindow = WindowFromPoint(Point.x, Point.y)
-
- Select Case hTbarCurrWindow
- Case frm.picToolIcons(giTbarButton).hwnd
-
- Case Else
- ghTbarPrevWindow = hTbarCurrWindow
- giTbarButton = -1
-
- If gbThlpActive Then
- If hTbarCurrWindow <> gbTbarPrevWindow Then
- frmHelp.Hide
- frm.tmrToolhelp.Enabled = False
- gbTbarPrevWindow = 0
- gbThlpShowNextTime = True
- End If
- End If
- End Select
- End If
- End Sub
-
-
- Public Sub Toolbar97ButtonDown(frm As Form, Index As Integer)
- If giTbarButton < 0 Then Exit Sub
- ghTbarPrevWindow = frm.picToolIcons(giTbarButton).hwnd
-
- frm.picToolIcons(giTbarButton).Left = glTbarOutLeft(giTbarButton) + 3 * giTwipsX
- frm.picToolIcons(giTbarButton).Top = glTbarOutTop(giTbarButton) + 3 * giTwipsY
-
- If gbThlpActive Then
- Call Toolhelp(frmHelp, "")
- frm.tmrToolhelp.Enabled = False
- frm.tmrToolhelp.Interval = giThlpWait
- gbThlpShowNextTime = False
- End If
-
- DoEvents
-
- frm.Line (glTbarOutLeft(Index), glTbarOutTop(Index))-(glTbarOutLeft(Index), glTbarOutBtm(Index) - giTwipsY), &H808080
- frm.Line -(glTbarOutRight(Index) - giTwipsX, glTbarOutBtm(Index) - giTwipsY), &HFFFFFF
- frm.Line -(glTbarOutRight(Index) - giTwipsX, glTbarOutTop(Index)), &HFFFFFF
- frm.Line -(glTbarOutLeft(Index), glTbarOutTop(Index)), &H808080
- End Sub
- Public Sub Toolbar97MonitorCursor(frm As Form, Index As Integer)
- Dim lRtn As Long
- Dim hTbarCurrWindow As Long
- Dim Point As POINTAPI
-
- lRtn = GetCursorPos(Point)
- hTbarCurrWindow = WindowFromPoint(Point.x, Point.y)
-
- If hTbarCurrWindow <> ghTbarPrevWindow Then
- ghTbarPrevWindow = hTbarCurrWindow
-
- Select Case hTbarCurrWindow
- Case frm.picToolIcons(Index).hwnd
-
- Call Toolbar97Highlight(frm, False)
-
- giTbarButton = Index
-
- Call Toolbar97Highlight(frm, True)
-
- Case Else
-
- Call Toolbar97Highlight(frm, False)
- End Select
- End If
- End Sub
-