Aracılığıyla paylaş


CButton Sınıfı

Windows düğmesi denetimlerinin işlevselliğini sağlar.

Sözdizimi

class CButton : public CWnd

Üyeler

Ortak Oluşturucular

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

Genel Yöntemler

Veri Akışı Adı Açıklama
CButton::Create Windows düğmesi denetimini oluşturur ve nesneye CButton ekler.
CButton::D rawItem Sahip tarafından çizilmiş CButton bir nesne çizmek için geçersiz kılın.
CButton::GetBitmap SetBitmap ile önceden ayarlanmış bit eşlem tutamacını alır.
CButton::GetButtonStyle Düğme denetim stili hakkındaki bilgileri alır.
CButton::GetCheck Düğme denetiminin denetim durumunu alır.
CButton::GetCursor Daha önce SetCursor ile ayarlanan imleç görüntüsünün tutamacını alır.
CButton::GetIcon Daha önce SetIcon ile ayarlanan simgenin tutamacını alır.
CButton::GetIdealSize Düğme denetiminin ideal boyutunu alır.
CButton::GetImageList Düğme denetiminin görüntü listesini alır.
CButton::GetNote Geçerli komut bağlantısı denetiminin not bileşenini alır.
CButton::GetNoteLength Geçerli komut bağlantısı denetimi için not metninin uzunluğunu alır.
CButton::GetSplitGlyph Geçerli bölünmüş düğme denetimiyle ilişkili karakteri alır.
CButton::GetSplitImageList Geçerli bölünmüş düğme denetimi için görüntü listesini alır.
CButton::GetSplitInfo Geçerli bölünmüş düğme denetimini tanımlayan bilgileri alır.
CButton::GetSplitSize Geçerli bölünmüş düğme denetiminin açılan bileşeninin sınırlayıcı dikdörtgenini alır.
CButton::GetSplitStyle Geçerli bölünmüş düğme denetimini tanımlayan bölünmüş düğme stillerini alır.
CButton::GetState Düğme denetiminin denetim durumunu, vurgu durumunu ve odak durumunu alır.
CButton::GetTextMargin Düğme denetiminin metin kenar boşluğunu alır.
CButton::SetBitmap Düğmede görüntülenecek bit eşlemi belirtir.
CButton::SetButtonStyle Düğmenin stilini değiştirir.
CButton::SetCheck Düğme denetiminin denetim durumunu ayarlar.
CButton::SetCursor Düğmede görüntülenecek imleç görüntüsünü belirtir.
CButton::SetDropDownState Geçerli bölünmüş düğme denetiminin açılan durumunu ayarlar.
CButton::SetIcon Düğmede görüntülenecek simgeyi belirtir.
CButton::SetImageList Düğme denetiminin görüntü listesini ayarlar.
CButton::SetNote Geçerli komut bağlantısı denetimindeki notu ayarlar.
CButton::SetSplitGlyph Belirtilen bir karakteri geçerli bölünmüş düğme denetimiyle ilişkilendirir.
CButton::SetSplitImageList Bir görüntü listesini geçerli bölünmüş düğme denetimiyle ilişkilendirir.
CButton::SetSplitInfo Geçerli bölünmüş düğme denetimini tanımlayan bilgileri belirtir.
CButton::SetSplitSize Geçerli bölünmüş düğme denetiminin açılan bileşeninin sınırlayıcı dikdörtgenini ayarlar.
CButton::SetSplitStyle Geçerli bölünmüş düğme denetiminin stilini ayarlar.
CButton::SetState Düğme denetiminin vurgulama durumunu ayarlar.
CButton::SetTextMargin Düğme denetiminin metin kenar boşluğunu ayarlar.

Açıklamalar

Düğme denetimi, tıklanıp kapatılabilen küçük, dikdörtgen bir alt penceredir. Düğmeler tek başına veya gruplar halinde kullanılabilir ve etiketlenebilir veya metin olmadan görüntülenebilir. Düğme genellikle kullanıcı tıkladığında görünümü değiştirir.

Tipik düğmeler onay kutusu, radyo düğmesi ve basma düğmesidir. Bir CButton nesne, Create member işlevi tarafından başlatılırken belirtilen düğme stiline göre bunlardan herhangi birine dönüşebilir.

Ayrıca, öğesinden CButton türetilen CBitmapButton sınıfı, metin yerine bit eşlem görüntüleriyle etiketlenmiş düğme denetimlerinin oluşturulmasını destekler. bir CBitmapButton düğmenin yukarı, aşağı, odaklanmış ve devre dışı durumları için ayrı bit eşlemlere sahip olabilir.

Bir iletişim kutusu şablonundan veya doğrudan kodunuz içinde bir düğme denetimi oluşturabilirsiniz. Her iki durumda da önce nesneyi oluşturmak için oluşturucuyu CButton çağırın CButton ; ardından Üye işlevini çağırarak Create Windows düğmesi denetimini oluşturun ve nesneye CButton ekleyin.

İnşaat, sınıfından CButtontüretilen tek adımlı bir işlem olabilir. Türetilmiş sınıf için bir oluşturucu yazın ve oluşturucunun içinden çağrısı Create gerçekleştirin.

