Partager via


CGdiObject, classe

Fournit une classe de base pour différents genres d'objets GDI (Graphics Device Interface) Windows, par exemple des images bitmap, des zones, des pinceaux, des plumes, des palettes et des polices.

Syntaxe

class CGdiObject : public CObject

Membres

Constructeurs publics

Nom Description
CGdiObject ::CGdiObject Construit un objet CGdiObject.

Méthodes publiques

Nom Description
CGdiObject ::Attach Attache un objet GDI Windows à un CGdiObject objet.
CGdiObject ::CreateStockObject Récupère un handle dans l’un des stylos, pinceaux ou polices de stock prédéfinis de Windows.
CGdiObject ::D eleteObject Supprime l’objet GDI Windows attaché à l’objet à partir de la CGdiObject mémoire en libérant tout le stockage système associé à l’objet.
CGdiObject ::D eleteTempMap Supprime tous les objets temporaires CGdiObject créés par FromHandle.
CGdiObject ::D etach Détache un objet GDI Windows d’un CGdiObject objet et retourne un handle à l’objet GDI Windows.
CGdiObject ::FromHandle Retourne un pointeur vers un objet donné à un CGdiObject handle vers un objet GDI Windows.
CGdiObject ::GetObject Remplit une mémoire tampon avec des données qui décrivent l’objet GDI Windows attaché à l’objet CGdiObject .
CGdiObject ::GetObjectType Récupère le type de l’objet GDI.
CGdiObject ::GetSafeHandle Retourne m_hObject sauf this valeur NULL, auquel cas NULL est retourné.
CGdiObject ::UnrealizeObject Réinitialise l’origine d’un pinceau ou réinitialise une palette logique.

Opérateurs publics

Nom Description
CGdiObject ::operator != Détermine si deux objets GDI ne sont pas égaux logiquement.
CGdiObject ::operator == Détermine si deux objets GDI sont logiquement égaux.
CGdiObject ::operator HGDIOBJ Récupère un HANDLE dans l’objet Windows GDI attaché.

Membres de données publics

Nom Description
CGdiObject ::m_hObject HANDLE contenant le HBITMAP, HPALETTE, HRGN, HBRUSH, HPEN ou HFONT attaché à cet objet.

Notes

Vous ne créez jamais directement.CGdiObject Au lieu de cela, vous créez un objet à partir de l’une de ses classes dérivées, telles que CPen ou CBrush.

Pour plus d’informations sur CGdiObject, consultez Objets graphiques.

Hiérarchie d'héritage

CObject

CGdiObject

Spécifications

En-tête : afxwin.h

CGdiObject ::Attach

Attache un objet GDI Windows à un CGdiObject objet.

BOOL Attach(HGDIOBJ hObject);

Paramètres

hObject
HANDLE vers un objet GDI Windows (par exemple, HPEN ou HBRUSH).

Valeur de retour

Différent de zéro si la pièce jointe réussit ; sinon 0.

CGdiObject ::CGdiObject

Construit un objet CGdiObject.

CGdiObject();

Notes

Vous ne créez jamais directement.CGdiObject Au lieu de cela, vous créez un objet à partir de l’une de ses classes dérivées, telles que CPen ou Cbrush.

CGdiObject ::CreateStockObject

Récupère un handle à l’un des stylos GDI Windows prédéfinis, pinceaux ou polices, et attache l’objet GDI à l’objet CGdiObject .

BOOL CreateStockObject(int nIndex);

Paramètres

nIndex
Constante spécifiant le type d’objet stock souhaité. Consultez le paramètre fnObject pour GetStockObject dans le Kit de développement logiciel (SDK) Windows pour obtenir une description des valeurs appropriées.

Valeur de retour

Une valeur différente de zéro si la fonction réussit ; sinon, 0.

Notes

Appelez cette fonction avec l’une des classes dérivées qui correspond au type d’objet GDI Windows, par CPen exemple pour un stylet boursier.

CGdiObject ::D eleteObject

Supprime l’objet GDI Windows attaché de la mémoire en libérant tout le stockage système associé à l’objet GDI Windows.

BOOL DeleteObject();

Valeur de retour

Différent de zéro si l’objet GDI a été supprimé avec succès ; sinon 0.

Notes

Le stockage associé à l’objet CGdiObject n’est pas affecté par cet appel. Une application ne doit pas appeler DeleteObject un CGdiObject objet actuellement sélectionné dans un contexte d’appareil.

Lorsqu’un pinceau de modèle est supprimé, l’image bitmap associée au pinceau n’est pas supprimée. La bitmap doit être supprimée indépendamment.

CGdiObject ::D eleteTempMap

Appelé automatiquement par le CWinApp gestionnaire d’inactivité, DeleteTempMap supprime tous les objets temporaires CGdiObject créés par FromHandle.

static void PASCAL DeleteTempMap();

Notes

DeleteTempMap détache l’objet GDI Windows attaché à un objet temporaire CGdiObject avant de supprimer l’objet CGdiObject .

Exemple

// 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

Détache un objet GDI Windows d’un CGdiObject objet et retourne un handle à l’objet GDI Windows.

HGDIOBJ Detach();

Valeur de retour

A HANDLE à l’objet GDI Windows détaché ; sinon NULL si aucun objet GDI n’est attaché.

CGdiObject ::FromHandle

Retourne un pointeur vers un objet donné à un CGdiObject handle vers un objet GDI Windows.

static CGdiObject* PASCAL FromHandle(HGDIOBJ hObject);

Paramètres

hObject
Handle vers un objet GDI Windows.

Valeur de retour

