Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202175 21 févr. 2006 à 18:24
pourquoi parles tu de propriété Picture ?
tu n'es pas en VB6 !!!
tout ce qui t'incombe, c'est de récupérer un HBMP, à fournir a l'API....
voici le code nécessaire :
Dim oBmp As System.Drawing.Bitmap
Dim oImg As System.Drawing.Image
oImg = ImageList1.Images(1)
oBmp = New System.Drawing.Bitmap(oImg, oImg.Width, oImg.Height)
'# setMenuItemBitmaps possible avec comme Bitmap : obmp.GetHbitmap
'# Penser a faire un DeleteObject oBmp.GetHbitmap
PeterNet
Messages postés11Date d'inscriptionsamedi 17 septembre 2005StatutMembreDernière intervention28 janvier 2008 21 févr. 2006 à 19:14
Oui pour les parenthèses...
Si VB Net et Visual Studio 2003.....
En fait la commande SetMenuItemBitmaps attend un 'long' et non un IntPtr ??!!
Voilà le code :
Private
Declare
Function GetMenu
Lib "user32.dll" (
ByVal hwnd
As
Long)
As
Long
Private
Declare
Function GetSubMenu
Lib "user32.dll" (
ByVal hMenu
As
Long,
ByVal nPos
As
Long)
As
Long
Private
Declare
Function GetMenuItemID
Lib "user32.dll" (
ByVal hMenu
As
Long,
ByVal nPos
As
Long)
As
Long
Private
Declare
Function SetMenuItemBitmaps
Lib "user32.dll" (
ByVal hMenu
As
Long,
ByVal nPosition
As
Long,
ByVal wFlags
As
Long,
ByVal hBitmapUnchecked
As
Long,
ByVal hBitmapChecked
As
Long)
As
Long
Private
Const MF_BYPOSITION
As
Long = &H400&
et dans le load de la Form :
Dim hMenu
As
Long
Dim hSousMenu
As
Long
Dim menuID
As
Long
Dim oBmp
As System.Drawing.Bitmap
Dim oImg
As System.Drawing.Image
oImg = ImageList1.Images(1)
oBmp =
New System.Drawing.Bitmap(oImg, oImg.Width, oImg.Height)