Bir düğme denetimi tarafından üst öğesine gönderilen Windows bildirim iletilerini işlemek istiyorsanız (genellikle CDialog'dan türetilen bir sınıf), her ileti için üst sınıfa bir ileti eşleme girdisi ve ileti işleyicisi üye işlevi ekleyin.

Her ileti eşleme girdisi aşağıdaki formu alır:

ON_Notification ( id, memberFxn )

burada id , bildirimi gönderen denetimin alt pencere kimliğini belirtir ve memberFxn, bildirimi işlemek için yazdığınız üst üye işlevinin adıdır.

Ebeveynin işlev prototipi aşağıdaki gibidir:

afx_msg void memberFxn();

Olası ileti eşlemesi girişleri aşağıdaki gibidir:

Eşleme girdisi Ebeveyne gönderildiğinde...
ON_BN_CLICKED Kullanıcı bir düğmeye tıklar.
ON_BN_DOUBLECLICKED Kullanıcı bir düğmeye çift tıklar.

İletişim kutusu kaynağından bir CButton nesne oluşturursanız, CButton kullanıcı iletişim kutusunu kapattığında nesne otomatik olarak yok edilir.

Bir pencere içinde bir CButton nesne oluşturursanız, onu yok etmeniz gerekebilir. işlevini kullanarak new yığında nesnesi oluşturursanızCButton, kullanıcı Windows düğme denetimini kapattığında yok etmek için nesne üzerinde çağrısında delete bulunması gerekir. Nesneyi yığında oluşturursanız CButton veya üst iletişim kutusu nesnesine eklenirse, nesne otomatik olarak yok edilir.

Devralma Hiyerarşisi

CObject

CCmdTarget

CWnd

CButton

Gereksinimler

Üst bilgi: afxwin.h

CButton::CButton

Bir CButton nesne oluşturur.

CButton();

Örnek

// Declare a button object.
CButton myButton;

CButton::Create

Windows düğmesi denetimini oluşturur ve nesneye CButton ekler.

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

Parametreler

lpszCaption
Düğme denetiminin metnini belirtir.

dwStyle
Düğme denetiminin stilini belirtir. Düğmeye düğme stillerinin herhangi bir bileşimini uygulayın.

Rect
Düğme denetiminin boyutunu ve konumunu belirtir. Nesne veya RECT yapı olabilirCRect.

pParentWnd
Düğme denetiminin üst penceresini ( genellikle bir CDialog) belirtir. NULL olmamalıdır.

Nıd
Düğme denetiminin kimliğini belirtir.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

İki adımda bir CButton nesne oluşturursunuz. İlk olarak oluşturucuyu çağırın ve ardından Windows düğme denetimini oluşturan ve nesnesine ekleyen öğesini çağırınCreateCButton.

WS_VISIBLE stili verilirse, Windows düğme denetimini etkinleştirmek ve düğmeyi göstermek için gereken tüm iletileri gönderir.

Düğme denetimine aşağıdaki pencere stillerini uygulayın:

  • Her Zaman WS_CHILD

  • WS_VISIBLE Genellikle

  • WS_DISABLED Nadiren

  • WS_GROUP Gruplandırma denetimleri

  • WS_TABSTOP Düğmeyi sekme sırasına eklemek için

Örnek

CButton myButton1, myButton2, myButton3, myButton4;

// Create a push button.
myButton1.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
                 CRect(10, 10, 100, 30), pParentWnd, 1);

// Create a radio button.
myButton2.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
                 CRect(10, 40, 100, 70), pParentWnd, 2);

// Create an auto 3-state button.
myButton3.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_AUTO3STATE,
                 CRect(10, 70, 100, 100), pParentWnd, 3);

// Create an auto check box.
myButton4.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX,
                 CRect(10, 100, 100, 130), pParentWnd, 4);

CButton::D rawItem

Sahip tarafından çizilen bir düğmenin görsel bir yönü değiştiğinde çerçeve tarafından çağrılır.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

Parametreler

lpDrawItemStruct
DRAWITEMSTRUCT yapısına yönelik uzun bir işaretçi. Yapı, çizilecek öğe ve gerekli çizim türü hakkında bilgi içerir.

Açıklamalar

Sahip tarafından çizilen düğmede BS_OWNERDRAW stili ayarlanmıştır. Sahip tarafından çizilmiş CButton bir nesne için çizim uygulamak için bu üye işlevini geçersiz kılın. Uygulama, üye işlevi sonlanmadan önce lpDrawItemStruct içinde sağlanan görüntü bağlamı için seçilen tüm grafik cihaz arabirimi (GDI) nesnelerini geri yüklemelidir.

Ayrıca BS_ stil değerlerine de bakın.

Örnek

// NOTE: CMyButton is a class derived from CButton. The CMyButton
// object was created as follows:
//
// CMyButton myButton;
// myButton.Create(_T("My button"),
//      WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,
//      CRect(10,10,100,30), pParentWnd, 1);
//

// This example implements the DrawItem method for a CButton-derived
// class that draws the button's text using the color red.
void CMyButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
   UINT uStyle = DFCS_BUTTONPUSH;

   // This code only works with buttons.
   ASSERT(lpDrawItemStruct->CtlType == ODT_BUTTON);

   // If drawing selected, add the pushed style to DrawFrameControl.
   if (lpDrawItemStruct->itemState & ODS_SELECTED)
      uStyle |= DFCS_PUSHED;

   // Draw the button frame.
   ::DrawFrameControl(lpDrawItemStruct->hDC, &lpDrawItemStruct->rcItem,
                      DFC_BUTTON, uStyle);

   // Get the button's text.
   CString strText;
   GetWindowText(strText);

   // Draw the button text using the text color red.
   COLORREF crOldColor = ::SetTextColor(lpDrawItemStruct->hDC, RGB(255, 0, 0));
   ::DrawText(lpDrawItemStruct->hDC, strText, strText.GetLength(),
              &lpDrawItemStruct->rcItem, DT_SINGLELINE | DT_VCENTER | DT_CENTER);
   ::SetTextColor(lpDrawItemStruct->hDC, crOldColor);
}

CButton::GetBitmap

Daha önce SetBitmap ile ayarlanmış ve bir düğmeyle ilişkilendirilmiş bit eşlem tutamacını almak için bu üye işlevini çağırın.

HBITMAP GetBitmap() const;

Dönüş Değeri

Bit eşlem tutamacı. Daha önce bit eşlem belirtilmemişse NULL.

Örnek

CButton myBitmapButton;

// Create a bitmap button.
myBitmapButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_BITMAP,
                      CRect(10, 10, 60, 50), pParentWnd, 1);

