LookingToolbar




Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Integer, ByVal lParam As Any) As Long
Private Declare Function FindWindowEx Lib "user32" Alias _
"FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 _
As Long, ByVal lpsz1 As String, ByVal lpsz2 As _
String) As Long
Private Const WM_USER = &H400
Private Const TB_SETSTYLE = WM_USER + 56
Private Const TB_GETSTYLE = WM_USER + 57
Private Const TBSTYLE_FLAT = &H800
Private Const TBSTYLE_LIST = &H1000
Public Sub Office97Toolbar(tlb As Toolbar, _
tlbToolbarStyle As Long)
Dim lngStyle As Long
Dim lngResult As Long
Dim lngHWND As Long
' Find child window and get style bits

lngHWND = FindWindowEx(tlb.hwnd, 0&, _
"ToolbarWindow32", vbNullString)
lngStyle = SendMessage(lngHWND, _
TB_GETSTYLE, 0&, 0&)
' Use a case statement to get the effect

Select Case tlbToolbarStyle
Case 1:
' Creates an Office 97 like toolbar

lngStyle = lngStyle Or TBSTYLE_FLAT
Case 2:
' Creates an Explorer 4.0 like toolbar,

' with text to the right

' of the picture. You must provide text

' in order to get the effect.

lngStyle = lngStyle Or TBSTYLE_FLAT _
Or TBSTYLE_LIST
Case Else
lngStyle = lngStyle Or TBSTYLE_FLAT
End Select
' Use the API call to change the toolbar

lngResult = SendMessage(lngHWND, _
TB_SETSTYLE, 0, lngStyle)
' Show the effects

tlb.Refresh
End Sub
'_________________________________________________________


Call this routine while a form with a toolbar is loading:
Private Sub Form_Load()
Call Office97Toolbar(Me.Toolbar1, 2)
' whatever…

End Sub
Using only a few Windows API calls, you can change the standard VB5 toolbar into
an Office 97 look-alike. I've implemented two display styles for the toolbar.
The first allows you to change the toolbar to an Office 97-style toolbar
(similar to the one used by VB5), and the second allows you to change the toolbar to
the Internet Explorer 4.0-style toolbar. If you want to use the second style,
you must supply each button with some text in order to achieve the effect. In both
cases, the button edges are flat and only appear raised when the mouse passes over
the button. To implement it, add this code to a BAS module:










( lookingtoolbar.html )- by Paolo Puglisi - Modifica del 17/12/2023