Images a menuer.

Tags:    visual-basic

User
Bruger #650 @ 04.04.02 12:34
Nogle der kender koderne til, at indsæt image i menuerne. Det skal være i filmenuen og popupmenuerne.

Jeg håber meget kan hjælpe, jeg har prøve med to kontroner, da hælde.

Pe, zak@bo.homeip.net



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Du kan bruge nogle API-kald for at gøre dette. Jeg giver dig et eksempel her.

1) Lav en formular med en "File" menu.
2) Lav et menupunkt kaldet f.eks. "New".
3) Lav endnu et punkt kaldet f.eks. "Exit".
4) Indsæt en PictureBox kontrol.
5) Indsæt en kommando knap.
6) Brug følgende kode til at sætte bitmappen med:

<pre>Option Explicit

' WINDOWS API CALLS

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 GetMenuItemID 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 Command1_Click()

'
' We need the form's handle for obtaining the
' menu's handle.
'
Dim hForm As Long
Let hForm = Me.hwnd

'
' Get menu handle.
'
Dim hMenu As Long
Let hMenu = GetMenu(hForm)

'
' We need to obtain the handle for the submenu
' (also called a 'menu command' or 'menu item').
'
Dim hSubMenu As Long
Let hSubMenu = GetSubMenu(hMenu, 0) ' 0=first menu label

'
' Now we can find the ID of the menu item.
'
Dim smID As Long
Let smID = GetMenuItemID(hSubMenu, 0) '0=first menu command

'
' We need to load a picture into memory for using
' with the menu. Bitmap must be 13x13 pixels.
'
Picture1.Picture = LoadPicture("MyPicture.bmp")

'
' Finally, we simply set the new bitmap for the
' menu.
'
SetMenuItemBitmaps hMenu, smID, 0, Picture1.Picture, Picture1.Picture

End Sub
</pre>

Dit bitmap hedder MyBitmap.bmp i eksemplet. Husk lige at lave det om til det rigtige navn. Du skal også lige være opmærksom på, at bitmappen kan højst være 13x13 pixels.

GetSubMenu og GetMenuItemID funktionerne har hver to parametre. ANDET parameter er et tal, der peger på den menu/det menupunkt, du vil manipulere. Disse index starter med 0 (nul) og vokser så deropad afhængigt af, hvor mange menuer du har og hvor mange menupunkter de enkelte menuer har.

Håber dette hjælper dig videre.



Jeg mener da det kan gøres sådan! Til fx "SaveAs1"<pre>
SaveAs1.Glyph.LoadFromFile('nybillede.bmp');</pre>
Men jeg er ikke sikker!

¤¤¤ Mark H. Jensen ¤¤¤



t