// If no bitmap is defined for the button, define the bitmap to the
// system close bitmap.
if (myBitmapButton.GetBitmap() == NULL)
   myBitmapButton.SetBitmap(::LoadBitmap(NULL, MAKEINTRESOURCE(OBM_CLOSE)));

CButton::GetButtonStyle

Düğme denetim stili hakkındaki bilgileri alır.

UINT GetButtonStyle() const;

Dönüş Değeri

Bu CButton nesnenin düğme stillerini döndürür. Bu işlev, diğer pencere stillerinden herhangi birini değil yalnızca BS_ stil değerlerini döndürür.

Örnek

CButton myRadioButton;

// Create a radio button.
myRadioButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
                     CRect(10, 10, 100, 30), pParentWnd, 1);

// Change the button style to use one of the "auto" styles; for
// push button, change to def push button.
UINT uStyle = myRadioButton.GetButtonStyle();
if (uStyle == BS_PUSHBUTTON)
   uStyle = BS_DEFPUSHBUTTON;
else if (uStyle == BS_RADIOBUTTON)
   uStyle = BS_AUTORADIOBUTTON;
else if (uStyle == BS_CHECKBOX)
   uStyle = BS_AUTOCHECKBOX;
else if (uStyle == BS_3STATE)
   uStyle = BS_AUTO3STATE;

// Change the button style to the one wanted.
myRadioButton.SetButtonStyle(uStyle);

CButton::GetCheck

Radyo düğmesinin veya onay kutusunun onay durumunu alır.

int GetCheck() const;

Dönüş Değeri

BS_AUTOCHECKBOX, BS_AUTORADIOBUTTON, BS_AUTO3STATE, BS_CHECKBOX, BS_RADIOBUTTON veya BS_3STATE stiliyle oluşturulan düğme denetiminden döndürülen değer aşağıdaki değerlerden biridir:

Değer Anlamı
BST_UNCHECKED Düğme durumu işaretlenmemiş.
BST_CHECKED Düğme durumu işaretli.
BST_INDETERMINATE Düğme durumu belirsiz (yalnızca düğmenin BS_3STATE veya BS_AUTO3STATE stili varsa geçerlidir).

Düğmenin başka bir stili varsa, dönüş değeri BST_UNCHECKED.

Örnek

CButton myA3Button;

// Create an auto 3-state button.
myA3Button.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_AUTO3STATE,
                  CRect(10, 10, 100, 30), pParentWnd, 1);

// Set the check state to the next state
// (i.e. BST_UNCHECKED changes to BST_CHECKED
// BST_CHECKED changes to BST_INDETERMINATE
// BST_INDETERMINATE changes to BST_UNCHECKED).
myA3Button.SetCheck(((myA3Button.GetCheck() + 1) % 3));

CButton::GetCursor

Daha önce SetCursor ile ayarlanmış ve bir düğmeyle ilişkilendirilmiş bir imlecin tutamacını almak için bu üye işlevini çağırın.

HCURSOR GetCursor();

Dönüş Değeri

İmleç görüntüsünün tutamacı. Önceden imleç belirtilmemişse NULL.

Örnek

CButton myIconButton;

// Create an icon button.
myIconButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_ICON,
                    CRect(10, 10, 60, 50), pParentWnd, 1);

// If no image is defined for the button, define the image to the
// system arrow and question mark cursor.
if (myIconButton.GetCursor() == NULL)
   myIconButton.SetCursor(::LoadCursor(NULL, IDC_HELP));

CButton::GetIcon

Daha önce SetIcon ile ayarlanmış ve bir düğmeyle ilişkilendirilmiş bir simgenin tutamacını almak için bu üye işlevini çağırın.

HICON GetIcon() const;

Dönüş Değeri

Simgenin tutamacı. Daha önce simge belirtilmemişse NULL.

Örnek

CButton myIconButton2;

// Create an icon button.
myIconButton2.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_ICON,
                     CRect(10, 10, 60, 50), pParentWnd, 1);

// If no icon is defined for the button, define the icon to the
// system error icon.
if (myIconButton2.GetIcon() == NULL)
   myIconButton2.SetIcon(::LoadIcon(NULL, IDI_ERROR));

CButton::GetIdealSize

Düğme denetimi için ideal boyutu alır.

BOOL GetIdealSize(SIZE* psize);

Parametreler

psize
Düğmenin geçerli boyutuna işaret eden bir işaretçi.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu üye işlevi, Windows SDK'sının Düğmeler bölümünde açıklandığı gibi BCM_GETIDEALSIZE iletisinin işlevselliğine öykünmektedir.

CButton::GetImageList

Düğme denetiminden görüntü listesini almak için bu yöntemi çağırın.

BOOL GetImageList(PBUTTON_IMAGELIST pbuttonImagelist);

Parametreler

pbuttonImagelist
Nesnenin görüntü listesinin işaretçisi CButton .

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu üye işlevi, Windows SDK'sının Düğmeler bölümünde açıklandığı gibi BCM_GETIMAGELIST iletisinin işlevselliğine öykünmektedir.

CButton::GetNote

Geçerli komut bağlantısı denetimiyle ilişkili not metnini alır.

CString GetNote() const;

BOOL GetNote(
    LPTSTR lpszNote,
    UINT* cchNote) const;

Parametreler

lpszNote
[out] Çağıranın ayırma ve serbest bırakmadan sorumlu olduğu bir arabelleğe yönelik işaretçi. Dönüş değeri TRUE ise, arabellek geçerli komut bağlantısı denetimiyle ilişkili not metnini içerir; aksi takdirde arabellek değişmez.

cchNote
[in, out] İşaretsiz bir tamsayı değişkeninin işaretçisi. Bu yöntem çağrıldığında değişken, lpszNote parametresi tarafından belirtilen arabellek boyutunu içerir. Bu yöntem döndürdüğünde, dönüş değeri TRUE ise değişken geçerli komut bağlantısı denetimiyle ilişkili notun boyutunu içerir. Dönüş değeri YANLIŞ ise, değişken notu içermek için gereken arabellek boyutunu içerir.

