Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
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