Partilhar via


CSplitButton::SetDropDownMenu

Define o menu suspenso que é exibido quando um usuário clica na seta suspensa do controle de botão split atual.

void SetDropDownMenu(
    UINT nMenuId, 
    UINT nSubMenuId
);
void SetDropDownMenu(
    CMenu* pMenu
);

Parâmetros

Parâmetro

Descrição

[in] nMenuId

A identificação de recurso de barra de menu.

[in] nSubMenuId

A identificação de recurso de um submenu.

[in] pMenu

Ponteiro para um objeto de CMenu que especifica um submenu.O objeto de CSplitButton exclui o objeto de CMenu e seu HMENU associado ao objeto de CSplitButton sai do escopo.

Requisitos

Cabeçalho: afxcmn.h

Este método é suportado em Windows Vista e posteriormente.

Os requisitos adicionais para o método são descritos em Criar requisitos de controles comuns do Windows Vista.

Comentários

O parâmetro de nMenuId identifica uma barra de menus, que é uma lista de itens horizontal de barra de menu.O parâmetro de nSubMenuId é um número de índice com base zero que identifica um submenu, que é a lista suspensa de itens de menu associados a cada item de barra de menu.Por exemplo, um aplicativo típico tem um menu que contém os itens de barra de menu “,” edição Arquivo, “,” e “ajuda”. O item de barra de menu “de Arquivo” tem um submenu que contém os itens de menu Abrir”, “, “end” e “exit”. Quando a seta suspensa do controle de dividido botão é clicado, o controle exibe o submenu especificado, não a barra de menus.

A figura a seguir descreve um caixa de diálogo que contém um controle de paginação e (1) um controle de botão de divisão.A seta suspensa (2) já foi clicado e o submenus (3) é exibido.

Caixa de diálogo com um controle splitbutton e pager.

Exemplo

A primeira declaração no exemplo de código demonstra o método de CSplitButton::SetDropDownMenu .Criamos o menu com o editor de recursos do Visual Studio, que chamado automaticamente a identificação de barra de menu, IDR_MENU1.O parâmetro de nSubMenuId , que é zero, refere-se ao único submenu de barra de menu.

    // Initialize the dropdown menu of the splitbutton control.
    m_splitButton.SetDropDownMenu(IDR_MENU1, 0);

    // Create the pager control.
    BOOL nRet;
    CRect rect;
    GetClientRect(&rect);
    nRet = m_pager.Create(
        (WS_VISIBLE | WS_CHILD | PGS_HORZ),
        CRect(rect.Width()/4, 5, (rect.Width() * 3)/4, 55),
        this,
        IDC_PAGER1); 

    m_pager.GetClientRect( &rect );
    nRet = m_button.Create(
        _T("This is a very, very long button. 012345678901234567890"), 
        (WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
        CRect(0,0,rect.Width(),30), 
        &m_pager, IDC_BUTTON1);

    m_pager.SetChild(m_button.m_hWnd);
    m_pager.SetButtonSize( 20 );
    m_pager.SetBorder( 1 );

Consulte também

Referência

Classe de CSplitButton

Gráfico de hierarquia