Dönüş Değeri

İlk aşırı yüklemede, geçerli komut bağlantısı denetimiyle ilişkili not metnini içeren bir CString nesnesi.

-veya-

İkinci aşırı yüklemede, bu yöntem başarılı olursa TRUE; aksi takdirde YANLIŞ.

Açıklamalar

Bu yöntemi yalnızca düğme stili BS_COMMANDLINK veya BS_DEFCOMMANDLINK olan denetimlerle kullanın.

Bu yöntem, Windows SDK'sında açıklanan BCM_GETNOTE iletisini gönderir.

CButton::GetNoteLength

Geçerli komut bağlantısı denetimi için not metninin uzunluğunu alır.

UINT GetNoteLength() const;

Dönüş Değeri

Geçerli komut bağlantısı denetimi için 16 bit Unicode karakterleriyle not metninin uzunluğu.

Açıklamalar

Bu yöntemi yalnızca düğme stili BS_COMMANDLINK veya BS_DEFCOMMANDLINK olan denetimlerle kullanın.

Bu yöntem, Windows SDK'sında açıklanan BCM_GETNOTELENGTH iletisini gönderir.

CButton::GetSplitGlyph

Geçerli bölünmüş düğme denetimiyle ilişkili karakteri alır.

TCHAR GetSplitGlyph() const;

Dönüş Değeri

Geçerli bölünmüş düğme denetimiyle ilişkili karakter karakteri.

Açıklamalar

Karakter, belirli bir yazı tipindeki bir karakterin fiziksel gösterimidir. Örneğin, bölünmüş düğme denetimi Unicode onay işareti karakterinin karakteriyle (U+2713) dekore edilmiş olabilir.

Bu yöntemi yalnızca düğme stili BS_SPLITBUTTON veya BS_DEFSPLITBUTTON olan denetimlerle kullanın.

Bu yöntem, BCSIF_GLYPH bayrağıyla bir BUTTON_SPLITINFO yapısının üyesini başlatır mask ve ardından bu yapıyı Windows SDK'sında açıklanan BCM_GETSPLITINFO iletisine gönderir. İleti işlevi döndürdüğünde, bu yöntem yapının üyesinden himlGlyph karakteri alır.

CButton::GetSplitImageList

Geçerli bölünmüş düğme denetimi için görüntü listesini alır.

CImageList* GetSplitImageList() const;

Dönüş Değeri

CImageList nesnesinin işaretçisi.

Açıklamalar

Bu yöntemi yalnızca düğme stili BS_SPLITBUTTON veya BS_DEFSPLITBUTTON olan denetimlerle kullanın.

Bu yöntem, BCSIF_IMAGE bayrağıyla bir BUTTON_SPLITINFO yapısının üyesini başlatır mask ve ardından bu yapıyı Windows SDK'sında açıklanan BCM_GETSPLITINFO iletisine gönderir. İleti işlevi döndürdüğünde, bu yöntem yapı üyesinden himlGlyph görüntü listesini alır.

CButton::GetSplitInfo

Windows'un geçerli bölünmüş düğme denetimini nasıl çizdiğini belirleyen parametreleri alır.

BOOL GetSplitInfo(PBUTTON_SPLITINFO pInfo) const;

Parametreler

pInfo
[out] Geçerli bölünmüş düğme denetimi hakkında bilgi alan bir BUTTON_SPLITINFO yapısının işaretçisi. Çağıran, yapıyı ayırmadan sorumludur.

Dönüş Değeri

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

Açıklamalar

Bu yöntemi yalnızca düğme stili BS_SPLITBUTTON veya BS_DEFSPLITBUTTON olan denetimlerle kullanın.

Bu yöntem, Windows SDK'sında açıklanan BCM_GETSPLITINFO iletisini gönderir.

CButton::GetSplitSize

Geçerli bölünmüş düğme denetiminin açılan bileşeninin sınırlayıcı dikdörtgenini alır.

BOOL GetSplitSize(LPSIZE pSize) const;

Parametreler

pSize
[out] Bir dikdörtgenin açıklamasını alan BOYUT yapısına yönelik işaretçi.

Dönüş Değeri

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

Açıklamalar

Bu yöntemi yalnızca düğme stili BS_SPLITBUTTON veya BS_DEFSPLITBUTTON olan denetimlerle kullanın.

Bölünmüş düğme denetimi genişletildiğinde, liste denetimi veya çağrı cihazı denetimi gibi bir açılan bileşen görüntüleyebilir. Bu yöntem, açılan bileşeni içeren sınırlayıcı dikdörtgeni alır.

Bu yöntem, BCSIF_SIZE bayrağıyla bir BUTTON_SPLITINFO yapısının üyesini başlatır mask ve ardından bu yapıyı Windows SDK'sında açıklanan BCM_GETSPLITINFO iletisine gönderir. İleti işlevi döndürdüğünde, bu yöntem sınırlayıcı dikdörtgeni yapının üyesinden size alır.

CButton::GetSplitStyle

Geçerli bölünmüş düğme denetimini tanımlayan bölünmüş düğme stillerini alır.

UINT GetSplitStyle() const;

Dönüş Değeri

Bölünmüş düğme stillerinin bit düzeyinde birleşimi. Daha fazla bilgi için bkzuSplitStyle. BUTTON_SPLITINFO yapısının üyesi.

Açıklamalar

Bu yöntemi yalnızca düğme stili BS_SPLITBUTTON veya BS_DEFSPLITBUTTON olan denetimlerle kullanın.

Bölünmüş düğme stilleri, Windows'un bölünmüş düğme simgesi çizdiği hizalamayı, en boy oranını ve grafik biçimini belirtir.

