CSplitButton::SetDropDownMenu
Nastaví rozevírací nabídky, která se zobrazí, když uživatel klepne na šipku rozevíracího seznamu ovládacího prvku aktuální tlačítko Rozdělit.
void SetDropDownMenu(
UINT nMenuId,
UINT nSubMenuId
);
void SetDropDownMenu(
CMenu* pMenu
);
Parametry
Parametr |
Description |
---|---|
[v]nMenuId |
ID zdroje nabídek. |
[v]nSubMenuId |
ID zdroje podnabídky. |
[v]pMenu |
Ukazatel CMenu objektu, který určuje podnabídky. CSplitButton Odstraní objekt CMenu objektu a jeho přidružený HMENU při CSplitButton objekt je mimo rozsah. |
Požadavky
Záhlaví: afxcmn.h
Tato metoda je podporována v a novější.
Další požadavky této metody jsou popsány v Vytváření požadavků pro běžné ovládací prvky systému Windows Vista.
Poznámky
nMenuId Parametr identifikuje řádek nabídek, který je vodorovný seznam položek nabídky panelu. nSubMenuId z nuly vycházející index číslo, které identifikuje podnabídky rozevíracího seznamu položek nabídky spojené s každou položku nabídky panel je parametr.Typická aplikace má například nabídku, která obsahuje položky nabídky panel, "Soubor", "Edit" a "Help". "Soubor" položky nabídky panel obsahuje podnabídku obsahující položky nabídky "Otevřít" "Zavřít" a "Konec". Po klepnutí na šipku rozevíracího seznamu ovládacího prvku tlačítko Rozdělit zobrazí zadaný podnabídky řádek nabídek.
Následující obrázek znázorňuje dialogové okno obsahující pager ovládací prvek tlačítko rozdělit (1).(2) Rozevírací šipku již navštívil a zobrazí se podnabídka (3).
Příklad
První příkaz v následujícím příkladu kódu ukazuje CSplitButton::SetDropDownMenu metoda.Jsme vytvořili nabídku s Visual Studio editoru zdrojů automaticky s názvem ID řádku nabídky, IDR_MENU1 . nSubMenuId Parametr, který je nulová, se týká pouze podnabídka nabídek.
// 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 );