Megosztás a következőn keresztül:


CButton osztály

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.

A Windows gombvezérlők funkcióit biztosítja.

Szemantika

class CButton : public CWnd

Tagok

Nyilvános konstruktorok

Név Description
CButton::CButton Egy CButton objektumot hoz létre.

Nyilvános metódusok

Név Description
CButton::Létrehozás Létrehozza a Windows gombvezérlőt, és csatolja az CButton objektumhoz.
CButton::D rawItem Felülbírálás egy tulajdonos által rajzolt CButton objektum rajzolásához.
CButton::GetBitmap Lekéri a SetBitmap-tal korábban beállított bitkép leíróját.
CButton::GetButtonStyle Információt kér le a gombvezérlő stílusáról.
CButton::GetCheck Lekéri egy gombvezérlő ellenőrzési állapotát.
CButton::GetCursor Lekéri a setCursorral korábban beállított kurzorkép fogópontját.
CButton::GetIcon Lekéri a SetIconnal korábban beállított ikon fogópontját.
CButton::GetIdealSize Lekéri a gombvezérlő ideális méretét.
CButton::GetImageList Lekéri a gombvezérlő képlistáját.
CButton::GetNote Lekéri az aktuális parancshivatkozás-vezérlő jegyzetösszetevőjét.
CButton::GetNoteLength Lekéri az aktuális parancshivatkozás vezérlőelem jegyzetszövegének hosszát.
CButton::GetSplitGlyph Lekéri az aktuális felosztási gomb vezérlőjével társított karakterjelet.
CButton::GetSplitImageList Lekéri az aktuális felosztási gomb vezérlőjének képlistáját.
CButton::GetSplitInfo Lekéri az aktuális felosztási gomb vezérlőt meghatározó információkat.
CButton::GetSplitSize Lekéri az aktuális felosztási gomb vezérlőelem legördülő összetevőjének határoló téglalapját.
CButton::GetSplitStyle Lekéri az aktuális felosztási gomb vezérlőelemet meghatározó felosztási gombstílusokat.
CButton::GetState Lekéri egy gombvezérlő ellenőrzési állapotát, kiemelési állapotát és fókuszállapotát.
CButton::GetTextMargin Lekéri a gombvezérlő szövegmargóját.
CButton::SetBitmap Megadja a gombon megjelenítendő bitképet.
CButton::SetButtonStyle Módosítja a gomb stílusát.
CButton::SetCheck Egy gombvezérlő ellenőrzési állapotát állítja be.
CButton::SetCursor A gombon megjelenítendő kurzorképet adja meg.
CButton::SetDropDownState Az aktuális felosztási gomb vezérlőelem legördülő állapotát állítja be.
CButton::SetIcon A gombon megjelenítendő ikont adja meg.
CButton::SetImageList Beállítja a gombvezérlő képlistáját.
CButton::SetNote Beállítja a megjegyzést az aktuális parancshivatkozás-vezérlőn.
CButton::SetSplitGlyph Egy megadott karakterjel társítása az aktuális felosztási gomb vezérlőjével.
CButton::SetSplitImageList Képlistát társít az aktuális felosztási gomb vezérlőelemhez.
CButton::SetSplitInfo Az aktuális felosztási gomb vezérlőt meghatározó információkat adja meg.
CButton::SetSplitSize Beállítja az aktuális felosztási gomb vezérlőelem legördülő összetevőjének határoló téglalapját.
CButton::SetSplitStyle Az aktuális felosztás gomb vezérlőelem stílusának beállítása.
CButton::SetState Gombvezérlő kiemelési állapotát állítja be.
CButton::SetTextMargin Beállítja a gombvezérlő szövegmargóját.

Megjegyzések

A gombvezérlő egy kis, téglalap alakú gyermekablak, amely be- és kikapcsolható. A gombok önállóan vagy csoportokban is használhatók, és feliratozottak vagy szöveg nélkül is megjeleníthetők. Egy gomb általában megváltozik, amikor a felhasználó rákattint rá.

Jellemző gomb a jelölőnégyzet, a választógomb és a nyomógomb. Az CButton objektumok ezek bármelyikévé válhatnak a Tag létrehozása függvény inicializálásánál megadott gombstílusnak megfelelően.

Emellett a CBitmapButton osztály a CButton szöveg helyett bitképekkel címkézett gombvezérlők létrehozását is támogatja. A CBitmapButton gombok felfelé, lefelé, szűrt és letiltott állapotához külön bitképek tartozhatnak.

