Structure ENHMETAHEADER (wingdi.h)
La structure ENHMETAHEADER contient des données de métafichier amélioré, telles que les dimensions de l’image stockée dans le métafichier amélioré, le nombre d’enregistrements dans le métafichier amélioré, la résolution de l’appareil sur lequel l’image a été créée, etc.
Cette structure est toujours le premier enregistrement d’un métafichier amélioré.
Syntaxe
typedef struct tagENHMETAHEADER {
DWORD iType;
DWORD nSize;
RECTL rclBounds;
RECTL rclFrame;
DWORD dSignature;
DWORD nVersion;
DWORD nBytes;
DWORD nRecords;
WORD nHandles;
WORD sReserved;
DWORD nDescription;
DWORD offDescription;
DWORD nPalEntries;
SIZEL szlDevice;
SIZEL szlMillimeters;
DWORD cbPixelFormat;
DWORD offPixelFormat;
DWORD bOpenGL;
SIZEL szlMicrometers;
} ENHMETAHEADER, *PENHMETAHEADER, *LPENHMETAHEADER;
Membres
iType
Type d’enregistrement. Ce membre doit spécifier la valeur affectée à la constante EMR_HEADER.
nSize
Taille de structure, en octets.
rclBounds
Dimensions, en unités d’appareil, du plus petit rectangle qui peut être dessiné autour de l’image stockée dans le métafichier. Ce rectangle est fourni par l’interface de périphérique graphique (GDI). Ses dimensions incluent les bords droit et inférieur.
rclFrame
Dimensions, en .01 millimètres, d’un rectangle qui entoure l’image stockée dans le métafichier. Ce rectangle doit être fourni par l’application qui crée le métafichier. Ses dimensions incluent les bords droit et inférieur.
dSignature
Signature. Ce membre doit spécifier la valeur attribuée à la constante ENHMETA_SIGNATURE.
nVersion
Version du métafichier. La valeur de version actuelle est 0x10000.
nBytes
Taille du métafichier amélioré, en octets.
nRecords
Nombre d’enregistrements dans le métafichier amélioré.
nHandles
Nombre de handles dans la table de handles enhanced-metafile. (L’index zéro de cette table est réservé.)
sReserved
Réservés au; doit être égal à zéro.
nDescription
Nombre de caractères dans le tableau qui contient la description du contenu du métafichier amélioré. Ce membre doit être défini sur zéro si le métafichier amélioré ne contient pas de chaîne de description.
offDescription
Décalage entre le début de la structure ENHMETAHEADER et le tableau qui contient la description du contenu du métafichier amélioré. Ce membre doit être défini sur zéro si le métafichier amélioré ne contient pas de chaîne de description.
nPalEntries
Nombre d’entrées dans la palette du métafichier amélioré.
szlDevice
Résolution de l’appareil de référence, en pixels.
szlMillimeters
Résolution de l’appareil de référence, en millimètres.
cbPixelFormat
Taille du dernier format de pixels enregistré dans un métafichier. Si un format de pixel est défini dans un contrôleur de domaine de référence au début de l’enregistrement, cbPixelFormat est défini sur la taille du PIXELFORMATDESCRIPTOR. Lorsqu’aucun format de pixel n’est défini lors de l’enregistrement d’un métafichier, ce membre est défini sur zéro. Si plusieurs formats de pixels sont définis, l’en-tête pointe vers le dernier format de pixel.
offPixelFormat
Décalage du format de pixel utilisé lors de l’enregistrement d’un métafichier. Si un format de pixel est défini dans un contrôleur de domaine de référence au début de l’enregistrement ou pendant l’enregistrement, offPixelFormat est défini sur le décalage du PIXELFORMATDESCRIPTOR dans le métafichier. Si aucun format de pixel n’est défini lors de l’enregistrement d’un métafichier, ce membre est défini sur zéro. Si plusieurs formats de pixels sont définis, l’en-tête pointe vers le dernier format de pixel.
bOpenGL
Indique si des enregistrements OpenGL sont présents dans un métafichier. bOpenGL est un indicateur booléen simple que vous pouvez utiliser pour déterminer si un métafichier amélioré nécessite une gestion OpenGL. Lorsqu’un métafichier contient des enregistrements OpenGL, bOpenGL a la valeur TRUE ; sinon, il est FALSE.
szlMicrometers
Taille de l’appareil de référence, en micromètres.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | wingdi.h (inclure Windows.h) |