Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB4/32,VB5
Expertise: Intermediate
Aug 28, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

How to apply the flat style to a toolbar

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 Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
    (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
    (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Const GW_CHILD = 5
Private Const GWL_STYLE = (-16)
Private Const TB_STYLE_FLAT = &H848

Private Sub Form_Load()
    Dim hToolbar As Long
    hToolbar = GetWindow(tbarMyToolbar.hwnd, GW_CHILD)
    SetWindowLong hToolbar, GWL_STYLE, GetWindowLong(hToolbar, _
End Sub
Marco Bellinaso
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



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