Gombvezérlőt párbeszédpanelsablonból vagy közvetlenül a kódból is létrehozhat. Mindkét esetben először hívja meg a konstruktort CButton az CButton objektum létrehozásához, majd hívja meg a Create tagfüggvényt a Windows gombvezérlő létrehozásához és az CButton objektumhoz való csatolásához.

Az építés egy egylépéses folyamat lehet egy osztályban, amely a következőből CButtonszármazik: . Írjon konstruktort a származtatott osztályhoz, és hívja meg Create a konstruktoron belülről.

Ha egy gombvezérlő által a szülőnek küldött Windows-értesítési üzeneteket (általában a CDialogból származó osztályt) szeretné kezelni, minden üzenethez adjon hozzá egy üzenettérkép-bejegyzést és egy üzenetkezelő tagfüggvényt a szülőosztályhoz.

Minden üzenettérkép-bejegyzés a következő formában történik:

ON_Notification(id, memberFxn)

ahol az azonosító az értesítést küldő vezérlő gyermekablak-azonosítóját adja meg, a memberFxn pedig annak a szülőtagfüggvénynek a neve, amelyet az értesítés kezeléséhez írt.

A szülő függvény prototípusa a következő:

afx_msg void memberFxn();

Az üzenettérkép lehetséges bejegyzései a következők:

Térképbejegyzés Szülőnek küldve, amikor...
ON_BN_CLICKED A felhasználó egy gombra kattint.
ON_BN_DOUBLECLICKED A felhasználó duplán kattint egy gombra.

Ha egy párbeszédpanel-erőforrásból hoz létre CButton objektumot, a rendszer automatikusan megsemmisíti az CButton objektumot, amikor a felhasználó bezárja a párbeszédpanelt.

Ha egy objektumot CButton egy ablakban hoz létre, előfordulhat, hogy el kell pusztítania. Ha a függvény használatával hozza létre az CButton objektumot a new halomon, akkor a felhasználó bezárásakor meg kell hívnia delete az objektumot, hogy semmisítse meg. Ha az objektumot CButton a veremen hozza létre, vagy a szülő párbeszédpanel-objektumba van beágyazva, a rendszer automatikusan megsemmisíti.

Öröklési hierarchia

CObject

CCmdTarget

CWnd

CButton

Requirements

Fejléc: afxwin.h

CButton::CButton

Egy CButton objektumot hoz létre.

CButton();

Example

// Declare a button object.
CButton myButton;

CButton::Létrehozás

Létrehozza a Windows gombvezérlőt, és csatolja az CButton objektumhoz.

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

Paraméterek

lpszCaption
Megadja a gombvezérlő szövegét.

dwStyle
Megadja a gombvezérlő stílusát. A gombstílusok bármilyen kombinációját alkalmazhatja a gombra.

téglalap
Megadja a gombvezérlő méretét és pozícióját. CRect Lehet objektum vagy RECT struktúra.

pParentWnd
A gombvezérlő szülőablakát adja meg, általában egy CDialog. Nem lehet NULL.

Nid
Megadja a gombvezérlő azonosítóját.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Egy objektumot CButton két lépésben hozhat létre. Először hívja meg a konstruktort, majd hívja meg Create, amely létrehozza a Windows gombvezérlőt, és csatolja az CButton objektumhoz.

Ha a WS_VISIBLE stílus meg van adva, a Windows elküldi a gombvezérlőt az aktiváláshoz és a gomb megjelenítéséhez szükséges összes üzenethez.

Alkalmazza a következő ablakstílusokat egy gombvezérlőre:

  • WS_CHILD Always

  • WS_VISIBLE általában

  • WS_DISABLED ritkán

  • WS_GROUP Csoportvezérlők

  • WS_TABSTOP A gomb belefoglalása a lapozási sorrendbe

Example

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

A keretrendszer meghívta, amikor egy tulajdonos által rajzolt gomb vizuális aspektusa megváltozott.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

Paraméterek

lpDrawItemStruct
Hosszú mutató egy DRAWITEMSTRUCT-struktúrára . A struktúra információkat tartalmaz a megrajzolandó elemről és a szükséges rajz típusáról.

Megjegyzések

A tulajdonos által rajzolt gomb BS_OWNERDRAW stíluskészlettel rendelkezik. A tagfüggvény felülbírálása a tulajdonos által rajzolt CButton objektumok rajzának implementálásához. Az alkalmazásnak a tagfüggvény leállása előtt vissza kell állítania az lpDrawItemStruct-ben megadott megjelenítési környezethez kiválasztott grafikus eszközillesztő (GDI) objektumokat.

