Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Az CSplitButton osztály egy osztott gomb vezérlőelemet jelöl. Az osztott gomb vezérlő alapértelmezett viselkedést hajt végre, amikor egy felhasználó a gomb fő részére kattint, és megjelenik egy legördülő menü, amikor a felhasználó a gomb legördülő nyílára kattint.
Szemantika
class CSplitButton : public CButton
Tagok
Nyilvános konstruktorok
| Név | Description |
|---|---|
| CSplitButton::CSplitButton | Egy CSplitButton objektumot hoz létre. |
Nyilvános metódusok
| Név | Description |
|---|---|
| CSplitButton::Létrehozás | Egy felosztott gomb vezérlőelemet hoz létre a megadott stílusokkal, és csatolja az aktuális CSplitButton objektumhoz. |
| CSplitButton::SetDropDownMenu | Beállítja a legördülő menüt, amely akkor jelenik meg, amikor egy felhasználó az aktuális felosztás gomb vezérlőelem legördülő nyílára kattint. |
Védett metódusok
| Név | Description |
|---|---|
| CSplitButton::OnDropDown | Kezeli a BCN_DROPDOWN értesítést, amelyet a rendszer akkor küld, amikor a felhasználó az aktuális felosztógomb vezérlőelem legördülő nyilat választja. |
Megjegyzések
Az CSplitButton osztály a CButton osztályból származik. Az osztott gomb vezérlőelem olyan gombvezérlő, amelynek stílusa BS_SPLITBUTTON. Egyéni menüt jelenít meg, amikor egy felhasználó a legördülő nyílra kattint. További információkért tekintse meg a gombstílusok BS_SPLITBUTTON és BS_DEFSPLITBUTTON stílusát.
Az alábbi ábrán egy lapozóvezérlőt és egy (1) felosztott gombot tartalmazó párbeszédpanel látható. A (2) legördülő nyílra már kattintott, és megjelenik a (3) almenü.
Öröklési hierarchia
CSplitButton
Requirements
Fejléc: afxcmn.h
Ez az osztály Windows Vista és újabb verziókban is támogatott.
Az osztály további követelményeit a Windows Vista gyakori vezérlőinek buildelési követelményei ismertetik.
CSplitButton::Létrehozás
Egy felosztott gomb vezérlőelemet hoz létre a megadott stílusokkal, és csatolja az aktuális CSplitButton objektumhoz.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Paraméterek
dwStyle
[in] A vezérlőelemre alkalmazni kívánt stílusok bitenkénti kombinációja (OR). További információ: Gombstílusok.
téglalap
[in] A vezérlő pozícióját és méretét tartalmazó RECT-struktúrára mutató hivatkozás.
pParentWnd
[in] Nem null mutató egy CWnd objektumra, amely a vezérlő szülőablaka.
nID
[in] A vezérlő azonosítója.
Visszaadott érték
IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.
CSplitButton::CSplitButton
Egy CSplitButton objektumot hoz létre. A konstruktor paraméterei egy almenüt határoznak meg, amely akkor jelenik meg, ha a felhasználó az osztott gomb vezérlőelem legördülő nyílára kattint.
CSplitButton();
CSplitButton(
UINT nMenuId,
UINT nSubMenuId)
CSplitButton(CMenu* pMenu)
Paraméterek
nMenuId
[in] A menüsáv erőforrás-azonosítója.
nSubMenuId
[in] Egy almenü erőforrás-azonosítója.
pMenu
[in] Egy almenüt meghatározó CMenu-objektumra mutató mutató. Az CSplitButton objektum törli az CMenu objektumot és a hozzá tartozó HMENU-t, amikor az objektum kimegy a CSplitButton hatókörből.
Megjegyzések
Használja a CSplitButton::Create metódust egy osztott gomb vezérlőelem létrehozásához és az CSplitButton objektumhoz való csatolásához.
CSplitButton::OnDropDown
Kezeli a BCN_DROPDOWN értesítést, amelyet a rendszer akkor küld, amikor a felhasználó az aktuális felosztógomb vezérlőelem legördülő nyilat választja.
afx_msg void OnDropDown(
NMHDR* pNMHDR,
LRESULT* pResult);
Paraméterek
pNMHDR
[in] Mutasson egy NMHDR-struktúrára , amely a BCN_DROPDOWN értesítéssel kapcsolatos információkat tartalmazza.
pResult
[kifelé] (Nincs használatban; a rendszer nem ad vissza értéket.) Az BCN_DROPDOWN értesítés visszaadott értéke.
Megjegyzések
Amikor a felhasználó egy felosztott gomb vezérlőelemen a legördülő nyílra kattint, a rendszer egy BCN_DROPDOWN értesítési üzenetet küld, amelyet a OnDropDown metódus kezel. Az CSplitButton objektum azonban nem továbbítja a BCN_DROPDOWN értesítést az osztott gomb vezérlőt tartalmazó vezérlőnek. Következésképpen a vezérlő nem támogatja az egyéni műveletet az értesítésre válaszul.
A vezérlő által támogatott egyéni művelet implementálásához használjon olyan CButton objektumot, amely BS_SPLITBUTTON stílussal rendelkezik objektum CSplitButton helyett. Ezután implementáljon egy kezelőt az objektum BCN_DROPDOWN értesítéséhez CButton . További információ: Gombstílusok.
Az osztott gomb vezérlő által támogatott egyéni művelet implementálásához használja az üzenetvisszaverést. Saját osztályt származtat az CSplitButton osztályból, és nevezze el, például CMySplitButtonnak. Ezután adja hozzá az alábbi üzenettérképet az alkalmazáshoz a BCN_DROPDOWN értesítés kezeléséhez:
BEGIN_MESSAGE_MAP(CMySplitButton,
CSplitButton)
ON_NOTIFY_REFLECT(BCN_DROPDOWN, &CMySplitButton::OnDropDown)
END_MESSAGE_MAP()
CSplitButton::SetDropDownMenu
Beállítja a legördülő menüt, amely akkor jelenik meg, amikor egy felhasználó az aktuális felosztás gomb vezérlőelem legördülő nyílára kattint.
void SetDropDownMenu(
UINT nMenuId,
UINT nSubMenuId);
void SetDropDownMenu(CMenu* pMenu);
Paraméterek
nMenuId
[in] A menüsáv erőforrás-azonosítója.
nSubMenuId
[in] Egy almenü erőforrás-azonosítója.
pMenu
[in] Mutasson egy almenüt meghatározó CMenu-objektumra . Az CSplitButton objektum törli az CMenu objektumot és a hozzá tartozó HMENU-t, amikor az objektum kimegy a CSplitButton hatókörből.
Megjegyzések
Az nMenuId paraméter egy menüsávot azonosít, amely a menüsorelemek vízszintes listája. Az nSubMenuId paraméter egy nulla alapú indexszám, amely egy almenüt azonosít, amely az egyes menüsorelemekhez társított menüelemek legördülő listája. Egy tipikus alkalmazásnak például van egy menüje, amely tartalmazza a menüsáv elemeit, a "Fájl", a "Szerkesztés" és a "Súgó" elemet. A "Fájl" menüsorelem tartalmaz egy almenüt, amely tartalmazza a "Megnyitás", a "Bezárás" és a "Kilépés" menüpontot. Amikor a felosztógomb vezérlőelem legördülő nyilat választja, a vezérlő nem a menüsávot, hanem a megadott almenüt jeleníti meg.
Az alábbi ábrán egy lapozóvezérlőt és egy (1) felosztott gombot tartalmazó párbeszédpanel látható. A (2) legördülő nyílra már kattintott, és megjelenik a (3) almenü.
Example
A következő példakód első utasítása a CSplitButton::SetDropDownMenu metódust mutatja be. A menüt a Visual Studio erőforrás-szerkesztőjével hoztuk létre, amely automatikusan elnevezte a menüsáv azonosítóját, IDR_MENU1. Az nSubMenuId paraméter, amely nulla, a menüsáv egyetlen almenüjére hivatkozik.
// 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);