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


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

Alaposztályt biztosít a Windows grafikus eszközfelület (GDI) különböző objektumaihoz, például bitképekhez, régiókhoz, ecsetekhez, tollakhoz, palettákhoz és betűtípusokhoz.

Szemantika

class CGdiObject : public CObject

Tagok

Nyilvános konstruktorok

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

Nyilvános metódusok

Név Description
CGdiObject::Csatolás Windows GDI-objektumot csatol egy CGdiObject objektumhoz.
CGdiObject::CreateStockObject Lekéri a fogópontot az egyik Előre definiált Windows-készlettollhoz, ecsethez vagy betűtípushoz.
CGdiObject::D eleteObject Törli az objektumhoz csatolt Windows GDI-objektumot a CGdiObject memóriából az objektumhoz társított összes rendszertároló felszabadításával.
CGdiObject::D eleteTempMap Törli a létrehozott ideiglenes CGdiObject objektumokat FromHandle.
CGdiObject::D etach Leválaszt egy Windows GDI-objektumot egy CGdiObject objektumról, és egy leírót ad vissza a Windows GDI-objektumnak.
CGdiObject::FromHandle Egy mutatót ad vissza egy CGdiObject Windows GDI-objektumnak adott fogóponthoz.
CGdiObject::GetObject Kitölt egy puffert az objektumhoz CGdiObject csatolt Windows GDI-objektumot leíró adatokkal.
CGdiObject::GetObjectType Lekéri a GDI-objektum típusát.
CGdiObject::GetSafeHandle Null értéket ad m_hObjectthis vissza, ebben az esetben a NULL értéket adja vissza.
CGdiObject::UnrealizeObject Alaphelyzetbe állítja egy ecset eredetét, vagy visszaállít egy logikai palettát.

Nyilvános operátorok

Név Description
CGdiObject::operátor != Meghatározza, hogy két GDI-objektum logikailag nem egyenlő-e.
CGdiObject::operátor == Meghatározza, hogy két GDI-objektum logikailag egyenlő-e.
CGdiObject::operátor HGDIOBJ Lekéri a HANDLE-t a csatolt Windows GDI-objektumhoz.

Nyilvános adatok tagjai

Név Description
CGdiObject::m_hObject Az objektumhoz csatolt HBITMAP, HPALETTE, HRGN, HBRUSH, HPEN vagy HFONT leíró.

Megjegyzések

Soha nem hoz létre CGdiObject közvetlenül. Ehelyett létrehoz egy objektumot az egyik származtatott osztályából, például CPen vagy CBrush.

További információ: CGdiObjectGrafikus objektumok.

Öröklési hierarchia

CObject

CGdiObject

Requirements

Fejléc: afxwin.h

CGdiObject::Csatolás

Windows GDI-objektumot csatol egy CGdiObject objektumhoz.

BOOL Attach(HGDIOBJ hObject);

Paraméterek

hObject
HANDLE egy Windows GDI-objektumhoz (például HPEN vagy HBRUSH).

Visszaadott érték

Sikertelen, ha a melléklet sikeres; egyéb esetben 0.

CGdiObject::CGdiObject

Egy CGdiObject objektumot hoz létre.

CGdiObject();

Megjegyzések

Soha nem hoz létre CGdiObject közvetlenül. Ehelyett létrehoz egy objektumot az egyik származtatott osztályából, például CPen vagy Cbrush.

CGdiObject::CreateStockObject

Lekéri a fogópontot az egyik előre definiált Készlet Windows GDI-tollhoz, ecsethez vagy betűtípushoz, és csatolja a GDI-objektumot az CGdiObject objektumhoz.

BOOL CreateStockObject(int nIndex);

Paraméterek

nIndex
A kívánt készletobjektum típusát meghatározó állandó. A megfelelő értékek leírását a Windows SDK GetStockObjectfnObject paraméterében tekintheti meg.

Visszaadott érték

Nonzero, ha a függvény sikeres; egyéb esetben 0.

Megjegyzések

Hívja meg ezt a függvényt a Windows GDI objektumtípusának megfelelő származtatott osztályok egyikével, például CPen egy részvénytoll esetében.

