اضافه
کردن آيکون به منو
براي
اضافه آيکون به منوهاي موجود در يک برنامه visual basic
بايستي از توابع زير که موجود در کتابخانه User32 هستند استفاده
کنيد :
۱
- GetMenu
۲ – GetSubMenu
۳ – GetMenuItemID
۴ – SetMenuIcon
ابتدا يک ماژول ايجاد کنيد و توابع فوق را در آن declare
کنيد :
Public Declare
Function GetMenu Lib
"user32"
(ByVal hwnd As Long) As
Long
Public Declare
Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Public
Declare Function
GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As
Long) As Long
Public 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
براي قرار
دادن يک آيکون در کنار يکي از آيتمهاي منو نياز به handle
فرم ، شماره منو ، شماره آيتم مورد نظر و نيز يک picture
داريم :
Public
Function SetMenuIcon(FrmHwnd
As Long, MainMenuNumber As Long, MenuItemNumber
As Long, Flags As Long, BitmapUncheckedHandle As Long, BitmapCheckedHandle As Long)x
Dim lngMenu As Long
Dim lngSubMenu As Long
Dim lngMenuItemID As Long
lngMenu = GetMenu(FrmHwnd)x
lngSubMenu = GetSubMenu(lngMenu, MainMenuNumber)x
lngMenuItemID = GetMenuItemID(lngSubMenu, MenuItemNumber)x
,SetMenuIcon = SetMenuItemBitmaps(lngMenu, lngMenuItemID, Flags
BitmapUncheckedHandle, BitmapCheckedHandle)x
End
Function
image هاي مورد نظر
خود را با ابعادي حدود 16*16 پيکسل و بصورت PictureBox در فرم خود قرار دهيد و خاصيت Visible
مربوط به PictureBox ها
را False کنيد .
سپس منوهاي خود را توسط Menu Editor طراحي کنيد .
File و Edit منوهاي اصلي هستند . پارامتر MainMenuNumber در تابع فوق شماره منوي اصلي است که براي File
برابر صفر و براي Edit برابر يک مي باشد . پارامتر MenuItemNumber شماره هر آيتم در يک منو است که اين پارامتر نيز از صفر شروع مي
شود .
اکنون براي اضافه کردن سه آيکون به سه آيتم منوي File
کدهاي زير را در Form_Load
بنويسيد :
Private Sub
Form_Load()x
SetMenuIcon Me.hwnd, 0, 0, 0, pic1.Picture, pic1.Picture
SetMenuIcon Me.hwnd, 0, 1, 0, pic2.Picture, pic2.Picture
SetMenuIcon Me.hwnd, 0, 2, 0, pic3.Picture, pic3.Picture
بازگشت به فهرست
بازگشت به صفحه نخست