A BS_ stílusértékeket is megtekintheti.

Example

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

Hívja meg ezt a tagfüggvényt, hogy lekérje a gombhoz társított, korábban SetBitmap-tal beállított bitkép fogópontját.

HBITMAP GetBitmap() const;

Visszaadott érték

Egy bitképhez tartozó fogópont. NULL érték, ha korábban nem adott meg bitképet.

Example

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

Információt kér le a gombvezérlő stílusáról.

UINT GetButtonStyle() const;

Visszaadott érték

Az objektum gombstílusait CButton adja vissza. Ez a függvény csak a BS_ stílusértékeket adja vissza, a többi ablakstílust nem.

Example

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

Beolvassa a választógomb vagy a jelölőnégyzet állapotát.

int GetCheck() const;

Visszaadott érték

A BS_AUTOCHECKBOX, BS_AUTORADIOBUTTON, BS_AUTO3STATE, BS_CHECKBOX, BS_RADIOBUTTON vagy BS_3STATE stílussal létrehozott gomb vezérlőelem visszatérési értéke az alábbi értékek egyike:

Érték Meaning
BST_UNCHECKED A gomb állapota nincs bejelölve.
BST_CHECKED A gomb állapota be van jelölve.
BST_INDETERMINATE A gomb állapota határozatlan (csak akkor érvényes, ha a gomb BS_3STATE vagy BS_AUTO3STATE stílussal rendelkezik).

Ha a gomb más stílussal rendelkezik, a visszatérési érték BST_UNCHECKED.

Example

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

Hívja meg ezt a tagfüggvényt, hogy lekérje a gombhoz társított, korábban a SetCursorhoz beállított kurzor fogópontját.

HCURSOR GetCursor();

Visszaadott érték

A kurzor képének fogópontja. NULL érték, ha nincs korábban megadva kurzor.

Example

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

Hívja meg ezt a tagfüggvényt, hogy lekérje a gombhoz társított, korábban SetIconnal beállított ikon fogópontját.

HICON GetIcon() const;

Visszaadott érték

Egy ikon fogópontja. NULL érték, ha korábban nincs megadva ikon.

Example

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

Lekéri a gombvezérlő ideális méretét.

BOOL GetIdealSize(SIZE* psize);

Paraméterek

Psize
A gomb aktuális méretére mutató mutató.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény a Windows SDK Gombok szakaszában leírtak szerint emulálja az BCM_GETIDEALSIZE üzenet funkcióit.

CButton::GetImageList

Hívja meg ezt a metódust, hogy lekérje a képlistát a gombvezérlőből.

BOOL GetImageList(PBUTTON_IMAGELIST pbuttonImagelist);

Paraméterek

pbuttonImagelist
Az objektum képlistájára CButton mutató mutató.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény a Windows SDK Gombok szakaszában leírtak szerint emulálja az BCM_GETIMAGELIST üzenet funkcióit.

CButton::GetNote

Lekéri az aktuális parancshivatkozás-vezérlőhöz társított jegyzetszöveget.

CString GetNote() const;

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

Paraméterek

lpszNote
[kifelé] Mutasson egy pufferre, amely kiosztásáért és felszabadításáért a hívó felelős. Ha a visszatérési érték IGAZ, a puffer tartalmazza az aktuális parancshivatkozás-vezérlőhöz társított jegyzetszöveget; ellenkező esetben a puffer nem változik.

cchNote
[be, ki] Mutató egy aláíratlan egész szám változóra. A metódus meghívásakor a változó az lpszNote paraméter által megadott puffer méretét tartalmazza. Ha a metódus eredménye igaz, a változó az aktuális parancshivatkozás-vezérlőhöz társított jegyzet méretét tartalmazza. Ha a visszatérési érték HAMIS, a változó tartalmazza a megjegyzéshez szükséges pufferméretet.

Visszaadott érték

Az első túlterhelés során egy CString objektum, amely az aktuális parancshivatkozás-vezérlőhöz társított jegyzetszöveget tartalmazza.

-vagy-

A második túlterhelés esetén IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ezt a módszert csak olyan vezérlőkkel használja, amelyek gombstílusa BS_COMMANDLINK vagy BS_DEFCOMMANDLINK.

Ez a metódus elküldi a Windows SDK-ban leírt BCM_GETNOTE üzenetet.

CButton::GetNoteLength

Lekéri az aktuális parancshivatkozás vezérlőelem jegyzetszövegének hosszát.