CGdiObject::D eleteObject

Törli a csatolt Windows GDI-objektumot a memóriából a Windows GDI objektumhoz társított összes rendszertároló felszabadításával.

BOOL DeleteObject();

Visszaadott érték

Nonzero, ha a GDI-objektumot sikeresen törölték; egyéb esetben 0.

Megjegyzések

Ez a hívás nem érinti az CGdiObject objektumhoz társított tárolót. Egy alkalmazás nem hívhat meg DeleteObject olyan objektumot CGdiObject , amely jelenleg eszközkörnyezetben van kiválasztva.

Mintaecset törlésekor a program nem törli az ecsethez társított bitképet. A bitképet egymástól függetlenül kell törölni.

CGdiObject::D eleteTempMap

Az üresjárati idő kezelője CWinApp automatikusan meghívja, DeleteTempMap és törli a rendszer által FromHandlelétrehozott ideiglenes CGdiObject objektumokat.

static void PASCAL DeleteTempMap();

Megjegyzések

DeleteTempMapAz objektum törlése CGdiObject előtt leválasztja az ideiglenes CGdiObject objektumhoz csatolt Windows GDI-objektumot.

Example

// DeleteTempMap() is a static member and so does not need to
// be called within the scope of an instantiated CGdiObject object.
CGdiObject::DeleteTempMap();

CGdiObject::D etach

Leválaszt egy Windows GDI-objektumot egy CGdiObject objektumról, és egy leírót ad vissza a Windows GDI-objektumnak.

HGDIOBJ Detach();

Visszaadott érték

A HANDLE windowsos GDI-objektum leválasztva, ellenkező esetben NULL értékű, ha nincs GDI-objektum csatolva.

CGdiObject::FromHandle

Egy mutatót ad vissza egy CGdiObject Windows GDI-objektumnak adott fogóponthoz.

static CGdiObject* PASCAL FromHandle(HGDIOBJ hObject);

Paraméterek

hObject
EGY HANDLE egy Windows GDI-objektumra.

Visszaadott érték

Egy ideiglenes CGdiObject vagy állandó mutató.

Megjegyzések

Ha egy CGdiObject objektum még nincs csatolva a Windows GDI-objektumhoz, a rendszer létrehoz és csatol egy ideiglenes CGdiObject objektumot.

Ez az ideiglenes CGdiObject objektum csak addig érvényes, amíg az alkalmazás következő alkalommal tétlen időt nem töltött az eseményhurkában, és ekkor az összes ideiglenes grafikus objektum törlődik. Ennek másik módja, hogy az ideiglenes objektum csak egy ablaküzenet feldolgozása során érvényes.

CGdiObject::GetObject

A puffert egy adott objektumot meghatározó adatokkal tölti ki.

int GetObject(
    int nCount,
    LPVOID lpObject) const;

Paraméterek

nCount
Megadja az lpObject pufferbe másolandó bájtok számát.

lpObject
Egy felhasználó által megadott pufferre mutat, amely az információk fogadásához szükséges.

Visszaadott érték

A lekért bájtok száma; ellenkező esetben 0, ha hiba történik.

Megjegyzések

A függvény olyan adatstruktúrát kér le, amelynek típusa a grafikus objektum típusától függ, ahogy az alábbi lista mutatja:

Objektum Puffer típusa
CPen LOGPEN
CBrush LOGBRUSH
CFont LOGFONT
CBitmap BITKÉP
CPalette SZÓ
CRgn Nem támogatott

Ha az objektum objektum CBitmap , GetObject akkor csak a bitkép szélességi, magassági és színformátumadatait adja vissza. A tényleges bitek a CBitmap::GetBitmapBits használatával kérhetők le.

Ha az objektum objektum CPalette , egy WORD-et kér le, GetObject amely megadja a palettán lévő bejegyzések számát. A függvény nem kéri le a palettát meghatározó LOGPALETTE-struktúrát . Az alkalmazások a CPalette:GetPaletteEntries hívásával kaphatnak információt a palettabejegyzésekről.

CGdiObject::GetObjectType

Lekéri a GDI-objektum típusát.

