Icones in the menus

Attention this example is not as well complicated as one believes
Everything is in the imitation;-)

Contrary to the other available methods to arrive at this result, one does not use here any API

To look well at animation above before reading answer because this menu not is not one of it;-)
The menu which appears is in fact a FORM which one posts(shows) by top in the good place
The FORM works a little here as an OCX, it is enough to add it has a project one never retouches his code
She(it) contains events so one declares it in this way:

( Sources converts in 6 colours with my VB TO HTML program)

Dim WithEvents MyMenu As IcoMenu

Private Sub Form_Load()
    Set MyMenu = New IcoMenu
    With MyMenu
        .SetItem 0, "New", Image1(0).Picture
        .SetItem 1, "Open ...", Image1(1).Picture
        .SetItem 2, "Save", Image1(2).Picture
        .SetItem 3, "Save as ..."
        .SetItem 4, "Exit", Image1(3).Picture, "exit"
    End With
End Sub