CSplitButton::SetDropDownMenu

定位到突出显示的下拉菜单,当用户单击当前拆分按钮控件的下拉箭头时。

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

参数

Parameter

说明

[in] nMenuId

菜单栏上的资源ID。

[in] nSubMenuId

子菜单的资源ID。

[in] pMenu

为指定子菜单的 CMenu 对象的指针。 当 CSplitButton 对象超出范围时,CSplitButton 对象中删除 CMenu 对象及其关联的 HMENU。

要求

标头: afxcmn.h

此方法在 Windows Vista 和更高版本支持。

此方法的其他要求。Windows vista公共控件的生成要求所述。

备注

nMenuId 参数标识菜单栏,是水平的列表菜单栏项。 nSubMenuId 参数是标识一个子菜单,下拉列表菜单项与每个菜单栏项的从零开始的索引号。 例如,典型的应用程序包含菜单栏项的一个菜单,从“文件,”编辑“,”和“帮助”。“文件”菜单栏项目具有包含菜单项打开的一个的子菜单,“,” “关闭”,“退出”。当拆分按钮控件的下拉箭头单击时,该控件显示所指定的子菜单,而不是菜单栏。

下图显示包含一个页导航控件和一个(1)拆分按钮控件的对话框。 此根(2)下拉箭头已单击了,并且该(3)子菜单显示。

具有拆分按钮和页导航控件的对话框。

示例

下面的代码示例中的第一个语句演示 CSplitButton::SetDropDownMenu 方法。 我们使用Visual Studio资源编辑器中,创建了菜单自动命名菜单栏ID,IDR_MENU1。 nSubMenuId 参数,为零,引用菜单栏的唯一子菜单。

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

请参见

参考

CSplitButton选件类

层次结构图