Share via


CGdiObject-klasse

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

CObject

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