Compartilhar via


CMenu::SetMenuItemBitmaps

Associa bitmaps especificados com um item de menu.

BOOL SetMenuItemBitmaps( 
   UINT nPosition, 
   UINT nFlags, 
   const CBitmap* pBmpUnchecked, 
   const CBitmap* pBmpChecked  
);

Parâmetros

  • nPosition
    Especifica o item de menu seja alterado. O parâmetro de nFlags pode ser usado para interpretar das seguintes maneiras: nPosition

    nFlags

    Interpretação de nPosition

    MF_BYCOMMAND

    Especifica que o parâmetro fornece a identificação do comando de menu item existente. Esta é a opção se nem nem MF_BYCOMMANDMF_BYPOSITION são definidos.

    MF_BYPOSITION

    Especifica que o parâmetro retorna a posição do item de menu existente. O primeiro item está na posição 0.

  • nFlags
    Especifica como nPosition é interpretado.

  • pBmpUnchecked
    Especifica o bitmap para usar os itens de menu que não são verificados.

  • pBmpChecked
    Especifica o bitmap para usar os itens que são verificados.

Valor de retorno

Diferente de zero se a função é com êxito; se não 0.

Comentários

Se o item de menu está marcada ou desmarcada, as janelas exibem o bitmap apropriada próximo ao item de menu.

Se pBmpUnchecked ou pBmpChecked é NULO, então o windows não exibem nada próxima ao item de menu para o atributo correspondente. Se ambos os parâmetros são NULO, o windows usa a marca de seleção padrão quando o item é selecionado e remove a marca de seleção quando o item for desmarcada.

Quando o menu for destruído, esses bitmaps não serão destruídos; o aplicativo deve destrui-los.

A função de GetMenuCheckMarkDimensions do windows recupera as dimensões da marca de seleção padrão usada para itens de menu. O aplicativo usa esses valores para determinar o tamanho apropriado para bitmaps fornecidos com essa função. Obter o tamanho, crie seus bitmaps, e exibir em.

Exemplo

// The code fragment below is from CMainFrame::OnCreate and shows  
// how to associate bitmaps with the "Bitmap" menu item. 
// Whether the "Bitmap" menu item is checked or unchecked, Windows 
// displays the appropriate bitmap next to the menu item. Both  
// IDB_CHECKBITMAP and IDB_UNCHECKBITMAP bitmaps are loaded  
// in OnCreate() and destroyed in the destructor of CMainFrame class.  
// CMainFrame is a CFrameWnd-derived class. 

// Load bitmaps from resource. Both m_CheckBitmap and m_UnCheckBitmap 
// are member variables of CMainFrame class of type CBitmap.
ASSERT(m_CheckBitmap.LoadBitmap(IDB_CHECKBITMAP));
ASSERT(m_UnCheckBitmap.LoadBitmap(IDB_UNCHECKBITMAP));

// Associate bitmaps with the "Bitmap" menu item. 
CMenu* mmenu = GetMenu();
CMenu* submenu = mmenu->GetSubMenu(4);
ASSERT(submenu->SetMenuItemBitmaps(ID_MENU_BITMAP, MF_BYCOMMAND, 
   &m_CheckBitmap, &m_UnCheckBitmap));
// This code fragment is taken from CMainFrame::~CMainFrame 

// Destroy the bitmap objects if they are loaded successfully  
// in OnCreate(). 
if (m_CheckBitmap.m_hObject)
   m_CheckBitmap.DeleteObject();

if (m_UnCheckBitmap.m_hObject)
   m_UnCheckBitmap.DeleteObject();

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CMenu

Gráfico da hierarquia

GetMenuCheckMarkDimensions

SetMenuItemBitmaps