PDA

Visualizza la versione completa : [VB] Tip N2 - Icone nelle voci di men


Wild78
22-01-2002, 08:17
Se volette inserire delle icone nei vostri men...




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 Const MF_BYPOSITION = &H400&

'* imlMenu un'ImageList. Nota le immagini per i Menu devono essere
13X13.

Private Sub Form_Load()

'* Assegna le immagini nei menu nel Form
Dim hMenuBarra As Long '* handle per la barra dei menu
Dim hMenuFile As Long '* handle del primo menu nella barra
Dim ris As Boolean '* risposta della funzione

'* Ottiene l'handle della barra del menu
hMenuBarra = GetMenu(frmMDI.hwnd)
'* Ottiene l'handle del primo menu (indice che parte da zero)
hMenuFile = GetSubMenu(hMenuBarra, 0)
'* Assegnazione immagini Menu File
ris = SetMenuItemBitmaps(hMenuFile, 0, MF_BYPOSITION, _
imlMenu.ListImages(1).Picture.Handle, _
imlMenu.ListImages(1).Picture.Handle)
End Sub

Colino
22-01-2002, 20:28
scusami , ho provato ma non mi da n segno di errore ne mi mostra le icone!!!!!!!

rambco
28-01-2002, 16:06
ma mi dice necessario oggetto (hMenuBarra = GetMenu(frmMDI.hwnd)
) !

rambco
28-01-2002, 17:29
ma non si vede niente ! Cioe' non funziona !

Colino
28-01-2002, 19:55
ci che ho detto io!
sigh!

Wild78
28-01-2002, 20:52
Ragazzi...
logico che dovete avere un form che si chiama frmMDI!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


:D

rambco
28-01-2002, 21:09
lh' fatto ma le immagini non si vedono !

Wild78
28-01-2002, 21:58
E l'image list si deve chiamare imlMenu...




'Prendo il primo menu
hMenuFile = GetSubMenu(hMenuBarra, 0)

'* Assegnazione immagini Menu File
'Alla prima voce del primo menu associo le bitmap indicate...
ris = SetMenuItemBitmaps(hMenuFile, 0, MF_BYPOSITION, _
imlMenu.ListImages(1).Picture.Handle, _
imlMenu.ListImages(1).Picture.Handle)


E se mi dite che non funziona vengo a casa vostra...

:D

rambco
28-01-2002, 22:13
Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByValnPos 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 Const MF_BYPOSITION = &H400&

'* imlMenu un'ImageList. Nota le immagini per i Menu devono essere 13X13.

Private Sub Form_Load()

'* Assegna le immagini nei menu nel Form
Dim hMenuBarra As Long '* handle per la barra dei menu
Dim hMenuFile As Long '* handle del primo menu nella barra
Dim ris As Boolean '* risposta della funzione

'* Ottiene l'handle della barra del menu
hMenuBarra = GetMenu(frmMdi.hwnd)
'Prendo il primo menu
hMenuFile = GetSubMenu(hMenuBarra, 0)

'* Assegnazione immagini Menu File
'Alla prima voce del primo menu associo le bitmap indicate...
ris = SetMenuItemBitmaps(hMenuFile, 0, MF_BYPOSITION, _
imlMenu.ListImages(1).Picture.Handle, _
imlMenu.ListImages(1).Picture.Handle)

End Sub


Questo sta come codice sul form ! Pero non mi visualizza nessuna icona !

Wild78
28-01-2002, 22:58
Scusate la domanda idiota, ma l'imaglist popolato?

Loading