Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poskytuje základní třídu pro různé druhy objektů rozhraní grafického zařízení (GDI) systému Windows, jako jsou rastrové obrázky, oblasti, štětce, pera, palety a písma.
Syntaxe
class CGdiObject : public CObject
Členové
Veřejné konstruktory
| Název | Popis |
|---|---|
| CGdiObject::CGdiObject | CGdiObject Vytvoří objekt. |
Veřejné metody
| Název | Popis |
|---|---|
| CGdiObject::Attach | Připojí objekt GDI systému Windows k objektu CGdiObject . |
| CGdiObject::CreateStockObject | Načte úchyt na jedno z předdefinovaných per, štětců nebo písem windows. |
| CGdiObject::D eleteObject | Odstraní objekt GDI systému Windows připojený k objektu CGdiObject z paměti uvolněním veškerého systémového úložiště přidruženého k objektu. |
| CGdiObject::D eleteTempMap | Odstraní všechny dočasné CGdiObject objekty vytvořené .FromHandle |
| CGdiObject::D etach | Odpojte objekt GDI systému Windows od objektu CGdiObject a vrátí popisovač objektu GDI systému Windows. |
| CGdiObject::FromHandle | Vrátí ukazatel na CGdiObject objekt s daným popisovačem objektu GDI systému Windows. |
| CGdiObject::GetObject | Vyplní vyrovnávací paměť daty popisovaným objektem GDI systému Windows připojeným k objektu CGdiObject . |
| CGdiObject::GetObjectType | Načte typ objektu GDI. |
| CGdiObject::GetSafeHandle | Vrátí m_hObject hodnotu, pokud this není null, v takovém případě je vrácena hodnota NULL. |
| CGdiObject::UnrealizeObject | Obnoví původ štětce nebo obnoví logickou paletu. |
Veřejné operátory
| Název | Popis |
|---|---|
| CGdiObject::operator != | Určuje, zda jsou dva objekty GDI logicky nerovny. |
| CGdiObject::operator == | Určuje, zda jsou dva objekty GDI logicky rovny. |
| CGdiObject::operator HGDIOBJ | Načte popisovač připojenému objektu GDI systému Windows. |
Veřejné datové členy
| Název | Popis |
|---|---|
| CGdiObject::m_hObject | POPISOVAČ obsahující HBITMAP, HPALETTE, HRGN, HBRUSH, HPEN nebo HFONT připojený k tomuto objektu. |
Poznámky
Nikdy nevytvoříte CGdiObject přímo. Místo toho vytvoříte objekt z jedné z jeho odvozených tříd, například CPen nebo CBrush.
Další informace naleznete CGdiObjectv tématu Grafické objekty.
Hierarchie dědičnosti
CGdiObject
Požadavky
Hlavička: afxwin.h
CGdiObject::Attach
Připojí objekt GDI systému Windows k objektu CGdiObject .
BOOL Attach(HGDIOBJ hObject);
Parametry
hObject
POPISOVAČ objektu GDI systému Windows (například HPEN nebo HBRUSH).
Návratová hodnota
Nenulové, pokud je příloha úspěšná; jinak 0.
CGdiObject::CGdiObject
CGdiObject Vytvoří objekt.
CGdiObject();
Poznámky
Nikdy nevytvoříte CGdiObject přímo. Místo toho vytvoříte objekt z jedné z jeho odvozených tříd, například CPen nebo Cbrush.
CGdiObject::CreateStockObject
Načte popisovač jednoho z předdefinovaných per, štětců nebo písem windows GDI a připojí objekt GDI k objektu CGdiObject .
BOOL CreateStockObject(int nIndex);
Parametry
nIndex
Konstanta určující požadovaný typ skladového objektu. Popis odpovídajících hodnot najdete v parametru fnObject pro GetStockObject v sadě Windows SDK.
Návratová hodnota
Nenulové, pokud je funkce úspěšná; jinak 0.
Poznámky
Volání této funkce s jednou z odvozených tříd, které odpovídají typu objektu GDI systému Windows, například CPen pro burzovní pero.
CGdiObject::D eleteObject
Odstraní připojený objekt GDI systému Windows z paměti uvolněním veškerého systémového úložiště přidruženého k objektu GDI systému Windows.
BOOL DeleteObject();
Návratová hodnota
Nenulové, pokud byl objekt GDI úspěšně odstraněn; jinak 0.
Poznámky
Toto volání nemá vliv na úložiště přidružené k objektu CGdiObject . Aplikace by neměla volat DeleteObject CGdiObject objekt, který je aktuálně vybrán do kontextu zařízení.
Při odstranění vzorového štětce se rastrový obrázek přidružený ke štětci neodstraní. Rastrový obrázek musí být odstraněn nezávisle.
CGdiObject::D eleteTempMap
Volá se automaticky obslužnou rutinou CWinApp nečinnosti, DeleteTempMap odstraní všechny dočasné CGdiObject objekty vytvořené FromHandle.
static void PASCAL DeleteTempMap();
Poznámky
DeleteTempMap Před odstraněním objektu odpojte objekt GDI systému Windows připojený k dočasnému CGdiObject objektu CGdiObject .
Příklad
// 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
Odpojte objekt GDI systému Windows od objektu CGdiObject a vrátí popisovač objektu GDI systému Windows.
HGDIOBJ Detach();
Návratová hodnota
A HANDLE k objektu GDI systému Windows bylo odpojeno; jinak null, pokud není připojen žádný objekt GDI.
CGdiObject::FromHandle
Vrátí ukazatel na CGdiObject objekt s daným popisovačem objektu GDI systému Windows.
static CGdiObject* PASCAL FromHandle(HGDIOBJ hObject);
Parametry
hObject
POPISOVAČ objektu GDI systému Windows.
Návratová hodnota
Ukazatel na dočasný CGdiObject nebo trvalý ukazatel.
Poznámky
CGdiObject Pokud objekt ještě není připojený k objektu GDI systému Windows, vytvoří se dočasný CGdiObject objekt a připojí se.
Tento dočasný CGdiObject objekt je platný pouze do okamžiku, kdy aplikace bude ve smyčce událostí nečinná, kdy se odstraní všechny dočasné grafické objekty. Dalším způsobem, jak to říct, je, že dočasný objekt je platný pouze během zpracování jedné zprávy okna.
CGdiObject::GetObject
Vyplní vyrovnávací paměť daty, která definují zadaný objekt.
int GetObject(
int nCount,
LPVOID lpObject) const;
Parametry
nCount
Určuje počet bajtů, které se mají zkopírovat do vyrovnávací paměti lpObject .
lpObject
Odkazuje na uživatelsky zadanou vyrovnávací paměť, která přijímá informace.
Návratová hodnota
Počet načtených bajtů; jinak 0, pokud dojde k chybě.
Poznámky
Funkce načte datovou strukturu, jejíž typ závisí na typu grafického objektu, jak je znázorněno v následujícím seznamu:
| Objekt | Typ vyrovnávací paměti |
|---|---|
CPen |
LOGPEN |
CBrush |
LOGBRUSH |
CFont |
LOGFONT |
CBitmap |
BITMAPA |
CPalette |
WORD |
CRgn |
Nepodporováno |
Pokud je objekt objektem CBitmap , GetObject vrátí pouze informace o šířce, výšce a barevném formátu rastrového obrázku. Skutečné bity lze načíst pomocí objektu CBitmap::GetBitmapBits.
Pokud je objekt objektem CPalette , GetObject načte WORD, který určuje počet položek v paletě. Funkce nenačte strukturu LOGPALETTE , která definuje paletu. Aplikace může získat informace o položkách palety voláním CPalette::GetPaletteEntries.
CGdiObject::GetObjectType
Načte typ objektu GDI.
UINT GetObjectType() const;
Návratová hodnota
Typ objektu, pokud byl úspěšný; jinak 0. Může jít o následující hodnoty:
OBJ_BITMAP Bitmap
OBJ_BRUSH štětec
Písmo OBJ_FONT
Paleta OBJ_PAL
pero OBJ_PEN
rozšířené pero OBJ_EXTPEN
OBJ_REGION oblast
kontext zařízení OBJ_DC
kontext paměťového zařízení OBJ_MEMDC
metasoubor OBJ_METAFILE
kontext zařízení OBJ_METADC metasouboru
OBJ_ENHMETAFILE rozšířeného metasouboru
OBJ_ENHMETADC kontext zařízení s rozšířeným metasouborem
CGdiObject::GetSafeHandle
Vrátí m_hObject hodnotu, pokud this není null, v takovém případě je vrácena hodnota NULL.
HGDIOBJ GetSafeHandle() const;
Návratová hodnota
POPISOVAČ připojeného objektu GDI systému Windows; v opačném případě null pokud není připojen žádný objekt.
Poznámky
Toto je součástí obecného paradigmatu rozhraní popisovače a je užitečné v případě, že hodnota NULL je platná nebo speciální hodnota pro popisovač.
Příklad
Podívejte se na příklad pro CWnd::IsWindowEnabled.
CGdiObject::m_hObject
POPISOVAČ obsahující HBITMAP, HRGN, HBRUSH, HPEN, HPALETTE nebo HFONT připojený k tomuto objektu.
HGDIOBJ m_hObject;
CGdiObject::operator !=
Určuje, zda jsou dva objekty GDI logicky nerovny.
BOOL operator!=(const CGdiObject& obj) const;
Parametry
Obj
Ukazatel na existující CGdiObject.
Poznámky
Určuje, zda objekt GDI na levé straně není roven objektu GDI na pravé straně.
CGdiObject::operator ==
Určuje, zda jsou dva objekty GDI logicky rovny.
BOOL operator==(const CGdiObject& obj) const;
Parametry
Obj
Odkaz na existující CGdiObject.
Poznámky
Určuje, zda se objekt GDI na levé straně rovná objektu GDI na pravé straně.
CGdiObject::operator HGDIOBJ
Načte popisovač připojeného objektu GDI systému Windows; v opačném případě null pokud není připojen žádný objekt.
operator HGDIOBJ() const;
CGdiObject::UnrealizeObject
Obnoví původ štětce nebo obnoví logickou paletu.
BOOL UnrealizeObject();
Návratová hodnota
Nenulové, pokud je úspěšné; jinak 0.
Poznámky
I když UnrealizeObject je členová funkce CGdiObject třídy, měla by být vyvolána pouze u CBrush objektů nebo CPalette objektů.
U CBrush objektů nasměruje systém k UnrealizeObject resetování původu daného štětce při příštím výběru do kontextu zařízení. Pokud je objekt objektem CPalette , UnrealizeObject nasměruje systém k realizaci palety, jako by předtím nebyl dosažen. Když aplikace příště zavolá funkci CDC::RealizePalette pro zadanou paletu, systém zcela znovu namapuje logickou paletu na systémovou paletu.
Funkce UnrealizeObject by se neměla používat s skladovými objekty. Funkce UnrealizeObject se musí volat při každém nastavení nového původu štětce (pomocí funkce CDC::SetBrushOrg ). Funkce UnrealizeObject nesmí být volána pro aktuálně vybraný štětec nebo aktuálně vybranou paletu jakéhokoli kontextu zobrazení.
Viz také
Graf hierarchie
CBitmap – třída
CBrush – třída
CFont – třída
CPalette – třída
CPen – třída
CRgn – třída