UINT GetNoteLength() const;

Visszaadott érték

Az aktuális parancshivatkozás vezérlőelem jegyzetszövegének hossza 16 bites Unicode-karakterekkel.

Megjegyzések

Ezt a módszert csak olyan vezérlőkkel használja, amelyek gombstílusa BS_COMMANDLINK vagy BS_DEFCOMMANDLINK.

Ez a metódus elküldi a Windows SDK-ban leírt BCM_GETNOTELENGTH üzenetet.

CButton::GetSplitGlyph

Lekéri az aktuális felosztási gomb vezérlőjével társított karakterjelet.

TCHAR GetSplitGlyph() const;

Visszaadott érték

Az aktuális felosztási gomb vezérlőelemhez társított karakter karakter.

Megjegyzések

A karakterjel egy karakter fizikai ábrázolása egy adott betűtípusban. Előfordulhat például, hogy egy felosztott gomb vezérlőelemet a Unicode pipa karakterének (U+2713) karaktere díszít.

Ezt a módszert csak olyan vezérlőkkel használja, amelyek gombstílusa BS_SPLITBUTTON vagy BS_DEFSPLITBUTTON.

Ez a módszer inicializálja egy maskBUTTON_SPLITINFO struktúra tagját a BCSIF_GLYPH jelzővel, majd elküldi ezt a struktúrát a Windows SDK-ban leírt BCM_GETSPLITINFO üzenetben. Amikor az üzenetfüggvény visszatér, ez a metódus lekéri a karakterjelet a himlGlyph struktúra tagjától.

CButton::GetSplitImageList

Lekéri az aktuális felosztási gomb vezérlőjének képlistáját .

CImageList* GetSplitImageList() const;

Visszaadott érték

Mutató egy CImageList-objektumra .

Megjegyzések

Ezt a módszert csak olyan vezérlőkkel használja, amelyek gombstílusa BS_SPLITBUTTON vagy BS_DEFSPLITBUTTON.

Ez a módszer inicializálja egy maskBUTTON_SPLITINFO struktúra tagját a BCSIF_IMAGE jelzővel, majd elküldi ezt a struktúrát a Windows SDK-ban leírt BCM_GETSPLITINFO üzenetben. Amikor az üzenetfüggvény visszatér, ez a metódus lekéri a képlistát a himlGlyph struktúra tagjától.

CButton::GetSplitInfo

Lekéri azokat a paramétereket, amelyek meghatározzák, hogy a Windows hogyan rajzolja meg az aktuális felosztási gomb vezérlőt.

BOOL GetSplitInfo(PBUTTON_SPLITINFO pInfo) const;

Paraméterek

pInfo
[kifelé] Mutasson egy BUTTON_SPLITINFO szerkezetre, amely információkat kap az aktuális felosztási gomb vezérlőről. A hívó felelős a struktúra kiosztásáért.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ezt a módszert csak olyan vezérlőkkel használja, amelyek gombstílusa BS_SPLITBUTTON vagy BS_DEFSPLITBUTTON.

Ez a metódus elküldi a Windows SDK-ban leírt BCM_GETSPLITINFO üzenetet.

CButton::GetSplitSize

Lekéri az aktuális felosztási gomb vezérlőelem legördülő összetevőjének határoló téglalapját.

BOOL GetSplitSize(LPSIZE pSize) const;

Paraméterek

Psize
[kifelé] Mutasson egy size szerkezetre, amely megkapja egy téglalap leírását.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ezt a módszert csak olyan vezérlőkkel használja, amelyek gombstílusa BS_SPLITBUTTON vagy BS_DEFSPLITBUTTON.

Ha az osztott gomb vezérlőelem ki van bontva, megjeleníthet egy legördülő összetevőt, például egy listavezérlőt vagy egy lapozóvezérlőt. Ez a metódus lekéri a legördülő összetevőt tartalmazó határoló téglalapot.

Ez a módszer inicializálja egy maskBUTTON_SPLITINFO struktúra tagját a BCSIF_SIZE jelzővel, majd elküldi ezt a struktúrát a Windows SDK-ban leírt BCM_GETSPLITINFO üzenetben. Az üzenetfüggvény visszatérésekor ez a metódus lekéri a határoló téglalapot a size szerkezet tagjától.

CButton::GetSplitStyle

Lekéri az aktuális felosztási gomb vezérlőelemet meghatározó felosztási gombstílusokat.

UINT GetSplitStyle() const;

Visszaadott érték

