Share via


CSplitButton::SetDropDownMenu

Définit la zone déroulante qui s'affiche lorsqu'un utilisateur clique sur la flèche de déroulement du contrôle actuel de bouton partagé.

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

Paramètres

Paramètre

Description

[in] nMenuId

l'ID de ressource de la barre de menus.

[in] nSubMenuId

l'ID de ressource d'un sous-menu.

[in] pMenu

Pointeur vers un objet de CMenu qui spécifie un sous-menu.L'objet d' CSplitButton supprime l'objet d' CMenu et son HMENU associé à l'objet d' CSplitButton hors de portée.

Configuration requise

en-tête : afxcmn.h

Cette méthode est prise en Windows Vista et versions ultérieures.

Les spécifications supplémentaires pour cette méthode sont décrites dans Spécifications de génération des contrôles communs Windows Vista.

Notes

Le paramètre d' nMenuId identifie une barre de menus, qui est une liste horizontale d'éléments de barre de menus.Le paramètre d' nSubMenuId est un numéro d'index de base zéro qui identifie un sous-menu, qui est la liste déroulante d'éléments de menu associés à chaque élément de barre de menus.Par exemple, une application classique a un menu qui contient les éléments de barre de menus, « fichier », « edit », et « assistance. » L'élément de barre de menus « fichier » a un sous-menu qui contient les éléments de menu, « ouvert, » fin » et « exit ». Lorsque la flèche de déroulement du contrôle bouton partagé utilisateur clique sur, le contrôle affiche le sous-menu spécifié, pas la barre de menus.

L'illustration suivante représente une boîte de dialogue qui contient un contrôle pager et (1) un contrôle bouton partagé.(2) La flèche de déroulement a déjà été cliqué et (3) le sous-menu s'affiche.

Dialogue avec un bouton partagé et un contrôle pager.

Exemple

La première instruction de l'exemple de code suivant montre la méthode de CSplitButton::SetDropDownMenu .Nous avons créé le menu avec l'éditeur de ressources Visual Studio, qui a nommé automatiquement l'ID de barre de menus, IDR_MENU1.Le paramètre d' nSubMenuId , qui est zéro, fait référence à un sous-menu de la barre de menus.

    // 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 );

Voir aussi

Référence

Classe de CSplitButton

Graphique de la hiérarchie