# Function Reference

# _GUICtrlMenu_SetItemBitmaps

Associates the specified bitmap with a menu item

#include <GuiMenu.au3>
_GUICtrlMenu_SetItemBitmaps ( $hMenu, $iItem, $hChecked, $hUnChecked [, $bByPos = True] )

## Parameters

$hMenu | Menu handle
$iItem | Identifier or position of the menu item
$hChecked | Handle to the bitmap displayed when the menu item is selected
$hUnChecked | Handle to the bitmap displayed when the menu item is not selected
$bByPos | [optional] Menu identifier flag: True - $iItem is a 0-based item position False - $iItem is a menu item identifier

## Return Value

Success: | True.
Failure: | False.

## Remarks

If either the $hUnchecked or $hChecked parameter is 0, the system displays nothing next to the menu item for the corresponding check state.
If both parameters are 0, the system displays the default check mark bitmap when the item is selected, and removes the bitmap when the item is not selected.

## Related

_GUICtrlMenu_SetItemBmpChecked, _GUICtrlMenu_SetItemBmpUnchecked

## See Also

Search SetMenuItemBitmaps in MSDN Library.

## Example

    #include "Extras\HelpFileInternals.au3"

    #include <GUIConstantsEx.au3>
    #include <GuiMenu.au3>
    #include <WinAPIGdi.au3>

    Example()

    Func Example()
        Local $hGUI, $hFile, $hEdit, $hHelp, $hMain, $hBmp1, $hBmp2
        Local Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $e_idExit, $e_idCut, $e_idCopy, $e_idPaste, $e_idAbout

        ; Create GUI
        $hGUI = GUICreate("Menu", 400, 300)

        ; Create File menu
        $hFile = _GUICtrlMenu_CreateMenu()
        _GUICtrlMenu_InsertMenuItem($hFile, 0, "&New", $e_idNew)
        _GUICtrlMenu_InsertMenuItem($hFile, 1, "&Open", $e_idOpen)
        _GUICtrlMenu_InsertMenuItem($hFile, 2, "&Save", $e_idSave)
        _GUICtrlMenu_InsertMenuItem($hFile, 3, "", 0)
        _GUICtrlMenu_InsertMenuItem($hFile, 4, "E&xit", $e_idExit)

        ; Create Edit menu
        $hEdit = _GUICtrlMenu_CreateMenu()
        _GUICtrlMenu_InsertMenuItem($hEdit, 0, "&Cut", $e_idCut)
        _GUICtrlMenu_InsertMenuItem($hEdit, 1, "C&opy", $e_idCopy)
        _GUICtrlMenu_InsertMenuItem($hEdit, 2, "&Paste", $e_idPaste)

        ; Create Help menu
        $hHelp = _GUICtrlMenu_CreateMenu()
        _GUICtrlMenu_InsertMenuItem($hHelp, 0, "&About", $e_idAbout)

        ; Create Main menu
        $hMain = _GUICtrlMenu_CreateMenu()
        _GUICtrlMenu_InsertMenuItem($hMain, 0, "&File", 0, $hFile)
        _GUICtrlMenu_InsertMenuItem($hMain, 1, "&Edit", 0, $hEdit)
        _GUICtrlMenu_InsertMenuItem($hMain, 2, "&Help", 0, $hHelp)

        ; Set window menu
        _GUICtrlMenu_SetMenu($hGUI, $hMain)

        ; Create memo control
        _MemoCreate(2, 2, 396, 276, 0)
        GUISetState(@SW_SHOW)

        ; Set File menu checked/unchecked bitmaps
        $hBmp1 = _WinAPI_CreateSolidBitmap($hGUI, 0xFF0000, 11, 11)
        $hBmp2 = _WinAPI_CreateSolidBitmap($hGUI, 0x00FF00, 11, 11)
        _GUICtrlMenu_SetItemBitmaps($hFile, 0, $hBmp1, $hBmp2)
        _GUICtrlMenu_SetItemBitmaps($hFile, 1, $hBmp1, $hBmp2)
        _GUICtrlMenu_SetItemBitmaps($hFile, 2, $hBmp1, $hBmp2)

        ; Check Open menu item
        _GUICtrlMenu_CheckMenuItem($hFile, 1)

        ; Show that bitmap handles match
        _MemoWrite("Checked handle ......: 0x" & Hex($hBmp1))
        _MemoWrite("Unchecked handle ....: 0x" & Hex($hBmp2))
        _MemoWrite("Open checked handle .: 0x" & Hex(_GUICtrlMenu_GetItemBmpChecked($hFile, 0)))
        _MemoWrite("Open unchecked handle: 0x" & Hex(_GUICtrlMenu_GetItemBmpUnchecked($hFile, 0)))

        ; Loop until the user exits.
        Do
        Until GUIGetMsg() = $GUI_EVENT_CLOSE
    EndFunc   ;==>Example