Az osztott gombstílusok bitenkénti kombinációja. További információkért lásd a uSplitStyleBUTTON_SPLITINFO struktúrájának tagját.

Megjegyzések

Ezt a módszert csak olyan vezérlőkkel használja, amelyek gombstílusa BS_SPLITBUTTON vagy BS_DEFSPLITBUTTON.

Az osztott gombstílusok határozzák meg az igazítást, a méretarányt és a grafikus formátumot, amellyel a Windows felosztógomb ikont rajzol.

Ez a módszer inicializálja egy maskBUTTON_SPLITINFO struktúra tagját a BCSIF_STYLE jelzővel, majd elküldi ezt a struktúrát a Windows SDK-ban leírt BCM_GETSPLITINFO üzenetben. Amikor az üzenetfüggvény visszatér, ez a metódus lekéri a felosztott gombstílusokat a uSplitStyle struktúra tagjától.

CButton::GetState

Egy gombvezérlő állapotát kéri le.

UINT GetState() const;

Visszaadott érték

Bitmező, amely egy gombvezérlő aktuális állapotát jelző értékek kombinációját tartalmazza. Az alábbi táblázat a lehetséges értékeket sorolja fel.

Gomb állapota Érték Description
BST_UNCHECKED 0x0000 A kezdeti állapot.
BST_CHECKED 0x0001 A gombvezérlő be van jelölve.
BST_INDETERMINATE 0x0002 Az állapot határozatlan (csak akkor lehetséges, ha a gombvezérlő három állapottal rendelkezik).
BST_PUSHED 0x0004 A gombvezérlő lenyomva van.
BST_FOCUS 0x0008 A gombvezérlő a fókuszban van.

Megjegyzések

A BS_3STATE vagy BS_AUTO3STATE gombstílussal rendelkező gombvezérlők olyan jelölőnégyzetet hoznak létre, amely egy harmadik, határozatlan állapotú állapottal rendelkezik. A határozatlan állapot azt jelzi, hogy a jelölőnégyzet nincs bejelölve és nincs bejelölve.

Example

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

Hívja meg ezt a metódust az objektum szövegmargójának lekéréséhez CButton .

BOOL GetTextMargin(RECT* pmargin);

Paraméterek

pmargin
Az objektum szövegmargójára CButton mutató mutató.

Visszaadott érték

A szöveges margót adja vissza. Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény a BCM_GETTEXTMARGIN üzenet funkcióit emulálja a Windows SDK Gombok szakaszában leírtak szerint.

CButton::SetBitmap

Hívja meg ezt a tagfüggvényt, hogy új bitképet rendeljen a gombhoz.

HBITMAP SetBitmap(HBITMAP hBitmap);

Paraméterek

hBitmap
Egy bitkép fogópontja.

Visszaadott érték

A gombhoz korábban társított bitkép fogópontja.

Megjegyzések

A bitkép automatikusan a gomb oldalára kerül, alapértelmezés szerint középre igazítva. Ha a bitkép túl nagy a gombhoz, mindkét oldalon ki lesz vágva. Más igazítási lehetőségeket is választhat, például a következőket:

  • BS_TOP

  • BS_LEFT

  • BS_RIGHT

  • BS_CENTER

  • BS_BOTTOM

  • BS_VCENTER

Ellentétben a CBitmapButtonnal, amely gombonként négy bitképet használ, SetBitmap a gombonként csak egy bitképet használ. A gomb megnyomásakor a bitkép lefelé és jobbra vált.

A bitkép kiadásáért ön felelős, ha elkészült vele.

Example

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

Módosítja a gomb stílusát.

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

Paraméterek

nStyle
Megadja a gombstílust.

bRedraw
Megadja, hogy a gombot újra kell-e helyezni. Egy nemero érték újrarajzolva a gombot. A 0 érték nem vonta újra a gombot. A gomb alapértelmezés szerint újrarajzolt.

Megjegyzések

A gombstílus lekéréséhez használja a GetButtonStyle tagfüggvényt. A teljes gombstílus alacsonyrendű szava a gombspecifikus stílus.

Example

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

Beállítja vagy alaphelyzetbe állítja a választógomb vagy a jelölőnégyzet állapotát.

void SetCheck(int nCheck);

Paraméterek

nCheck
Megadja az ellenőrzési állapotot. Ez a paraméter a következők egyike lehet:

