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


CBitmapButton 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.

Szöveg helyett bitképekkel címkézett leküldéses vezérlőket hoz létre.

Szemantika

class CBitmapButton : public CButton

Tagok

Nyilvános konstruktorok

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

Nyilvános metódusok

Név Description
CBitmapButton::AutoLoad Egy párbeszédpanelen lévő gombot társít az CBitmapButton osztály egy objektumához, név szerint betölti a bitkép(ek)et, és méretezi a gombot a bitképnek megfelelően.
CBitmapButton::LoadBitmaps Inicializálja az objektumot úgy, hogy betölt egy vagy több elnevezett bitkép-erőforrást az alkalmazás erőforrásfájljából, és csatolja a bitképeket az objektumhoz.
CBitmapButton::SizeToContent Méretezi a gombot a bitkép elhelyezéséhez.

Megjegyzések

CBitmapButton Az objektumok legfeljebb négy bitképet tartalmaznak, amelyek képeket tartalmaznak a különböző állapotokhoz, amelyeket egy gomb feltételezhet: fel (vagy normál), le (vagy kijelölve), szűrt és letiltott. Csak az első bitképre van szükség; a többi nem kötelező.

A bitkép-gombos képek közé tartozik a kép körüli szegély, valamint maga a kép. A szegély általában szerepet játszik a gomb állapotának megjelenítésében. A szűrt állapot bitképe például általában olyan, mint a felfelé irányuló állapoté, de a szegélyről szaggatott téglalap, vagy a szegélyen egy vastag, folytonos vonal látható. A letiltott állapot bitképe általában a felfelé irányuló állapothoz hasonlít, de kontrasztja alacsonyabb (például halvány vagy szürkén megjelenő menükijelölés).

Ezek a bitképek bármilyen méretűek lehetnek, de a rendszer úgy kezeli őket, mintha ugyanolyan méretűek lennének, mint a felfelé irányuló állapot bitképe.

A különböző alkalmazások különböző bitkép-kombinációkat igényelnek:

Up Lefelé Focused Disabled Alkalmazás
× Bitkép
× × Gomb WS_TABSTOP stílus nélkül
× × × × Párbeszédpanel gomb az összes állapottal
× × × Párbeszédpanel gomb WS_TABSTOP stílussal

Bitkép-gomb vezérlőelem létrehozásakor állítsa be a BS_OWNERDRAW stílust úgy, hogy a gomb tulajdonos által rajzolt legyen. Emiatt a Windows elküldi a gomb WM_MEASUREITEM és WM_DRAWITEM üzenetét; a keretrendszer kezeli ezeket az üzeneteket, és kezeli a gomb megjelenését.

Bitkép-gomb vezérlőelem létrehozása az ablak ügyfélterületén

  1. Hozzon létre egy-négy bitképet a gombhoz.

  2. Hozza létre a CBitmapButton objektumot.

  3. A Létrehozás függvény meghívásával hozza létre a Windows gombvezérlőt, és csatolja az CBitmapButton objektumhoz.

  4. A Bitkép gomb létrehozása után hívja meg a LoadBitmaps tagfüggvényt a bitkép erőforrásainak betöltéséhez.

Bitkép-gomb vezérlőelem belefoglalása párbeszédpanelbe

  1. Hozzon létre egy-négy bitképet a gombhoz.

  2. Hozzon létre egy párbeszédpanelsablont egy tulajdonos-rajz gombbal, ahol a bitkép gombot szeretné elhelyezni. A sablonban lévő gomb mérete nem számít.

  3. Állítsa a gomb feliratát egy olyan értékre, mint a "MYIMAGE", és adjon meg egy szimbólumot a gombhoz, például IDC_MYIMAGE.

  4. Az alkalmazás erőforrásszkriptjében adjon meg minden, a gombhoz létrehozott képet egy azonosítónak, amelyet az "U", "D", "F" vagy "X" (fel, le, szűrt és letiltott) betűk egyikének hozzáfűzésével készített a gombfelirathoz használt sztringhez a 3. lépésben. A "MYIMAGE" gombfelirat esetében például a "MYIMAGEU", "MYIMAGED", "MYIMAGEF" és "MYIMAGEX" azonosítók jelennek meg. A bitképek azonosítóját idézőjelek között kell megadnia. Ellenkező esetben az erőforrás-szerkesztő egész számot rendel az erőforráshoz, az MFC pedig sikertelen lesz a rendszerkép betöltésekor.

  5. Az alkalmazás párbeszédpanel-osztályában (amely a következőből CDialogszármazik) adjon hozzá egy tagobjektumot CBitmapButton .

  6. CDialog Az objektum OnInitDialog rutinjában hívja meg az CBitmapButton objektum Automatikus betöltés függvényét, paraméterekként használva a gomb vezérlőazonosítóját és az CDialog objektum mutatójátthis.

Ha olyan Windows-értesítési üzeneteket szeretne kezelni, mint például a BN_CLICKED, amelyeket egy bitképgomb-vezérlő küld a szülőjének (általában egy osztályból CDialogszármazik), adja hozzá a CDialog-származtatott objektumhoz egy üzenettérkép-bejegyzést és üzenetkezelő tagfüggvényt minden egyes üzenethez. Az objektumok által CBitmapButton küldött értesítések megegyeznek a CButton-objektumok által küldött értesítésekkel.