Bu yöntem, BCSIF_STYLE bayrağıyla bir BUTTON_SPLITINFO yapısının üyesini başlatır mask ve ardından bu yapıyı Windows SDK'sında açıklanan BCM_GETSPLITINFO iletisine gönderir. İleti işlevi döndürdüğünde, bu yöntem yapının üyesinden uSplitStyle bölünmüş düğme stillerini alır.

CButton::GetState

Düğme denetiminin durumunu alır.

UINT GetState() const;

Dönüş Değeri

Bir düğme denetiminin geçerli durumunu gösteren değerlerin birleşimini içeren bit alanı. Aşağıdaki tabloda olası değerler listelemektedir.

Düğme Durumu Value Açıklama
BST_UNCHECKED 0x0000 İlk durum.
BST_CHECKED 0x0001 Düğme denetimi denetlendi.
BST_INDETERMINATE 0x0002 Durum belirsizdir (yalnızca düğme denetiminin üç durumu olduğunda mümkündür).
BST_PUSHED 0x0004 Düğme denetimine basılır.
BST_FOCUS 0x0008 Odak düğme denetimindedir.

Açıklamalar

BS_3STATE veya BS_AUTO3STATE düğme stiline sahip bir düğme denetimi, belirsiz durum olarak adlandırılan üçüncü bir duruma sahip bir onay kutusu oluşturur. Belirsiz durum, onay kutusunun işaretlenmediğini veya işaretlenmediğini gösterir.

Örnek

CButton myPushButton;

// Create a push button.
myPushButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
                    CRect(10, 10, 100, 30), pParentWnd, 1);

// Invert the highlight state of the button.
myPushButton.SetState(!(myPushButton.GetState() & 0x0004));

CButton::GetTextMargin

Nesnenin metin kenar boşluğunu almak için bu yöntemi çağırın CButton .

BOOL GetTextMargin(RECT* pmargin);

Parametreler

pmargin
Nesnenin metin kenar boşluğuna işaret eden CButton bir işaretçi.

Dönüş Değeri

Metin kenar boşluğunu döndürür. Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu üye işlevi, Windows SDK'sının Düğmeler bölümünde açıklandığı gibi BCM_GETTEXTMARGIN iletisinin işlevselliğine öykünmektedir.

CButton::SetBitmap

Düğmeyle yeni bir bit eşlem ilişkilendirmek için bu üye işlevini çağırın.

HBITMAP SetBitmap(HBITMAP hBitmap);

Parametreler

hBitmap
Bit eşlem tutamacı.

Dönüş Değeri

Daha önce düğmeyle ilişkilendirilmiş bit eşlem tutamacı.

Açıklamalar

Bit eşlem, düğmenin yüzüne otomatik olarak yerleştirilir ve varsayılan olarak ortalanır. Bit eşlem düğme için çok büyükse, her iki tarafa da kırpılır. Aşağıdakiler de dahil olmak üzere diğer hizalama seçeneklerini belirleyebilirsiniz:

  • BS_TOP

  • BS_LEFT

  • BS_RIGHT

  • BS_CENTER

  • BS_BOTTOM

  • BS_VCENTER

Düğme başına dört bit eşlem kullanan CBitmapButton'ın aksine, SetBitmap düğme başına yalnızca bir bit eşlem kullanır. Düğmeye basıldığında bit eşlem aşağı ve sağa doğru kayıyor gibi görünür.

Bit eşlemi bitirdiğinizde serbest bırakmak sizin sorumluluğunuzdadır.

Örnek

CButton myBitmapButton;

// Create a bitmap button.
myBitmapButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_BITMAP,
                      CRect(10, 10, 60, 50), pParentWnd, 1);

// If no bitmap is defined for the button, define the bitmap to the
// system close bitmap.
if (myBitmapButton.GetBitmap() == NULL)
   myBitmapButton.SetBitmap(::LoadBitmap(NULL, MAKEINTRESOURCE(OBM_CLOSE)));

CButton::SetButtonStyle

Düğmenin stilini değiştirir.

void SetButtonStyle(
    UINT nStyle,
    BOOL bRedraw = TRUE);

Parametreler

nStyle
Düğme stilini belirtir.

bRedraw
Düğmenin yeniden çizilip çizilmeyeceğini belirtir. Sıfır olmayan bir değer düğmeyi yeniden çizer. 0 değeri düğmeyi yeniden çizmez. Düğme varsayılan olarak yeniden çizilir.

Açıklamalar

GetButtonStyle Düğme stilini almak için üye işlevini kullanın. Tam düğme stilinin düşük sıralı sözcüğü, düğmeye özgü stildir.

Örnek

CButton myRadioButton;

// Create a radio button.
myRadioButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON,
                     CRect(10, 10, 100, 30), pParentWnd, 1);

// Change the button style to use one of the "auto" styles; for
// push button, change to def push button.
UINT uStyle = myRadioButton.GetButtonStyle();
if (uStyle == BS_PUSHBUTTON)
   uStyle = BS_DEFPUSHBUTTON;
else if (uStyle == BS_RADIOBUTTON)
   uStyle = BS_AUTORADIOBUTTON;
else if (uStyle == BS_CHECKBOX)
   uStyle = BS_AUTOCHECKBOX;
else if (uStyle == BS_3STATE)
   uStyle = BS_AUTO3STATE;

// Change the button style to the one wanted.
myRadioButton.SetButtonStyle(uStyle);

CButton::SetCheck

Radyo düğmesinin veya onay kutusunun onay durumunu ayarlar veya sıfırlar.

void SetCheck(int nCheck);

Parametreler

nCheck
Denetim durumunu belirtir. Bu parametre aşağıdakilerden biri olabilir:

Değer Anlamı
BST_UNCHECKED Düğme durumunu işaretlenmemiş olarak ayarlayın.
BST_CHECKED Düğme durumunu işaretli olarak ayarlayın.
BST_INDETERMINATE Düğme durumunu belirsiz olarak ayarlayın. Bu değer yalnızca düğmenin BS_3STATE veya BS_AUTO3STATE stili varsa kullanılabilir.