Érték Meaning
BST_UNCHECKED Állítsa a gomb állapotát bejelöletlenre.
BST_CHECKED Állítsa be a gomb állapotát bejelölve.
BST_INDETERMINATE Állítsa a gomb állapotát határozatlan értékre. Ez az érték csak akkor használható, ha a gomb BS_3STATE vagy BS_AUTO3STATE stílussal rendelkezik.

Megjegyzések

Ez a tagfüggvény nincs hatással a nyomógombokra.

Example

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

Hívja meg ezt a tagfüggvényt, hogy új kurzort rendeljen a gombhoz.

HCURSOR SetCursor(HCURSOR hCursor);

Paraméterek

hCursor
A kurzor fogópontja.

Visszaadott érték

A gombhoz korábban társított kurzor fogópontja.

Megjegyzések

A kurzor automatikusan a gomb oldalára kerül, alapértelmezés szerint középre igazítva. Ha a kurzor túl nagy a gombhoz, mindkét oldalon ki lesz vágva. Más igazítási lehetőségeket is választhat, például a következőket:

  • BS_TOP

  • BS_LEFT

  • BS_RIGHT

  • BS_CENTER

  • BS_BOTTOM

  • BS_VCENTER

Ellentétben a CBitmapButtonnal, amely gombonként négy bitképet használ, SetCursor a gombonként csak egy kurzort használ. Ha a gombot lenyomja, a kurzor lefelé és jobbra fog elmozdulni.

Example

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

Az aktuális felosztási gomb vezérlőelem legördülő állapotát állítja be.

BOOL SetDropDownState(BOOL fDropDown);

Paraméterek

fDropDown
[in] IGAZ a BST_DROPDOWNPUSHED állapot beállításához; egyéb esetben HAMIS.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Az osztott gomb vezérlőelemek stílusa BS_SPLITBUTTON vagy BS_DEFSPLITBUTTON, és egy gombból és egy lefelé mutató nyílból áll jobbra. További információ: Gombstílusok. A legördülő állapot általában akkor van beállítva, amikor a felhasználó a legördülő nyílra kattint. Ezzel a módszerrel programozott módon állíthatja be a vezérlőelem legördülő állapotát. A legördülő nyíl árnyékolva jelzi az állapotot.

Ez a metódus elküldi a Windows SDK-ban leírt BCM_SETDROPDOWNSTATE üzenetet.

Example

Az első példakód azt a változót határozza meg, m_splitButtonamely programozott módon érhető el az osztott gomb vezérlőelemhez. Ezt a változót a következő példában használjuk.

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

A következő példakód az osztott gomb vezérlőelem állapotát állítja be, hogy jelezze a legördülő nyíl leküldését.

