March 3, 2021
Hot Topics:

Make A Flat Toolbar In VB5

  • By Xiang Yue
  • Send Email »
  • More Articles »

You just need to do as followings:

First: copy these code in your module

'Const .....
Public Const WM_USER = &H400
Public Const TB_SETSTYLE = WM_USER + 56
Public Const TB_GETSTYLE = WM_USER + 57
Public Const TBSTYLE_FLAT = &H800
Public Const TBSTYLE_TOOLTIPS = &H100
Public Const TBSTYLE_WRAPABLE = &H200
Public Const TBSTYLE_ALTDRAG = &H400
Public Const TBSTYLE_LIST = &H1000


'--------------- 'API...... '--------------------- Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Public 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

'------------------------------------------------------ 'A public sub in order to make a flat toolbar 'Enteries:tb(the name of your toolbar control) 'Return : no '----------------------------------------------------- Public Sub FlatBar(ByVal tb As Toolbar) Dim style As Long Dim hToolbar As Long Dim r As Long hToolbar = FindWindowEx(tb.hwnd, 0&, "ToolBarWindow32", vbNullString) style = SendMessageLong(hToolbar, TB_GETSTYLE, 0&, 0&) If style And TBSTYLE_FLAT Then style = style Xor TBSTYLE_FLAT Else: style = style Or TBSTYLE_FLAT End If r = SendMessageLong(hToolbar, TB_SETSTYLE, 0, style) tb.Refresh End Sub

Second: In your form put one Toolbar control(named MyTB) and one ImageList control,at the same time put some icons in Imagelist.now bind Imagelist with Toolbar get a comm Toolbar.

Third: In your form Load event call sub FlatBar() like this : Call FlatBar(MyTB)

Fourth: Now Run your project to see what happen in you toolbar. is it Cool ?

Posted On: 30-Nov-1998

This article was originally published on November 30, 1998

Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date