Pointeur vers un CGdiObject pointeur qui peut être temporaire ou permanent.

Notes

Si un CGdiObject objet n’est pas déjà attaché à l’objet GDI Windows, un objet temporaire CGdiObject est créé et attaché.

Cet objet temporaire CGdiObject est valide uniquement jusqu’à la prochaine fois que l’application a un temps d’inactivité dans sa boucle d’événements, auquel cas tous les objets graphiques temporaires sont supprimés. Une autre façon de dire ceci est que l’objet temporaire n’est valide que pendant le traitement d’un message de fenêtre.

CGdiObject ::GetObject

Remplit une mémoire tampon avec des données qui définissent un objet spécifié.

int GetObject(
    int nCount,
    LPVOID lpObject) const;

Paramètres

nCount
Spécifie le nombre d’octets à copier dans la mémoire tampon lpObject .

lpObject
Pointe vers une mémoire tampon fournie par l’utilisateur qui doit recevoir les informations.

Valeur de retour

Nombre d’octets récupérés ; sinon, 0 si une erreur se produit.

Notes

La fonction récupère une structure de données dont le type dépend du type d’objet graphique, comme illustré par la liste suivante :

Object Type de mémoire tampon
CPen LOGPEN
CBrush LOGBRUSH
CFont LOGFONT
CBitmap IMAGE MATRICIELLE
CPalette WORD
CRgn Non pris en charge

Si l’objet est un CBitmap objet, GetObject retourne uniquement les informations de largeur, de hauteur et de format de couleur de la bitmap. Les bits réels peuvent être récupérés à l’aide de CBitmap ::GetBitmapBitBits.

Si l’objet est un CPalette objet, GetObject récupère un MOT qui spécifie le nombre d’entrées dans la palette. La fonction ne récupère pas la structure LOGPALETTE qui définit la palette. Une application peut obtenir des informations sur les entrées de palette en appelant CPalette ::GetPaletteEntries.

CGdiObject ::GetObjectType

Récupère le type de l’objet GDI.

UINT GetObjectType() const;

Valeur de retour

Type de l’objet, s’il réussit ; sinon 0. Il peut s'agir de l'une des valeurs suivantes :

  • OBJ_BITMAP Bitmap

  • pinceau OBJ_BRUSH

  • Police OBJ_FONT

  • OBJ_PAL Palette

  • stylet OBJ_PEN

  • OBJ_EXTPEN stylet étendu

  • région OBJ_REGION

  • contexte de l’appareil OBJ_DC

  • contexte de l’appareil mémoire OBJ_MEMDC

  • métafichier OBJ_METAFILE

  • OBJ_METADC contexte d’appareil de métafichier

  • OBJ_ENHMETAFILE métafichier amélioré

  • OBJ_ENHMETADC contexte d’appareil de métafichier amélioré

CGdiObject ::GetSafeHandle

Retourne m_hObject sauf this valeur NULL, auquel cas NULL est retourné.

HGDIOBJ GetSafeHandle() const;

Valeur de retour

Handle à l’objet GDI Windows attaché ; sinon NULL si aucun objet n’est attaché.

Notes

Cela fait partie du paradigme d’interface de handle général et est utile quand NULL est une valeur valide ou spéciale pour un handle.

Exemple

Consultez l’exemple de CWnd ::IsWindowEnabled.

CGdiObject ::m_hObject

HANDLE contenant le HBITMAP, HRGN, HBRUSH, HPEN, HPALETTE ou HFONT attaché à cet objet.

HGDIOBJ m_hObject;

CGdiObject ::operator !=

Détermine si deux objets GDI ne sont pas égaux logiquement.

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

Paramètres

obj
Pointeur vers un pointeur existant CGdiObject.

Notes

Détermine si un objet GDI situé à gauche n’est pas égal à un objet GDI situé à droite.

CGdiObject ::operator ==

Détermine si deux objets GDI sont logiquement égaux.

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

Paramètres

obj
Référence à un objet existant CGdiObject.

Notes

Détermine si un objet GDI situé à gauche est égal à un objet GDI situé à droite.

CGdiObject ::operator HGDIOBJ

Récupère un HANDLE sur l’objet GDI Windows attaché ; sinon NULL si aucun objet n’est attaché.

operator HGDIOBJ() const;

CGdiObject ::UnrealizeObject

Réinitialise l’origine d’un pinceau ou réinitialise une palette logique.

BOOL UnrealizeObject();

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Bien qu’il UnrealizeObject s’agit d’une fonction membre de la CGdiObject classe, elle doit être appelée uniquement sur ou CPalette sur CBrush des objets.

Pour CBrush les objets, UnrealizeObject dirige le système pour réinitialiser l’origine du pinceau donné la prochaine fois qu’il est sélectionné dans un contexte d’appareil. Si l’objet est un CPalette objet, UnrealizeObject dirige le système pour réaliser la palette comme si elle n’avait pas été réalisée précédemment. La prochaine fois que l’application appelle la fonction CDC ::RealizePalette pour la palette spécifiée, le système mappe complètement la palette logique à la palette système.

La UnrealizeObject fonction ne doit pas être utilisée avec des objets stock. La UnrealizeObject fonction doit être appelée chaque fois qu’une nouvelle origine de pinceau est définie (par le biais de la fonction CDC ::SetBrushOrg ). La UnrealizeObject fonction ne doit pas être appelée pour le pinceau actuellement sélectionné ou la palette actuellement sélectionnée d’un contexte d’affichage.

Voir aussi

Graphique hiérarchique
CBitmap, classe
CBrush, classe
CFont, classe
CPalette, classe
CPen, classe
CRgn, classe