Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Biedt een basisklasse voor verschillende soorten GDI-objecten (Windows Graphics Device Interface), zoals bitmaps, regio's, penselen, paletten en lettertypen.
Syntaxis
class CGdiObject : public CObject
Leden
Openbare constructors
| Naam | Description |
|---|---|
| CGdiObject::CGdiObject | Maakt een CGdiObject object. |
Openbare methoden
| Naam | Description |
|---|---|
| CGdiObject::Attach | Een Windows GDI-object koppelen aan een CGdiObject object. |
| CGdiObject::CreateStockObject | Hiermee haalt u een handgreep op een van de vooraf gedefinieerde voorraadpennen, penselen of lettertypen van Windows op. |
| CGdiObject::D eleteObject | Hiermee verwijdert u het Windows GDI-object dat aan het object is gekoppeld uit het CGdiObject geheugen door alle systeemopslag die aan het object is gekoppeld, vrij te maken. |
| CGdiObject::D eleteTempMap | Hiermee verwijdert u tijdelijke CGdiObject objecten die zijn gemaakt door FromHandle. |
| CGdiObject::D etach | Loskoppelt een Windows GDI-object van een CGdiObject object en retourneert een ingang naar het Windows GDI-object. |
| CGdiObject::FromHandle | Hiermee wordt een aanwijzer geretourneerd naar een CGdiObject object dat een ingang aangeeft aan een Windows GDI-object. |
| CGdiObject::GetObject | Vult een buffer met gegevens die het Windows GDI-object beschrijven dat aan het CGdiObject object is gekoppeld. |
| CGdiObject::GetObjectType | Hiermee wordt het type van het GDI-object opgehaald. |
| CGdiObject::GetSafeHandle | Retourneert m_hObject tenzij this NULL is, in welk geval NULL wordt geretourneerd. |
| CGdiObject::Unselectobject | Hiermee stelt u de oorsprong van een penseel opnieuw in of stelt u een logisch palet opnieuw in. |
Openbare operators
| Naam | Description |
|---|---|
| CGdiObject::operator != | Bepaalt of twee GDI-objecten logisch niet gelijk zijn. |
| CGdiObject::operator == | Bepaalt of twee GDI-objecten logisch gelijk zijn. |
| CGdiObject::operator HGDIOBJ | Hiermee wordt een HANDLE opgehaald aan het gekoppelde Windows GDI-object. |
Leden van openbare gegevens
| Naam | Description |
|---|---|
| CGdiObject::m_hObject | Een HANDLE met de HBITMAP, HPALETTE, HRGN, HBRUSH, HPEN of HFONT die aan dit object is gekoppeld. |
Opmerkingen
U maakt nooit rechtstreeks een CGdiObject . In plaats daarvan maakt u een object op basis van een van de afgeleide klassen, zoals CPen of CBrush.
Zie Grafische objecten voor meer informatieCGdiObject.
Overnamehiërarchie
CGdiObject
Requirements
Koptekst: afxwin.h
CGdiObject::Attach
Een Windows GDI-object koppelen aan een CGdiObject object.
BOOL Attach(HGDIOBJ hObject);
Parameterwaarden
hObject
Een INGANG naar een Windows GDI-object (bijvoorbeeld HPEN of HBRUSH).
Retourwaarde
Niet-nul als de bijlage is geslaagd; anders 0.
CGdiObject::CGdiObject
Maakt een CGdiObject object.
CGdiObject();
Opmerkingen
U maakt nooit rechtstreeks een CGdiObject . In plaats daarvan maakt u een object op basis van een van de afgeleide klassen, zoals CPen of Cbrush.
CGdiObject::CreateStockObject
Haalt een greep op een van de vooraf gedefinieerde Windows GDI-pennen, penselen of lettertypen op en koppelt het GDI-object aan het CGdiObject object.
BOOL CreateStockObject(int nIndex);
Parameterwaarden
nIndex
Een constante die het gewenste type voorraadobject aangeeft. Zie de parameter fnObject voor GetStockObject in de Windows SDK voor een beschrijving van de juiste waarden.
Retourwaarde
Niet-nul als de functie is geslaagd; anders 0.
Opmerkingen
Roep deze functie aan met een van de afgeleide klassen die overeenkomt met het objecttype Windows GDI, zoals CPen voor een voorraadpen.
CGdiObject::D eleteObject
Hiermee verwijdert u het gekoppelde Windows GDI-object uit het geheugen door alle systeemopslag die is gekoppeld aan het Windows GDI-object vrij te maken.
BOOL DeleteObject();
Retourwaarde
Niet-nul als het GDI-object is verwijderd; anders 0.
Opmerkingen
De opslag die aan het CGdiObject object is gekoppeld, wordt niet beïnvloed door deze aanroep. Een toepassing mag geen aanroepen voor DeleteObject een CGdiObject object dat momenteel is geselecteerd in een apparaatcontext.
Wanneer een patroonborstel wordt verwijderd, wordt de bitmap die aan de borstel is gekoppeld, niet verwijderd. De bitmap moet onafhankelijk worden verwijderd.
CGdiObject::D eleteTempMap
Automatisch aangeroepen door de CWinApp handler voor inactiviteit, DeleteTempMap verwijdert tijdelijke CGdiObject objecten die zijn gemaakt door FromHandle.
static void PASCAL DeleteTempMap();
Opmerkingen
DeleteTempMap loskoppelt het Windows GDI-object dat is gekoppeld aan een tijdelijk CGdiObject object voordat u het CGdiObject object verwijdert.
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
Loskoppelt een Windows GDI-object van een CGdiObject object en retourneert een ingang naar het Windows GDI-object.
HGDIOBJ Detach();
Retourwaarde
Een HANDLE aan het Windows GDI-object losgekoppeld; anders NULL als er geen GDI-object is gekoppeld.
CGdiObject::FromHandle
Hiermee wordt een aanwijzer geretourneerd naar een CGdiObject object dat een ingang aangeeft aan een Windows GDI-object.
static CGdiObject* PASCAL FromHandle(HGDIOBJ hObject);
Parameterwaarden
hObject
Een HANDLE naar een Windows GDI-object.
Retourwaarde
Een aanwijzer naar een CGdiObject die tijdelijk of permanent kan zijn.
Opmerkingen
Als er CGdiObject nog geen object is gekoppeld aan het Windows GDI-object, wordt er een tijdelijk CGdiObject object gemaakt en gekoppeld.
Dit tijdelijke CGdiObject object is alleen geldig tot de volgende keer dat de toepassing inactief is in de gebeurtenislus, waarna alle tijdelijke grafische objecten worden verwijderd. Een andere manier om dit te zeggen is dat het tijdelijke object alleen geldig is tijdens de verwerking van één vensterbericht.
CGdiObject::GetObject
Vult een buffer met gegevens die een opgegeven object definiëren.
int GetObject(
int nCount,
LPVOID lpObject) const;
Parameterwaarden
nCount
Hiermee geeft u het aantal bytes op dat moet worden gekopieerd naar de lpObject-buffer .
lpObject
Verwijst naar een door de gebruiker opgegeven buffer die de informatie ontvangt.
Retourwaarde
Het aantal opgehaalde bytes; anders 0 als er een fout optreedt.
Opmerkingen
De functie haalt een gegevensstructuur op waarvan het type afhankelijk is van het type afbeeldingsobject, zoals wordt weergegeven in de volgende lijst:
| Object | Buffertype |
|---|---|
CPen |
LOGPEN |
CBrush |
LOGBRUSH |
CFont |
LOGFONT |
CBitmap |
BITMAP |
CPalette |
WORD |
CRgn |
Niet ondersteund |
Als het object een CBitmap object is, GetObject wordt alleen de informatie over de breedte, hoogte en kleuropmaak van de bitmap geretourneerd. De werkelijke bits kunnen worden opgehaald met behulp van CBitmap::GetBitmapBitbits.
Als het object een CPalette object is, GetObject haalt u een WORD op waarmee het aantal items in het palet wordt opgegeven. De functie haalt de LOGPALETTE-structuur die het palet definieert niet op. Een toepassing kan informatie over paletvermeldingen ophalen door CPalette::GetPaletteEntries aan te roepen.
CGdiObject::GetObjectType
Hiermee wordt het type van het GDI-object opgehaald.
UINT GetObjectType() const;
Retourwaarde
Het type object, indien geslaagd; anders 0. De waarde kan een van de volgende zijn:
OBJ_BITMAP Bitmap
OBJ_BRUSH kwast
OBJ_FONT lettertype
OBJ_PAL palet
OBJ_PEN Pen
OBJ_EXTPEN uitgebreide pen
OBJ_REGION regio
OBJ_DC Apparaatcontext
context van OBJ_MEMDC geheugenapparaat
OBJ_METAFILE metabestand
context van OBJ_METADC metabestandapparaat
OBJ_ENHMETAFILE uitgebreid metabestand
OBJ_ENHMETADC Enhanced-metafile-apparaatcontext
CGdiObject::GetSafeHandle
Retourneert m_hObject tenzij this NULL is, in welk geval NULL wordt geretourneerd.
HGDIOBJ GetSafeHandle() const;
Retourwaarde
Een HANDLE aan het gekoppelde Windows GDI-object; anders NULL als er geen object is gekoppeld.
Opmerkingen
Dit maakt deel uit van het algemene handle-interfaceparadigma en is handig wanneer NULL een geldige of speciale waarde is voor een ingang.
Example
Zie het voorbeeld voor CWnd::IsWindowEnabled.
CGdiObject::m_hObject
Een HANDLE met de HBITMAP, HRGN, HBRUSH, HPEN, HPALETTE of HFONT die aan dit object is gekoppeld.
HGDIOBJ m_hObject;
CGdiObject::operator !=
Bepaalt of twee GDI-objecten logisch niet gelijk zijn.
BOOL operator!=(const CGdiObject& obj) const;
Parameterwaarden
Obj
Een aanwijzer naar een bestaande CGdiObject.
Opmerkingen
Bepaalt of een GDI-object aan de linkerkant niet gelijk is aan een GDI-object aan de rechterkant.
CGdiObject::operator ==
Bepaalt of twee GDI-objecten logisch gelijk zijn.
BOOL operator==(const CGdiObject& obj) const;
Parameterwaarden
Obj
Een verwijzing naar een bestaande CGdiObject.
Opmerkingen
Bepaalt of een GDI-object aan de linkerkant gelijk is aan een GDI-object aan de rechterkant.
CGdiObject::operator HGDIOBJ
Hiermee wordt een HANDLE opgehaald aan het gekoppelde Windows GDI-object; anders NULL als er geen object is gekoppeld.
operator HGDIOBJ() const;
CGdiObject::Unselectobject
Hiermee stelt u de oorsprong van een penseel opnieuw in of stelt u een logisch palet opnieuw in.
BOOL UnrealizeObject();
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Hoewel UnrealizeObject het een lidfunctie van de CGdiObject klasse is, moet deze alleen worden aangeroepen op CBrush of CPalette objecten.
Voor CBrush objecten zorgt UnrealizeObject u ervoor dat het systeem de oorsprong van de opgegeven kwast opnieuw instelt wanneer het de volgende keer wordt geselecteerd in een apparaatcontext. Als het object een CPalette object is, UnrealizeObject stuurt u het systeem om het palet te realiseren alsof het nog niet eerder was gerealiseerd. De volgende keer dat de toepassing de functie CDC::RealizePalette aanroept voor het opgegeven palet, wordt het logische palet volledig opnieuw aan het systeempalet aangepast.
De UnrealizeObject functie mag niet worden gebruikt met voorraadobjecten. De UnrealizeObject functie moet worden aangeroepen wanneer een nieuwe penseeloorsprong is ingesteld (door middel van de functie CDC::SetBrushOrg ). De UnrealizeObject functie mag niet worden aangeroepen voor het geselecteerde penseel of het geselecteerde palet van een weergavecontext.
Zie ook
Hiërarchiegrafiek
CBitmap-klasse
CBrush-klasse
CFont-klasse
Klasse CPalette
CPen-klasse
CRgn-klasse