Açıklamalar

Bu üye işlevinin bir düğme üzerinde hiçbir etkisi yoktur.

Örnek

CButton myA3Button;

// Create an auto 3-state button.
myA3Button.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_AUTO3STATE,
                  CRect(10, 10, 100, 30), pParentWnd, 1);

// Set the check state to the next state
// (i.e. BST_UNCHECKED changes to BST_CHECKED
// BST_CHECKED changes to BST_INDETERMINATE
// BST_INDETERMINATE changes to BST_UNCHECKED).
myA3Button.SetCheck(((myA3Button.GetCheck() + 1) % 3));

CButton::SetCursor

Yeni bir imleci düğmeyle ilişkilendirmek için bu üye işlevini çağırın.

HCURSOR SetCursor(HCURSOR hCursor);

Parametreler

hCursor
İmlecin tutamacı.

Dönüş Değeri

Daha önce düğmeyle ilişkilendirilmiş bir imlecin tutamacı.

Açıklamalar

İmleç otomatik olarak düğmenin yüzüne yerleştirilir ve varsayılan olarak ortalanır. İmleç düğme için çok büyükse, iki tarafa da kırpılır. Aşağıdakiler de dahil olmak üzere diğer hizalama seçeneklerini belirleyebilirsiniz:

  • BS_TOP

  • BS_LEFT

  • BS_RIGHT

  • BS_CENTER

  • BS_BOTTOM

  • BS_VCENTER

Düğme başına dört bit eşlem kullanan CBitmapButton'ın aksine, SetCursor düğme başına yalnızca bir imleç kullanır. Düğmeye basıldığında, imleç aşağı ve sağa doğru kayacak şekilde görünür.

Örnek

CButton myIconButton;

// Create an icon button.
myIconButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_ICON,
                    CRect(10, 10, 60, 50), pParentWnd, 1);

// If no image is defined for the button, define the image to the
// system arrow and question mark cursor.
if (myIconButton.GetCursor() == NULL)
   myIconButton.SetCursor(::LoadCursor(NULL, IDC_HELP));

CButton::SetDropDownState

Geçerli bölünmüş düğme denetiminin açılan durumunu ayarlar.

BOOL SetDropDownState(BOOL fDropDown);

Parametreler

fDropDown
[in] BST_DROPDOWNPUSHED durumunu ayarlamak için TRUE; aksi takdirde YANLIŞ.

Dönüş Değeri

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

Açıklamalar

Bölünmüş düğme denetimi, BS_SPLITBUTTON veya BS_DEFSPLITBUTTON stiline sahiptir ve sağ tarafındaki bir düğme ve açılan oklardan oluşur. Daha fazla bilgi için bkz . Düğme Stilleri. Genellikle, kullanıcı açılan oka tıkladığında açılan durum ayarlanır. Denetimin açılan durumunu program aracılığıyla ayarlamak için bu yöntemi kullanın. Aşağı açılan ok, durumu belirtmek için gölgeli çizilir.

Bu yöntem, Windows SDK'sında açıklanan BCM_SETDROPDOWNSTATE iletisini gönderir.

Örnek

İlk kod örneği, m_splitButtonbölünmüş düğme denetimine program aracılığıyla erişmek için kullanılan değişkenini tanımlar. Bu değişken aşağıdaki örnekte kullanılmıştır.

public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;

Sonraki kod örneği, açılan okun gönderildiğini belirtmek için bölünmüş düğme denetiminin durumunu ayarlar.

/* Set the state of the split button control to indicate that 
   the drop-down arrow is pushed. The arrow is drawn shaded to 
   indicate the state.
   */
m_splitButton.SetDropDownState(TRUE);

CButton::SetElevationRequired

Geçerli düğme denetiminin elevation requireddurumunu olarak ayarlar. Bu, denetimin yükseltilmiş bir güvenlik simgesi görüntülemesi için gereklidir.

BOOL SetElevationRequired(BOOL fElevationRequired);

Parametreler

fElevationRequired
[in] Durumu ayarlamak elevation required için TRUE; aksi takdirde YANLIŞ.

Dönüş Değeri

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

Açıklamalar

Bir düğme veya komut bağlantısı denetimi bir eylemi gerçekleştirmek için yükseltilmiş güvenlik izni gerektiriyorsa, denetimi durum olarak elevation required ayarlayın. Daha sonra Windows, denetimde Kullanıcı Hesabı Denetimi (UAC) kalkan simgesini görüntüler. Daha fazla bilgi için bkz . Kullanıcı Hesabı Denetimi.

Bu yöntem, Windows SDK'sında açıklanan BCM_SETSHIELD iletisini gönderir.

CButton::SetIcon

Düğmeyle yeni bir simge ilişkilendirmek için bu üye işlevini çağırın.

HICON SetIcon(HICON hIcon);

Parametreler

hIcon
Simgenin tutamacı.

Dönüş Değeri

Daha önce düğmeyle ilişkilendirilmiş bir simgenin tutamacı.

Açıklamalar

Simge, düğmenin yüzüne otomatik olarak yerleştirilir ve varsayılan olarak ortalanır. Simge düğme için çok büyükse, iki tarafa da kırpılır. Aşağıdakiler de dahil olmak üzere diğer hizalama seçeneklerini belirleyebilirsiniz:

  • BS_TOP

  • BS_LEFT

  • BS_RIGHT

  • BS_CENTER

  • BS_BOTTOM

  • BS_VCENTER

Düğme başına dört bit eşlem kullanan CBitmapButton'ın aksine, SetIcon düğme başına yalnızca bir simge kullanır. Düğmeye basıldığında simge aşağı ve sağa doğru kayacak şekilde görünür.

Örnek

CButton myIconButton2;

