CSplitButton::SetDropDownMenu
設定顯示的下拉式功能表,當使用者按一下目前分割按鈕控制項的下拉箭號時。
void SetDropDownMenu(
UINT nMenuId,
UINT nSubMenuId
);
void SetDropDownMenu(
CMenu* pMenu
);
參數
參數 |
描述 |
---|---|
[in] nMenuId |
功能表列的資源 ID。 |
[in] nSubMenuId |
子功能表的資源 ID。 |
[in] pMenu |
為指定的子功能表的 CMenu 物件的指標。當 CSplitButton 物件超出範圍時, CSplitButton 物件刪除 CMenu 物件及其關聯的 HMENU 。 |
需求
標題: afxcmn.h
這個方法會 Windows Vista (含) 以後版本支援。
這個方法的其他需要。 組建的 Windows Vista 通用控制項的需求說明。
備註
nMenuId 參數識別為功能表列,為功能表列項目一個層級的清單。nSubMenuId 參數是一個子功能表,是功能表項目下拉式清單與每個功能表列項目之以零起始的索引編號。例如,一般的應用程式具有包含功能表列項目的功能表, 「檔案」, 「編輯」,而「說明」。「file」功能表列項目包含功能表項目以開啟中的子功能表中, 「, 「關閉」和「out」。當分割按鈕控制項的下拉箭號、按一下 時,控制項會顯示指定之子功能表,而不是功能表列。
下圖說明包含頁面巡覽區控制項和 (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 );