Aracılığıyla paylaş


CSplitButton Sınıfı

CSplitButton sınıfı bölünmüş düğme denetimini temsil eder. Bölünmüş düğme denetimi, kullanıcı düğmenin ana bölümüne tıkladığında varsayılan bir davranış gerçekleştirir ve kullanıcı düğmenin açılan okuna tıkladığında açılan menü görüntüler.

Sözdizimi

class CSplitButton : public CButton

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CSplitButton::CSplitButton Bir CSplitButton nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CSplitButton::Create Belirtilen stiller içeren bir bölünmüş düğme denetimi oluşturur ve bunu geçerli CSplitButton nesneye ekler.
CSplitButton::SetDropDownMenu Kullanıcı geçerli bölünmüş düğme denetiminin açılan okuna tıkladığında görüntülenen açılan menüyü ayarlar.

Korumalı Yöntemler

Veri Akışı Adı Açıklama
CSplitButton::OnDropDown Kullanıcı geçerli bölünmüş düğme denetiminin açılan okuna tıkladığında sistemin gönderdiği BCN_DROPDOWN bildirimini işler.

Açıklamalar

CSplitButton sınıfı CButton sınıfından türetilir. Bölünmüş düğme denetimi, stili BS_SPLITBUTTON olan bir düğme denetimidir. Kullanıcı açılan oka tıkladığında özel bir menü görüntüler. Daha fazla bilgi için Düğme Stilleri'ndeki BS_SPLITBUTTON ve BS_DEFSPLITBUTTON stillerine bakın.

Aşağıdaki şekilde, disk belleği denetimi ve (1) bölünmüş düğme denetimi içeren bir iletişim kutusu gösterilmektedir. (2) açılan okuna zaten tıklanmıştır ve (3) alt menüsü görüntülenir.

Bölünmüş düğme ve çağrı kutusu denetimi içeren iletişim kutusu.

Devralma Hiyerarşisi

CObject

CCmdTarget

CWnd

CButton

CSplitButton

Gereksinimler

Üst bilgi: afxcmn.h

Bu sınıf Windows Vista ve sonraki sürümlerde desteklenir.

Bu sınıf için ek gereksinimler, Windows Vista Ortak Denetimleri için Derleme Gereksinimleri bölümünde açıklanmıştır.

CSplitButton::Create

Belirtilen stiller içeren bir bölünmüş düğme denetimi oluşturur ve bunu geçerli CSplitButton nesneye ekler.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametreler

dwStyle
[in] Denetime uygulanacak stillerden oluşan bit düzeyinde bir birleşim (OR). Daha fazla bilgi için bkz . Düğme Stilleri.

Rect
[in] Denetimin konumunu ve boyutunu içeren rect yapısına başvuru.

pParentWnd
[in] Denetimin üst penceresi olan bir CWnd nesnesinin null olmayan işaretçisi.

Nıd
[in] Denetimin kimliği.

Dönüş Değeri

Bu yöntem başarılı olursa TRUE; aksi takdirde YANLIŞ.

CSplitButton::CSplitButton

Bir CSplitButton nesne oluşturur. Oluşturucunun parametreleri, kullanıcı bölünmüş düğme denetiminin açılan okuna tıkladığında görüntülenen bir alt menü belirtir.

CSplitButton();

CSplitButton(
    UINT nMenuId,
    UINT nSubMenuId)
CSplitButton(CMenu* pMenu)

Parametreler

nMenuId
[in] Menü çubuğunun kaynak kimliği.

nSubMenuId
[in] Bir alt menünün kaynak kimliği.

pMenu
[in] Bir alt menü belirten bir CMenu nesnesi işaretçisi. CSplitButton Nesne kapsamın dışına çıktığında nesnesi ve ilişkili HMENU'sunu CSplitButton silerCMenu.

Açıklamalar

Bölünmüş düğme denetimi oluşturmak ve bunu nesneye eklemek CSplitButton için CSplitButton::Create yöntemini kullanın.

CSplitButton::OnDropDown

Kullanıcı geçerli bölünmüş düğme denetiminin açılan okuna tıkladığında sistemin gönderdiği BCN_DROPDOWN bildirimini işler.

