All recent Windows applications use a flat toolbar similar to Internet Explorer ‘s and Microsoft Word’s ones. Visual Basic 6 includes a Toolbar control that supports the flat look, but if you are still using VB4 or VB5 and you want to use a flat toolbar without buying a new ActiveX control, you just have to use SetWindowLong API function to add the flat style to your existing toolbar.
As you see, the code is really simple. First, you must retrive the current style of the control using GetWindowLong, than you add the flat style to the current one using Or operator, and finally you set the new style using SetWindowLong. Let’s see an example:
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, _ ByVal wCmd As Long) As LongPrivate Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _ (ByVal hwnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _ (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Const GW_CHILD = 5Private Const GWL_STYLE = (-16)Private Const TB_STYLE_FLAT = &H848Private Sub Form_Load() Dim hToolbar As Long hToolbar = GetWindow(tbarMyToolbar.hwnd, GW_CHILD) SetWindowLong hToolbar, GWL_STYLE, GetWindowLong(hToolbar, _ GWL_STYLE) Or TB_STYLE_FLATEnd Sub