UINT GetObjectType() const;

Visszaadott érték

Az objektum típusa, ha sikeres; egyéb esetben 0. Az érték a következők egyike lehet:

  • OBJ_BITMAP Bitmap

  • OBJ_BRUSH ecset

  • OBJ_FONT betűtípus

  • OBJ_PAL paletta

  • OBJ_PEN toll

  • OBJ_EXTPEN kiterjesztett toll

  • OBJ_REGION régió

  • OBJ_DC eszközkörnyezet

  • OBJ_MEMDC memóriaeszköz környezete

  • OBJ_METAFILE metafájl

  • OBJ_METADC Metafile eszközkörnyezete

  • OBJ_ENHMETAFILE bővített metafájl

  • OBJ_ENHMETADC Továbbfejlesztett metafájl eszközkörnyezete

CGdiObject::GetSafeHandle

Null értéket ad m_hObjectthis vissza, ebben az esetben a NULL értéket adja vissza.

HGDIOBJ GetSafeHandle() const;

Visszaadott érték

EGY HANDLE a csatolt Windows GDI-objektumhoz; ellenkező esetben NULL értékű, ha nincs csatolva objektum.

Megjegyzések

Ez az általános kezelőfelületi paradigma része, és akkor hasznos, ha a NULL egy leíró érvényes vagy különleges értéke.

Example

Lásd a CWnd::IsWindowEnabled példát.

CGdiObject::m_hObject

Az objektumhoz csatolt HBITMAP, HRGN, HBRUSH, HPEN, HPALETTE vagy HFONT leíró.

HGDIOBJ m_hObject;

CGdiObject::operátor !=

Meghatározza, hogy két GDI-objektum logikailag nem egyenlő-e.

BOOL operator!=(const CGdiObject& obj) const;

Paraméterek

Obj
Mutató egy meglévőre CGdiObject.

Megjegyzések

Meghatározza, hogy a bal oldalon lévő GDI-objektumok nem egyenlők-e a jobb oldalon lévő GDI-objektumokkal.

CGdiObject::operátor ==

Meghatározza, hogy két GDI-objektum logikailag egyenlő-e.

BOOL operator==(const CGdiObject& obj) const;

Paraméterek

Obj
Hivatkozás egy meglévőre CGdiObject.

Megjegyzések

Meghatározza, hogy a bal oldalon lévő GDI-objektum egyenlő-e a jobb oldalon lévő GDI-objektummal.

CGdiObject::operátor HGDIOBJ

LEKéri a HANDLE-t a csatolt Windows GDI-objektumhoz; ellenkező esetben NULL értékű, ha nincs csatolva objektum.

operator HGDIOBJ() const;

CGdiObject::UnrealizeObject

Alaphelyzetbe állítja egy ecset eredetét, vagy visszaállít egy logikai palettát.

BOOL UnrealizeObject();

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Bár UnrealizeObject az osztály tagfüggvényeCGdiObject, csak az osztályon vagy CPalette objektumokon CBrush kell meghívni.

Objektumok esetén CBrush a rendszer arra utasítja a rendszert, UnrealizeObject hogy állítsa vissza az adott ecset eredetét, amikor legközelebb kiválasztja azt egy eszközkörnyezetbe. Ha az objektum objektum CPalette , UnrealizeObject a rendszer úgy látja a palettát, mintha korábban még nem valósult volna meg. Amikor az alkalmazás legközelebb meghívja a CDC::RealizePalette függvényt a megadott palettához, a rendszer teljesen újraképezi a logikai palettát a rendszerpalettára.

A UnrealizeObject függvény nem használható részvényobjektumokkal. A UnrealizeObject függvényt akkor kell meghívni, ha új kefe-forrás van beállítva (a CDC::SetBrushOrg függvény használatával). A UnrealizeObject függvény nem hívható meg az aktuálisan kiválasztott ecsethez vagy egy megjelenítési környezet jelenleg kijelölt palettájához.

Lásd még

hierarchiadiagram
CBitmap-osztály
CBrush osztály
CFont osztály
CPalette osztály
CPen osztály
CRgn osztály