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