Posted under Visual Basic
‘Deklarationlar
Public Declare Function LoadImage Lib “user32″ Alias _
”LoadImageA” (ByVal hInst As Long, ByVal lpsz As _
String, ByVal un1 As Long, ByVal n1 As Long, _
ByVal n2 As Long, ByVal un2 As Long) As Long
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
Public Declare Function GetSystemMenu Lib “user32″ _
(ByVal hwnd As Long, ByVal bRevert As Long) As Long
Public Declare Function DeleteObject Lib “gdi32.dll” _
(ByVal hObject As Long) As Long
Public Const MF_BYPOSITION = &H400
Public Const MF_BITMAP = &H4&
Public Const LR_LOADFROMFILE = &H10
Public Const IMAGE_BITMAP = 0
‘Esas Program
Option Explicit
‘Bitmap-Handles sembolleri kayitta tut
Dim imgHandle() As Long
Private Sub Form_Load()
Dim imgCount As Long
’Toplam üc resim sembolleri kullanilmakta (0-2)
imgCount = 2
ReDim imgHandle(imgCount)
’Bildsymbole laden
imgHandle(0) = LoadImage(App.hInstance, _
App.Path & “\test.bmp”, IMAGE_BITMAP, 16, 16, _
LR_LOADFROMFILE)
imgHandle(1) = LoadImage(App.hInstance, _
App.Path & “\test2.bmp”, IMAGE_BITMAP, 16, 16, _
LR_LOADFROMFILE)
imgHandle(2) = LoadImage(App.hInstance, _
App.Path & “\test3.bmp”, IMAGE_BITMAP, 16, 16, _
LR_LOADFROMFILE)
Dim MenuBar As Long
Dim Menu As Long
Dim SubMenu As Long
’Handle Menü
MenuBar = GetMenu(Me.hwnd)
’Handle birinci Menü (soldan): ID 0
Menu = GetSubMenu(MenuBar, 0)
’Handle birinci Menüdeki ilk altMenü
SubMenu = GetSubMenu(Menu, 0)
SetMenuItemBitmaps Menu, SubMenu, MF_BITMAP, _
imgHandle(0), 0&
’Handle birinci Menüdeki ikinci altMenü
SubMenu = GetSubMenu(Menu, 1)
SetMenuItemBitmaps Menu, SubMenu, MF_BITMAP, _
imgHandle(1), 0&
’Handle birinci Menüdeki ücüncü altMenü
SubMenu = GetSubMenu(Menu, 2)
SetMenuItemBitmaps Menu, SubMenu, MF_BITMAP, _
imgHandle(2), 0&
End Sub
Private Sub Form_Unload()
’Bitmap-Resource kayidini silmek
Dim i As Integer
For i = 0 To Ubound(imgHandle)
DeleteObject imgHandle(i)
Next i
End Sub