A CToolBar osztály más megközelítést alkalmaz a bitképgombok használatához.

További információ: CBitmapButtonVezérlők.

Öröklési hierarchia

CObject

CCmdTarget

CWnd

CButton

CBitmapButton

Requirements

Fejléc: afxext.h

CBitmapButton::AutoLoad

Egy párbeszédpanelen lévő gombot társít az CBitmapButton osztály egy objektumához, név szerint betölti a bitkép(ek)et, és méretezi a gombot a bitképnek megfelelően.

BOOL AutoLoad(
    UINT nID,
    CWnd* pParent);

Paraméterek

Nid
A gomb vezérlőazonosítója.

pParent
Mutasson arra az objektumra, amely a gomb tulajdonosa.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

AutoLoad A függvény használatával inicializálhat egy tulajdonos-rajz gombot egy párbeszédpanelen bitkép gombként. A függvény használatára vonatkozó utasítások az osztály megjegyzéseiben CBitmapButton találhatók.

Example

CBitmapButton myButton;

// Initialize the owner-drawn button with the id IDC_MYBUTTON as a bitmap
// button. This code is used in the OnInitDialog handler of my dialog.
myButton.AutoLoad(IDC_MYBUTTON, this);

CBitmapButton::CBitmapButton

Létrehoz egy objektumot CBitmapButton .

CBitmapButton();

Megjegyzések

A C++ CBitmapButton objektum létrehozása után hívja meg a CButton::Create parancsot a Windows gombvezérlő létrehozásához és az CBitmapButton objektumhoz való csatolásához.

Example

// Declare a bitmap button object on the stack.
CBitmapButton myButton;

// Declare a bitmap button object on the heap.
CBitmapButton *pmyButton = new CBitmapButton;

CBitmapButton::LoadBitmaps

Ezt a függvényt akkor használja, ha az erőforrásnevük vagy azonosítószámuk alapján azonosított bitképeket szeretné betölteni, vagy ha nem tudja használni a AutoLoad függvényt, mert például olyan bitkép gombot hoz létre, amely nem része egy párbeszédpanelnek.

BOOL LoadBitmaps(
    LPCTSTR lpszBitmapResource,
    LPCTSTR lpszBitmapResourceSel = NULL,
    LPCTSTR lpszBitmapResourceFocus = NULL,
    LPCTSTR lpszBitmapResourceDisabled = NULL);

BOOL LoadBitmaps(
    UINT nIDBitmapResource,
    UINT nIDBitmapResourceSel = 0,
    UINT nIDBitmapResourceFocus = 0,
    UINT nIDBitmapResourceDisabled = 0);

Paraméterek

lpszBitmapResource
A bitkép gomb normál vagy "fel" állapotának bitképének nevét tartalmazó null értékű sztringre mutat. Szükséges.

lpszBitmapResourceSel
A bitkép gomb kijelölt vagy "le" állapotának bitképének nevét tartalmazó null értékű sztringre mutat. Lehet NULL.

lpszBitmapResourceFocus
A bitkép gomb szűrt állapotához tartozó bitkép nevét tartalmazó null értékű sztringre mutat. Lehet NULL.

lpszBitmapResourceDisabled
A bitkép gomb letiltott állapotához tartozó bitkép nevét tartalmazó null értékű sztringre mutat. Lehet NULL.

nIDBitmapResource
A bitkép gomb normál vagy "fel" állapotának bittérkép-erőforrásának erőforrás-azonosítóját adja meg. Szükséges.

nIDBitmapResourceSel
A bitkép gomb kijelölt vagy "le" állapotú bitkép-erőforrásának erőforrás-azonosítóját adja meg. Lehet 0.

nIDBitmapResourceFocus
A bitkép gomb szűrt állapotához tartozó bitkép-erőforrás erőforrás-azonosítójának számát adja meg. Lehet 0.

nIDBitmapResourceDisabled
A bitkép gomb letiltott állapotának bitkép-erőforrásának erőforrás-azonosítóját adja meg. Lehet 0.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Example

// Create the bitmap button (must include the BS_OWNERDRAW style).
pmyButton->Create(NULL, WS_CHILD | WS_VISIBLE | BS_OWNERDRAW,
                  CRect(10, 10, 100, 100), pParentWnd, 1);

// Load the bitmaps for this button.
pmyButton->LoadBitmaps(IDB_UP, IDB_DOWN, IDB_FOCUS, IDB_DISABLE);

CBitmapButton::SizeToContent

A függvény meghívásával átméretezhet egy bitkép gombot a bitkép méretére.

void SizeToContent();

Example

CBitmapButton *pmyButton = new CBitmapButton();

// Create the bitmap button (must include the BS_OWNERDRAW style).
pmyButton->Create(NULL, WS_CHILD | WS_VISIBLE | BS_OWNERDRAW,
                  CRect(10, 10, 100, 100), pParentWnd, 1);

// Load the bitmaps for this button.
pmyButton->LoadBitmaps(IDB_UP, IDB_DOWN, IDB_FOCUS, IDB_DISABLE);

// Resize the button to be the size of the bitmaps.
pmyButton->SizeToContent();

Lásd még

MFC-minta CTRLTEST
CButton osztály
hierarchiadiagram