J'utilise l'utilitaire de créateur de menus pour une fenêtre MDI en VB6.
Apparement, il n'est pas possible d'affecter des icônes, ni aux boutons du
menu principal, ni aux sous-menus ?
Quelqu'un aurait-il une idée, c'est une vieille application VB6 que
j'aimerai moderniser sans devoir passer, pour le moment, à VB2008.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques93
Bonjour Eric F. Eric F. a écrit :
Bonjour,
J'utilise l'utilitaire de créateur de menus pour une fenêtre MDI en VB6. Apparement, il n'est pas possible d'affecter des icônes, ni aux boutons du menu principal, ni aux sous-menus ? Quelqu'un aurait-il une idée, c'est une vieille application VB6 que j'aimerai moderniser sans devoir passer, pour le moment, à VB2008.
Pour les sous-menus tu peux passer par l'API 'SetMenuItemBitmaps' :
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 Sub Form_Load() Dim hMenu As Long Dim hSubMenu As Long
' Handle du menu hMenu = GetMenu(Me.hWnd) If hMenu <> 0 Then ' Premier sous menu hSubMenu = GetSubMenu(hMenu, 0) If hSubMenu <> 0 Then ' Assigne les images SetMenuItemBitmaps hSubMenu, 0, MF_BYPOSITION, _ Picture1.Picture, Picture1.Picture SetMenuItemBitmaps hSubMenu, 1, MF_BYPOSITION, _ Picture2.Picture, Picture2.Picture End If End If End Sub
Private Sub Form_MouseDown(Button As Integer, _ Shift As Integer, _ X As Single, Y As Single) If Button = vbRightButton Then PopupMenu mnuTest End If
End Sub
--
Cordialement,
Jacques.
Bonjour Eric F.
Eric F. a écrit :
Bonjour,
J'utilise l'utilitaire de créateur de menus pour une fenêtre MDI en VB6.
Apparement, il n'est pas possible d'affecter des icônes, ni aux boutons du
menu principal, ni aux sous-menus ?
Quelqu'un aurait-il une idée, c'est une vieille application VB6 que
j'aimerai moderniser sans devoir passer, pour le moment, à VB2008.
Pour les sous-menus tu peux passer par l'API 'SetMenuItemBitmaps' :
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 Sub Form_Load()
Dim hMenu As Long
Dim hSubMenu As Long
' Handle du menu
hMenu = GetMenu(Me.hWnd)
If hMenu <> 0 Then
' Premier sous menu
hSubMenu = GetSubMenu(hMenu, 0)
If hSubMenu <> 0 Then
' Assigne les images
SetMenuItemBitmaps hSubMenu, 0, MF_BYPOSITION, _
Picture1.Picture, Picture1.Picture
SetMenuItemBitmaps hSubMenu, 1, MF_BYPOSITION, _
Picture2.Picture, Picture2.Picture
End If
End If
End Sub
Private Sub Form_MouseDown(Button As Integer, _
Shift As Integer, _
X As Single, Y As Single)
If Button = vbRightButton Then
PopupMenu mnuTest
End If
J'utilise l'utilitaire de créateur de menus pour une fenêtre MDI en VB6. Apparement, il n'est pas possible d'affecter des icônes, ni aux boutons du menu principal, ni aux sous-menus ? Quelqu'un aurait-il une idée, c'est une vieille application VB6 que j'aimerai moderniser sans devoir passer, pour le moment, à VB2008.
Pour les sous-menus tu peux passer par l'API 'SetMenuItemBitmaps' :
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 Sub Form_Load() Dim hMenu As Long Dim hSubMenu As Long
' Handle du menu hMenu = GetMenu(Me.hWnd) If hMenu <> 0 Then ' Premier sous menu hSubMenu = GetSubMenu(hMenu, 0) If hSubMenu <> 0 Then ' Assigne les images SetMenuItemBitmaps hSubMenu, 0, MF_BYPOSITION, _ Picture1.Picture, Picture1.Picture SetMenuItemBitmaps hSubMenu, 1, MF_BYPOSITION, _ Picture2.Picture, Picture2.Picture End If End If End Sub
Private Sub Form_MouseDown(Button As Integer, _ Shift As Integer, _ X As Single, Y As Single) If Button = vbRightButton Then PopupMenu mnuTest End If
End Sub
--
Cordialement,
Jacques.
Eric F.
Merci bcp Jacques pour ton aide.
Cordialement, Eric F.
"Jacques93" a écrit :
Bonjour Eric F. Eric F. a écrit : > Bonjour, > > J'utilise l'utilitaire de créateur de menus pour une fenêtre MDI en VB6. > Apparement, il n'est pas possible d'affecter des icônes, ni aux boutons du > menu principal, ni aux sous-menus ? > Quelqu'un aurait-il une idée, c'est une vieille application VB6 que > j'aimerai moderniser sans devoir passer, pour le moment, à VB2008. >
Pour les sous-menus tu peux passer par l'API 'SetMenuItemBitmaps' :
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 Sub Form_Load() Dim hMenu As Long Dim hSubMenu As Long
' Handle du menu hMenu = GetMenu(Me.hWnd) If hMenu <> 0 Then ' Premier sous menu hSubMenu = GetSubMenu(hMenu, 0) If hSubMenu <> 0 Then ' Assigne les images SetMenuItemBitmaps hSubMenu, 0, MF_BYPOSITION, _ Picture1.Picture, Picture1.Picture SetMenuItemBitmaps hSubMenu, 1, MF_BYPOSITION, _ Picture2.Picture, Picture2.Picture End If End If End Sub
Private Sub Form_MouseDown(Button As Integer, _ Shift As Integer, _ X As Single, Y As Single) If Button = vbRightButton Then PopupMenu mnuTest End If
End Sub
--
Cordialement,
Jacques.
Merci bcp Jacques pour ton aide.
Cordialement,
Eric F.
"Jacques93" a écrit :
Bonjour Eric F.
Eric F. a écrit :
> Bonjour,
>
> J'utilise l'utilitaire de créateur de menus pour une fenêtre MDI en VB6.
> Apparement, il n'est pas possible d'affecter des icônes, ni aux boutons du
> menu principal, ni aux sous-menus ?
> Quelqu'un aurait-il une idée, c'est une vieille application VB6 que
> j'aimerai moderniser sans devoir passer, pour le moment, à VB2008.
>
Pour les sous-menus tu peux passer par l'API 'SetMenuItemBitmaps' :
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 Sub Form_Load()
Dim hMenu As Long
Dim hSubMenu As Long
' Handle du menu
hMenu = GetMenu(Me.hWnd)
If hMenu <> 0 Then
' Premier sous menu
hSubMenu = GetSubMenu(hMenu, 0)
If hSubMenu <> 0 Then
' Assigne les images
SetMenuItemBitmaps hSubMenu, 0, MF_BYPOSITION, _
Picture1.Picture, Picture1.Picture
SetMenuItemBitmaps hSubMenu, 1, MF_BYPOSITION, _
Picture2.Picture, Picture2.Picture
End If
End If
End Sub
Private Sub Form_MouseDown(Button As Integer, _
Shift As Integer, _
X As Single, Y As Single)
If Button = vbRightButton Then
PopupMenu mnuTest
End If
Bonjour Eric F. Eric F. a écrit : > Bonjour, > > J'utilise l'utilitaire de créateur de menus pour une fenêtre MDI en VB6. > Apparement, il n'est pas possible d'affecter des icônes, ni aux boutons du > menu principal, ni aux sous-menus ? > Quelqu'un aurait-il une idée, c'est une vieille application VB6 que > j'aimerai moderniser sans devoir passer, pour le moment, à VB2008. >
Pour les sous-menus tu peux passer par l'API 'SetMenuItemBitmaps' :
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 Sub Form_Load() Dim hMenu As Long Dim hSubMenu As Long
' Handle du menu hMenu = GetMenu(Me.hWnd) If hMenu <> 0 Then ' Premier sous menu hSubMenu = GetSubMenu(hMenu, 0) If hSubMenu <> 0 Then ' Assigne les images SetMenuItemBitmaps hSubMenu, 0, MF_BYPOSITION, _ Picture1.Picture, Picture1.Picture SetMenuItemBitmaps hSubMenu, 1, MF_BYPOSITION, _ Picture2.Picture, Picture2.Picture End If End If End Sub
Private Sub Form_MouseDown(Button As Integer, _ Shift As Integer, _ X As Single, Y As Single) If Button = vbRightButton Then PopupMenu mnuTest End If