afx_msg void OnDropDown(
    NMHDR* pNMHDR,
    LRESULT* pResult);

Parametreler

pNMHDR
[in] BCN_DROPDOWN bildirimi hakkında bilgi içeren bir NMHDR yapısının işaretçisi.

pResult
[out] (Kullanılmaz; değer döndürülmedi.) BCN_DROPDOWN bildiriminin dönüş değeri.

Açıklamalar

Kullanıcı bölünmüş düğme denetimindeki açılan oka tıkladığında, sistem yöntemin OnDropDown işlediği bir BCN_DROPDOWN bildirim iletisi gönderir. Ancak nesne, CSplitButton BCN_DROPDOWN bildirimini bölme düğmesi denetimini içeren denetime iletmez. Sonuç olarak, içeren denetim bildirime yanıt olarak özel bir eylemi destekleyemez.

İçeren denetimin desteklediği özel bir eylem uygulamak için, nesne yerine BS_SPLITBUTTON stiline sahip bir CSplitButton CButton nesnesi kullanın. Ardından nesnesinde BCN_DROPDOWN bildirimi için bir işleyici uygulayın CButton . Daha fazla bilgi için bkz . Düğme Stilleri.

Bölünmüş düğme denetiminin desteklediği özel bir eylem uygulamak için ileti yansımasını kullanın. sınıfından CSplitButton kendi sınıfınızı türetin ve CMySplitButton gibi bir ad verin. Ardından BCN_DROPDOWN bildirimini işlemek için aşağıdaki ileti eşlemesini uygulamanıza ekleyin:

BEGIN_MESSAGE_MAP(CMySplitButton,
    CSplitButton)
    ON_NOTIFY_REFLECT(BCN_DROPDOWN, &CMySplitButton::OnDropDown)
END_MESSAGE_MAP()

CSplitButton::SetDropDownMenu

Kullanıcı geçerli bölünmüş düğme denetiminin açılan okuna tıkladığında görüntülenen açılan menüyü ayarlar.

void SetDropDownMenu(
    UINT nMenuId,
    UINT nSubMenuId);

void SetDropDownMenu(CMenu* pMenu);

Parametreler

nMenuId
[in] Menü çubuğunun kaynak kimliği.

nSubMenuId
[in] Bir alt menünün kaynak kimliği.

pMenu
[in] Bir alt menü belirten bir CMenu nesnesinin işaretçisi. CSplitButton Nesne kapsamın dışına çıktığında nesnesi ve ilişkili HMENU'sunu CSplitButton silerCMenu.

Açıklamalar

nMenuId parametresi, menü çubuğu öğelerinin yatay bir listesi olan menü çubuğunu tanımlar. nSubMenuId parametresi, her menü çubuğu öğesiyle ilişkili menü öğelerinin açılan listesi olan bir alt menüyü tanımlayan sıfır tabanlı bir dizin numarasıdır. Örneğin, tipik bir uygulamanın "Dosya", "Düzenle" ve "Yardım" menü çubuğu öğelerini içeren bir menüsü vardır. "Dosya" menü çubuğu öğesinin "Aç", "Kapat" ve "Çık" menü öğelerini içeren bir alt menüsü vardır. Bölünmüş düğme denetiminin aşağı açılan okuna tıklandığında, denetim menü çubuğunu değil belirtilen alt menüyü görüntüler.

Aşağıdaki şekilde, disk belleği denetimi ve (1) bölünmüş düğme denetimi içeren bir iletişim kutusu gösterilmektedir. (2) açılan okuna zaten tıklanmıştır ve (3) alt menüsü görüntülenir.

Bölünmüş düğme ve çağrı kutusu denetimi içeren iletişim kutusu.

Örnek

Aşağıdaki kod örneğindeki ilk deyim CSplitButton::SetDropDownMenu yöntemini gösterir. Menüyü, menü çubuğu kimliğini otomatik olarak IDR_MENU1 adlandıran Visual Studio kaynak düzenleyicisiyle oluşturduk. Sıfır olan nSubMenuId parametresi, menü çubuğunun tek alt menüsüne başvurur.

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

Ayrıca bkz.

CSplitButton Sınıfı
Hiyerarşi Grafiği
CButton Sınıfı