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