// Create an icon button.
myIconButton2.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_ICON,
                     CRect(10, 10, 60, 50), pParentWnd, 1);

// If no icon is defined for the button, define the icon to the
// system error icon.
if (myIconButton2.GetIcon() == NULL)
   myIconButton2.SetIcon(::LoadIcon(NULL, IDI_ERROR));

CButton::SetImageList

Nesnenin görüntü listesini ayarlamak için bu yöntemi çağırın CButton .

BOOL SetImageList(PBUTTON_IMAGELIST pbuttonImagelist);

Parametreler

pbuttonImagelist
Yeni resim listesinin işaretçisi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Bu üye işlevi, Windows SDK'sının Düğmeler bölümünde açıklandığı gibi BCM_SETIMAGELIST iletisinin işlevselliğine öykünmektedir.

CButton::SetNote

Geçerli komut bağlantısı denetimi için not metnini ayarlar.

BOOL SetNote(LPCTSTR lpszNote);

Parametreler

lpszNote
[in] Komut bağlantısı denetimi için not metni olarak ayarlanmış bir Unicode dizesi işaretçisi.

Dönüş Değeri

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

Açıklamalar

Bu yöntemi yalnızca düğme stili BS_COMMANDLINK veya BS_DEFCOMMANDLINK olan denetimlerle kullanın.

Bu yöntem, Windows SDK'sında açıklanan BCM_SETNOTE iletisini gönderir.

Örnek

İlk kod örneği, m_cmdLinkkomut bağlantısı denetimine program aracılığıyla erişmek için kullanılan değişkenini tanımlar. Bu değişken aşağıdaki örnekte kullanılmıştır.

public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;

Sonraki kod örneği, komut bağlantısı denetimi için not metnini ayarlar.

// Set the command link text.
m_cmdLink.SetNote(_T("This is the command link note."));

CButton::SetSplitGlyph

Belirtilen bir karakteri geçerli bölünmüş düğme denetimiyle ilişkilendirir.

BOOL SetSplitGlyph(TCHAR chGlyph);

Parametreler

chGlyph
[in] Bölünmüş düğme açılan oku olarak kullanılacak karakteri belirten karakter.

Dönüş Değeri

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

Açıklamalar

Bu yöntemi yalnızca düğme stili BS_SPLITBUTTON veya BS_DEFSPLITBUTTON olan denetimlerle kullanın.

Karakter, belirli bir yazı tipindeki bir karakterin fiziksel gösterimidir. chGlyph parametresi glif olarak kullanılmaz, bunun yerine sistem tanımlı bir karakter kümesinden bir karakter seçmek için kullanılır. Varsayılan açılan ok karakteri '6' karakteriyle belirtilir ve Unicode karakterE BENZER SİYAH AŞAĞI İŞARET ÜÇGENİ (U+25BC).

Bu yöntem, BCSIF_GLYPH bayrağıyla bir BUTTON_SPLITINFO yapısının himlGlyph üyesini ve chGlyph parametresine sahip üyeyi başlatır mask ve ardından bu yapıyı Windows SDK'sında açıklanan BCM_GETSPLITINFO iletisine gönderir.

CButton::SetSplitImageList

Bir görüntü listesini geçerli bölünmüş düğme denetimiyle ilişkilendirir.

BOOL SetSplitImageList(CImageList* pSplitImageList);

Parametreler

pSplitImageList
[in] Geçerli bölünmüş düğme denetimine atanacak bir CImageList nesnesi işaretçisi.

Dönüş Değeri

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

Açıklamalar

Bu yöntemi yalnızca düğme stili BS_SPLITBUTTON veya BS_DEFSPLITBUTTON olan denetimlerle kullanın.

Bu yöntem, BCSIF_IMAGE bayrağıyla bir BUTTON_SPLITINFO yapısının üyesini himlGlyph ve pSplitImageList parametresiyle üyeyi başlatır mask ve ardından bu yapıyı Windows SDK'sında açıklanan BCM_GETSPLITINFO iletisine gönderir.

CButton::SetSplitInfo

Windows'un geçerli bölünmüş düğme denetimini nasıl çizdiğini belirleyen parametreleri belirtir.

BOOL SetSplitInfo(PBUTTON_SPLITINFO pInfo);

Parametreler

pInfo
[in] Geçerli bölünmüş düğme denetimini tanımlayan bir BUTTON_SPLITINFO yapısının işaretçisi.

Dönüş Değeri

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

Açıklamalar

Bu yöntemi yalnızca düğme stili BS_SPLITBUTTON veya BS_DEFSPLITBUTTON olan denetimlerle kullanın.

Bu yöntem, Windows SDK'sında açıklanan BCM_SETSPLITINFO iletisini gönderir.

Örnek

İlk kod örneği, m_splitButtonbölünmüş düğme denetimine program aracılığıyla erişmek için kullanılan değişkenini tanımlar.

public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;

Sonraki kod örneği, bölünmüş düğme açılan oku için kullanılan karakteri değiştirir. Örnek, varsayılan aşağı işaret eden üçgen karakteri için yukarı işaret eden üçgen karakterin yerini alır. Görüntülenen karakter, yapının üyesinde belirttiğiniz karaktere himlGlyph BUTTON_SPLITINFO bağlıdır. Aşağı işaret eden üçgen karakteri '6' karakteriyle, yukarı işaret eden üçgen karakteri ise '5' karakteriyle belirtilir. Karşılaştırma için CButton::SetSplitGlyph kolaylık yöntemine bakın.

/* 
   The drop-down arrow glyph is a function of the specified character. 
   The default "down" drop-down arrow glyph is specified by a 
   character '6'. Set the "up" arrow glyph, which is a character '5'.
   See the convenience method, SetSplitGlyph(), for comparison.
   */
BUTTON_SPLITINFO bsInfo = {0};
bsInfo.mask = BCSIF_GLYPH;
TCHAR chGlyph = _T('5'); // "up" arrow glyph
bsInfo.himlGlyph = (HIMAGELIST)chGlyph;
bRC = m_splitButton.SetSplitInfo(&bsInfo);

