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.
class CGdiObject : public CObject
Nom | Description |
---|---|
CGdiObject ::CGdiObject | Construit un objet CGdiObject . |
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. |
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é. |
Nom | Description |
---|---|
CGdiObject ::m_hObject | HANDLE contenant le HBITMAP, HPALETTE, HRGN, HBRUSH, HPEN ou HFONT attaché à cet objet. |
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.
CGdiObject
En-tête : afxwin.h
Attache un objet GDI Windows à un CGdiObject
objet.
BOOL Attach(HGDIOBJ hObject);
hObject
HANDLE vers un objet GDI Windows (par exemple, HPEN ou HBRUSH).
Différent de zéro si la pièce jointe réussit ; sinon 0.
Construit un objet CGdiObject
.
CGdiObject();
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
.
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);
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.
Une valeur différente de zéro si la fonction réussit ; sinon, 0.
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.
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();
Différent de zéro si l’objet GDI a été supprimé avec succès ; sinon 0.
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.
Appelé automatiquement par le CWinApp
gestionnaire d’inactivité, DeleteTempMap
supprime tous les objets temporaires CGdiObject
créés par FromHandle
.
static void PASCAL DeleteTempMap();
DeleteTempMap
détache l’objet GDI Windows attaché à un objet temporaire CGdiObject
avant de supprimer l’objet CGdiObject
.
// DeleteTempMap() is a static member and so does not need to
// be called within the scope of an instantiated CGdiObject object.
CGdiObject::DeleteTempMap();
Détache un objet GDI Windows d’un CGdiObject
objet et retourne un handle à l’objet GDI Windows.
HGDIOBJ Detach();
A HANDLE
à l’objet GDI Windows détaché ; sinon NULL si aucun objet GDI n’est attaché.
Retourne un pointeur vers un objet donné à un CGdiObject
handle vers un objet GDI Windows.
static CGdiObject* PASCAL FromHandle(HGDIOBJ hObject);
hObject
Handle vers un objet GDI Windows.
Pointeur vers un CGdiObject
pointeur qui peut être temporaire ou permanent.
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.
Remplit une mémoire tampon avec des données qui définissent un objet spécifié.
int GetObject(
int nCount,
LPVOID lpObject) const;
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.
Nombre d’octets récupérés ; sinon, 0 si une erreur se produit.
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.
Récupère le type de l’objet GDI.
UINT GetObjectType() const;
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é
Retourne m_hObject
sauf this
valeur NULL, auquel cas NULL est retourné.
HGDIOBJ GetSafeHandle() const;
Handle à l’objet GDI Windows attaché ; sinon NULL si aucun objet n’est attaché.
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.
Consultez l’exemple de CWnd ::IsWindowEnabled.
HANDLE contenant le HBITMAP, HRGN, HBRUSH, HPEN, HPALETTE ou HFONT attaché à cet objet.
HGDIOBJ m_hObject;
Détermine si deux objets GDI ne sont pas égaux logiquement.
BOOL operator!=(const CGdiObject& obj) const;
obj
Pointeur vers un pointeur existant CGdiObject
.
Détermine si un objet GDI situé à gauche n’est pas égal à un objet GDI situé à droite.
Détermine si deux objets GDI sont logiquement égaux.
BOOL operator==(const CGdiObject& obj) const;
obj
Référence à un objet existant CGdiObject
.
Détermine si un objet GDI situé à gauche est égal à un objet GDI situé à droite.
Récupère un HANDLE sur l’objet GDI Windows attaché ; sinon NULL si aucun objet n’est attaché.
operator HGDIOBJ() const;
Réinitialise l’origine d’un pinceau ou réinitialise une palette logique.
BOOL UnrealizeObject();
Valeur différente de zéro cas de réussite ; sinon, 0.
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.
Graphique hiérarchique
CBitmap, classe
CBrush, classe
CFont, classe
CPalette, classe
CPen, classe
CRgn, classe