Posso postare il codice preso da una ricerca in rete e leggermente modificato da me.
Ho provato un paio di versioni con e senza la imagelist. alla fine ho scelto la seconda perchè con l'imagelist era tutto molto astruso e non valeva la pena la mole di codice anche perchè mi dava errori nelle dichiarazioni pur essendo per vb6.

Se dall'editor di menu metto come non visibile il menu principale non vedo più le immagini quando lo richiamo da tasto destro, ma tutto funziona perfettamente se lo rendo visibile

dichiarazioni
codice:
Option Explicit 
Private Const MF_BYPOSITION = &H400& 
Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long 
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long 
Private Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long 
Private imgBitmaps(4) As IPictureDisp
quindi la routine
codice:
private sub MnuPic_click
    Dim hSubMenu As Long
    Set imgBitmaps(0) = Image1(0).Picture
    Set imgBitmaps(1) = Image1(3).Picture
    Set imgBitmaps(2) = Image1(4).Picture
    Set imgBitmaps(3) = Image1(1).Picture
    Set imgBitmaps(4) = Image1(2).Picture
    hSubMenu = GetSubMenu(GetMenu(Me.hwnd), 0)
    Call SetMenuItemBitmaps(hSubMenu, 0, MF_BYPOSITION, imgBitmaps(0).Handle, imgBitmaps(0).Handle)
    Call SetMenuItemBitmaps(hSubMenu, 1, MF_BYPOSITION, imgBitmaps(1).Handle, imgBitmaps(1).Handle)
    Call SetMenuItemBitmaps(hSubMenu, 2, MF_BYPOSITION, imgBitmaps(2).Handle, imgBitmaps(2).Handle)
    Call SetMenuItemBitmaps(hSubMenu, 3, MF_BYPOSITION, imgBitmaps(3).Handle, imgBitmaps(3).Handle)
    Call SetMenuItemBitmaps(hSubMenu, 4, MF_BYPOSITION, imgBitmaps(4).Handle, imgBitmaps(4).Handle)
end sub
richiamata dal form.load
codice:
Call MnuPic_click

Ps: ho un banner pubblicitario a sfondo trasparente in alto a sinistra nel forum che non vuole sparire. E' normale?