在菜单中加入图标

    技术2022-05-11  149

    'API函数声明
    Option Explicit
    Private Declare Function GetMenu Lib "user32"(Byval hwnd As Long) _
    As Long '取得窗口的菜单句柄,hwnd是窗口的句柄
    Private Declare Function GetSubMenu Lib "user32"(Byval hMenu As _
    Long,Byval nPos As Long) As Long '取得子菜单句柄,nPos是菜单的位置
    Private Declare Function SetMenuItemBitmaps Lib "user32"(Byval _
    hMenu As Long,Byval nPos As Long,Byval wFlags As Long,Byval _
    hBitUnchecked As Long,Byval hBitChecked As Long) As Long
    '为菜单设置相应的图形
    Const MF_BITMAP=&H400&
    '用image或picture或imagelist控件装入图形(必须是bmp格式),16*16左右
    '建好菜单
    Private Sub Form_Load()
    Dim hMenu,hSubMenu1,hSubMenu2 As Long
    hMenu=GetMenu(me.hwnd)
    hSubMenu1=GetSubMenu(hMenu,0) '取得第一项菜单的子菜单句柄
    SetMenuItemBitmaps hSubMenu1,0,MF_BITMAP,imagelist1.listimages(1) _
    .picture,imagelist1.listimages(1).picture
    '为hSubMenu1的第一项设置图形,假设用imagelist控件装入图形
    SetMenuItemBitmaps hSubMenu1,1,MF_BITMAP,imagelist1.listimages(2) _
    .picture,imagelist1.listimages(2).picture
    '设置第二项,同样你还可以设置第xx项。

    hSubMenu2=GetSubMenu(hMenu,1) '取得第二项菜单的子菜单句柄

    '也可用SetMenuItemBitmaps来设置它的图形,只更改hSubMenu1为hSubMenu2
    '即可
    End Sub

    最新回复(0)