CButton::SetSplitSize

Geçerli bölünmüş düğme denetiminin açılan bileşeninin sınırlayıcı dikdörtgenini ayarlar.

BOOL SetSplitSize(LPSIZE pSize);

Parametreler

pSize
[in] Sınırlayıcı dikdörtgeni açıklayan BIR BOYUT yapısının işaretçisi.

Dönüş Değeri

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

Açıklamalar

Bu yöntemi yalnızca düğme stili BS_SPLITBUTTON veya BS_DEFSPLITBUTTON olan denetimlerle kullanın.

Bölünmüş düğme denetimi genişletildiğinde, liste denetimi veya çağrı cihazı denetimi gibi bir açılan bileşen görüntüleyebilir. Bu yöntem, açılan bileşeni içeren sınırlayıcı dikdörtgenin boyutunu belirtir.

Bu yöntem, BCSIF_SIZE bayrağıyla bir BUTTON_SPLITINFO yapısının üyesini size ve pSize parametresine sahip üyeyi başlatır mask ve ardından bu yapıyı Windows SDK'sında açıklanan BCM_GETSPLITINFO iletisine gönderir.

Örnek

İlk kod örneği, m_splitButtonbölünmüş düğme denetimine program aracılığıyla erişmek için kullanılan değişkenini tanımlar. Bu değişken aşağıdaki örnekte kullanılmıştır.

public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;

Sonraki kod örneği, bölünmüş düğme açılan okunun boyutunu ikiye katlar.

// Double the size of the split button drop-down arrow.
SIZE sz;
bRC = m_splitButton.GetSplitSize(&sz); // current size
sz.cx = sz.cx * 2;
sz.cy = sz.cy * 2;
bRC = m_splitButton.SetSplitSize(&sz);

CButton::SetSplitStyle

Geçerli bölünmüş düğme denetiminin stilini ayarlar.

BOOL SetSplitStyle(UINT uSplitStyle);

Parametreler

uSplitStyle
[in] Bölünmüş düğme stillerinin bit düzeyinde birleşimi. Daha fazla bilgi için bkzuSplitStyle. BUTTON_SPLITINFO yapısının üyesi.

Dönüş Değeri

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

Açıklamalar

Bu yöntemi yalnızca düğme stili BS_SPLITBUTTON veya BS_DEFSPLITBUTTON olan denetimlerle kullanın.

Bölünmüş düğme stilleri, Windows'un bölünmüş düğme simgesi çizdiği hizalamayı, en boy oranını ve grafik biçimini belirtir. Daha fazla bilgi için bkzuSplitStyle. BUTTON_SPLITINFO yapısının üyesi.

Bu yöntem, BCSIF_STYLE bayrağıyla bir BUTTON_SPLITINFO yapısının uSplitStyle üyesini ve uSplitStyle parametresine sahip üyeyi başlatır mask ve ardından bu yapıyı Windows SDK'sında açıklanan BCM_GETSPLITINFO iletisine gönderir.

Örnek

İlk kod örneği, m_splitButtonbölünmüş düğme denetimine program aracılığıyla erişmek için kullanılan değişkenini tanımlar.

public:
// Variable to access programatically defined command link control.
CButton m_cmdLink;
// Variable to access programatically defined split button control.
CButton m_splitButton;

Sonraki kod örneği, bölünmüş düğme açılan okunun stilini ayarlar. BCSS_ALIGNLEFT stili, düğmenin sol tarafındaki oku görüntüler ve düğmeyi yeniden boyutlandırdığınızda BCSS_STRETCH stili açılan okun orantılarını korur.

/* 
    Set the style of the split button drop-down arrow: Display the 
    arrow on the left and retain the arrow's proportions when resizing 
    the control.
    */
bRC = m_splitButton.SetSplitStyle(BCSS_ALIGNLEFT | BCSS_STRETCH);

CButton::SetState

Düğme denetiminin vurgulanıp vurgulanmayacağını ayarlar.

void SetState(BOOL bHighlight);

Parametreler

bHighlight
Düğmenin vurgulanıp vurgulanmayacağını belirtir. Sıfır olmayan bir değer düğmeyi vurgular; 0 değeri tüm vurgulamaları kaldırır.

Açıklamalar

Vurgulama, düğme denetiminin dışını etkiler. Radyo düğmesinin veya onay kutusunun onay durumu üzerinde hiçbir etkisi yoktur.

Kullanıcı sol fare düğmesine tıkladığında ve tuttuğunda düğme denetimi otomatik olarak vurgulanır. Kullanıcı fare düğmesini serbest bıraktığında vurgulama kaldırılır.

Örnek

CButton myPushButton;

// Create a push button.
myPushButton.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
                    CRect(10, 10, 100, 30), pParentWnd, 1);

// Invert the highlight state of the button.
myPushButton.SetState(!(myPushButton.GetState() & 0x0004));

CButton::SetTextMargin

Nesnenin metin kenar boşluğunu ayarlamak için bu yöntemi çağırın CButton .

BOOL SetTextMargin(RECT* pmargin);

Parametreler

pmargin
Yeni metin kenar boşluğuna bir işaretçi.

Dönüş Değeri

Başarılı olduğunda TRUE, hatada YANLIŞ döndürür.

Açıklamalar

Bu üye işlevi, Windows SDK'sının Düğmeler bölümünde açıklandığı gibi BCM_SETTEXTMARGIN iletisinin işlevselliğine öykünmektedir.

Ayrıca bkz.

CWnd Sınıfı
Hiyerarşi Grafiği
CWnd Sınıfı
CComboBox Sınıfı
CEdit Sınıfı
CListBox Sınıfı
CScrollBar Sınıfı
CStatic Sınıfı
CBitmapButton Sınıfı
CDialog Sınıfı