/* 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

Az aktuális gombvezérlő elevation requiredállapotát állítja be, amely ahhoz szükséges, hogy a vezérlő emelt szintű biztonsági ikont jelenítsen meg.

BOOL SetElevationRequired(BOOL fElevationRequired);

Paraméterek

fElevationRequired
[in] IGAZ az állapot beállításához elevation required ; ellenkező esetben HAMIS.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ha egy gomb- vagy parancshivatkozás-vezérlő emelt szintű biztonsági engedélyt igényel egy művelet végrehajtásához, állítsa a vezérlőt állapotra elevation required . Ezt követően a Windows megjeleníti a felhasználói fiókok felügyelete (UAC) pajzs ikonját a vezérlőn. További információ: Felhasználói fiókok felügyelete.

Ez a metódus elküldi a Windows SDK-ban leírt BCM_SETSHIELD üzenetet.

CButton::SetIcon

A tagfüggvény meghívásával társíthat egy új ikont a gombhoz.

HICON SetIcon(HICON hIcon);

Paraméterek

hIcon
Egy ikon fogópontja.

Visszaadott érték

A gombhoz korábban társított ikon fogópontja.

Megjegyzések

Az ikon automatikusan a gomb oldalára kerül, alapértelmezés szerint középre igazítva. Ha az ikon túl nagy a gombhoz, mindkét oldalon ki lesz vágva. Más igazítási lehetőségeket is választhat, például a következőket:

  • BS_TOP

  • BS_LEFT

  • BS_RIGHT

  • BS_CENTER

  • BS_BOTTOM

  • BS_VCENTER

Ellentétben a CBitmapButtonnal, amely gombonként négy bitképet használ, SetIcon a gombonként csak egy ikont használ. A gomb megnyomásakor az ikon lefelé és jobbra vált.

Example

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

Hívja meg ezt a metódust az objektum képlistájának beállításához CButton .

BOOL SetImageList(PBUTTON_IMAGELIST pbuttonImagelist);

Paraméterek

pbuttonImagelist
Mutató az új képlistára.

Visszaadott érték

True (IGAZ) értéket ad vissza a sikerhez, hamis a sikertelenséghez.

Megjegyzések

Ez a tagfüggvény a Windows SDK Gombok szakaszában leírtak szerint emulálja az BCM_SETIMAGELIST üzenet funkcióit.

CButton::SetNote

Beállítja az aktuális parancshivatkozás-vezérlő jegyzetszövegét.

BOOL SetNote(LPCTSTR lpszNote);

Paraméterek

lpszNote
[in] Mutasson egy Unicode-sztringre, amely a parancshivatkozás-vezérlő jegyzetszövegeként van beállítva.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ezt a módszert csak olyan vezérlőkkel használja, amelyek gombstílusa BS_COMMANDLINK vagy BS_DEFCOMMANDLINK.

Ez a metódus elküldi a Windows SDK-ban leírt BCM_SETNOTE üzenetet.

Example

Az első példakód határozza meg azt a változót, m_cmdLinkamely a parancshivatkozás-vezérlő programozott elérésére szolgál. Ezt a változót a következő példában használjuk.

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

A következő példakód beállítja a parancshivatkozás-vezérlő jegyzetszövegét.

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

CButton::SetSplitGlyph

Egy megadott karakterjel társítása az aktuális felosztási gomb vezérlőjével.

BOOL SetSplitGlyph(TCHAR chGlyph);

Paraméterek

chGlyph
[in] Egy karakter, amely megadja a felosztás gomb legördülő nyílként használni kívánt karaktert.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ezt a módszert csak a gombstílussal BS_SPLITBUTTON vagy BS_DEFSPLITBUTTON vezérlőkkel használhatja.

A karakterjel egy karakter fizikai ábrázolása egy adott betűtípusban. A chGlyph paraméter nem a karakterjel, hanem a rendszer által definiált karakterjelek halmazából való kiválasztására szolgál. Az alapértelmezett legördülő nyíl karaktert egy "6" karakter adja meg, és a BLACK DOWN-POINTING TRIANGLE (U+25BC) Unicode karakterhez hasonlít.

Ez a módszer inicializálja egy mask BUTTON_SPLITINFO-struktúra tagját a BCSIF_GLYPH jelzővel és a himlGlyphchGlyph paraméterrel, majd elküldi ezt a struktúrát a Windows SDK-ban leírt BCM_GETSPLITINFO üzenetben.

CButton::SetSplitImageList

Képlistát társít az aktuális felosztási gomb vezérlőelemhez.

BOOL SetSplitImageList(CImageList* pSplitImageList);

Paraméterek

pSplitImageList
[in] Mutasson egy CImageList objektumra, amely az aktuális felosztási gomb vezérlőelemhez rendelhető.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ezt a módszert csak olyan vezérlőkkel használja, amelyek gombstílusa BS_SPLITBUTTON vagy BS_DEFSPLITBUTTON.

Ez a módszer inicializálja egy maskBUTTON_SPLITINFO struktúra tagját a BCSIF_IMAGE jelzővel és a himlGlyphpSplitImageList paraméterrel, majd elküldi ezt a struktúrát a Windows SDK-ban leírt BCM_GETSPLITINFO üzenetben.

CButton::SetSplitInfo

Megadja azokat a paramétereket, amelyek meghatározzák, hogy a Windows hogyan rajzolja meg az aktuális felosztási gomb vezérlőt.

BOOL SetSplitInfo(PBUTTON_SPLITINFO pInfo);

Paraméterek

pInfo
[in] Mutasson egy BUTTON_SPLITINFO szerkezetre, amely meghatározza az aktuális felosztási gomb vezérlőt.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ezt a módszert csak olyan vezérlőkkel használja, amelyek gombstílusa BS_SPLITBUTTON vagy BS_DEFSPLITBUTTON.

Ez a metódus elküldi a Windows SDK-ban leírt BCM_SETSPLITINFO üzenetet.

Example

Az első példakód azt a változót határozza meg, m_splitButtonamely programozott módon érhető el az osztott gomb vezérlőelemhez.

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

A következő példakód módosítja az osztott gomb legördülő nyílhoz használt karakterjelet. A példa egy felfelé mutató háromszögjelet helyettesít az alapértelmezett lefelé mutató háromszög-karakterjelre. A megjelenített karakterjel a struktúra tagjában himlGlyphBUTTON_SPLITINFO megadott karaktertől függ. A lefelé mutató háromszög karaktert egy "6" karakter adja meg, a felfelé mutató háromszöget pedig egy "5" karakter adja meg. Összehasonlításhoz tekintse meg a CButton::SetSplitGlyph nevű kényelmi módszert.

/* 
   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

Beállítja az aktuális felosztási gomb vezérlőelem legördülő összetevőjének határoló téglalapját.

BOOL SetSplitSize(LPSIZE pSize);

Paraméterek

Psize
[in] Mutató egy határoló téglalapot leíró SIZE szerkezetre.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ezt a módszert csak olyan vezérlőkkel használja, amelyek gombstílusa BS_SPLITBUTTON vagy BS_DEFSPLITBUTTON.

Ha az osztott gomb vezérlőelem ki van bontva, megjeleníthet egy legördülő összetevőt, például egy listavezérlőt vagy egy lapozóvezérlőt. Ez a metódus a legördülő összetevőt tartalmazó határoló téglalap méretét adja meg.

Ez a módszer inicializálja egy maskBUTTON_SPLITINFO struktúra tagját a BCSIF_SIZE jelzővel és a sizepSize paraméterrel rendelkező taggal, majd elküldi ezt a struktúrát a Windows SDK-ban leírt BCM_GETSPLITINFO üzenetben.

Example

Az első példakód azt a változót határozza meg, m_splitButtonamely programozott módon érhető el az osztott gomb vezérlőelemhez. Ezt a változót a következő példában használjuk.

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

A következő példakód megduplázza az osztott gomb legördülő nyíl méretét.

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

Az aktuális felosztás gomb vezérlőelem stílusának beállítása.

BOOL SetSplitStyle(UINT uSplitStyle);

Paraméterek

uSplitStyle
[in] Az osztott gombstílusok bitenkénti kombinációja. További információkért lásd a uSplitStyleBUTTON_SPLITINFO struktúrájának tagját.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ezt a módszert csak olyan vezérlőkkel használja, amelyek gombstílusa BS_SPLITBUTTON vagy BS_DEFSPLITBUTTON.

Az osztott gombstílusok határozzák meg az igazítást, a méretarányt és a grafikus formátumot, amellyel a Windows felosztógomb ikont rajzol. További információkért lásd a uSplitStyleBUTTON_SPLITINFO struktúrájának tagját.

Ez a módszer inicializálja egy maskBUTTON_SPLITINFO struktúra tagját a BCSIF_STYLE jelzővel és a uSplitStyle taggal az uSplitStyle paraméterrel, majd elküldi ezt a struktúrát a Windows SDK-ban leírt BCM_GETSPLITINFO üzenetben.

Example

Az első példakód azt a változót határozza meg, m_splitButtonamely programozott módon érhető el az osztott gomb vezérlőelemhez.

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

A következő példakód az osztott gomb legördülő nyíl stílusát állítja be. A BCSS_ALIGNLEFT stílus a gomb bal oldalán lévő nyíllal jelenik meg, a BCSS_STRETCH stílus pedig megőrzi a legördülő nyíl arányait a gomb átméretezésekor.

/* 
    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

Beállítja, hogy egy gombvezérlő ki van-e emelve vagy sem.

void SetState(BOOL bHighlight);

Paraméterek

bHighlight
Megadja, hogy a gomb kiemelve legyen-e. A nemero érték kiemeli a gombot; a 0 érték eltávolítja a kiemeléseket.

Megjegyzések

A kiemelés hatással van a gombvezérlő külső felületére. Nincs hatással a választógomb vagy a jelölőnégyzet állapotára.

A gombvezérlő automatikusan ki van emelve, amikor a felhasználó rákattint, és a bal egérgombot tartja. A kiemelés akkor törlődik, ha a felhasználó felengedi az egérgombot.

Example

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

Hívja meg ezt a metódust az objektum szövegmargójának beállításához CButton .

BOOL SetTextMargin(RECT* pmargin);

Paraméterek

pmargin
Az új szöveg margójára mutató mutató.

Visszaadott érték

True (IGAZ) értéket ad vissza a sikerhez, hamis a sikertelenséghez.

Megjegyzések

Ez a tagfüggvény a Windows SDK Gombok szakaszában leírtak szerint emulálja az BCM_SETTEXTMARGIN üzenet funkcióit.

Lásd még

CWnd osztály
hierarchiadiagram
CWnd osztály
CComboBox osztály
CEdit osztály
CListBox osztály
CScrollBar osztály
CStatic osztály
CBitmapButton osztály
CDialog osztály