Créateur de Menus fenetre MDI

Le
Eric F.
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.

Merci d'avances.
Eric F.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacques93
Le #17399811
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' :


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 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.
Le #17400251
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' :


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 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.



Publicité
Poster une réponse
Anonyme