Condividi tramite


Funzione CreateEnhMetaFileA (wingdi.h)

La funzione CreateEnhMetaFile crea un contesto di dispositivo per un metafile in formato avanzato. Questo contesto di dispositivo può essere usato per archiviare un'immagine indipendente dal dispositivo.

Sintassi

HDC CreateEnhMetaFileA(
  [in] HDC        hdc,
  [in] LPCSTR     lpFilename,
  [in] const RECT *lprc,
  [in] LPCSTR     lpDesc
);

Parametri

[in] hdc

Handle per un dispositivo di riferimento per il metafile avanzato. Questo parametro può essere NULL; per altre informazioni, vedere Osservazioni.

[in] lpFilename

Puntatore al nome del file per il metafile avanzato da creare. Se questo parametro è NULL, il metafile avanzato è basato sulla memoria e il relativo contenuto viene perso quando viene eliminato tramite la funzione DeleteEnhMetaFile .

[in] lprc

Puntatore a una struttura RECT che specifica le dimensioni (in unità di 01 millimetri) dell'immagine da archiviare nel metafile avanzato.

[in] lpDesc

Puntatore a una stringa che specifica il nome dell'applicazione che ha creato l'immagine, nonché il titolo dell'immagine. Questo parametro può essere NULL; per altre informazioni, vedere Osservazioni.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un handle per il contesto di dispositivo per il metafile avanzato.

Se la funzione ha esito negativo, il valore restituito è NULL.

Commenti

Dove gli argomenti di testo devono usare caratteri Unicode, usare la funzione CreateEnhMetaFile come funzione a caratteri wide. Dove gli argomenti di testo devono usare caratteri del set di caratteri di Windows, usare questa funzione come funzione ANSI.

Il sistema usa il dispositivo di riferimento identificato dal parametro hdcRef per registrare la risoluzione e le unità del dispositivo in cui è stata originariamente visualizzata un'immagine. Se il parametro hdcRef è NULL, usa il dispositivo di visualizzazione corrente per riferimento.

I membri sinistro e superiore della struttura RECT a cui punta il parametro lpRect devono essere rispettivamente minori dei membri destro e inferiore . I punti lungo i bordi del rettangolo sono inclusi nell'immagine. Se lpRect è NULL, l'interfaccia GDI (Graphics Device Interface) calcola le dimensioni del rettangolo più piccolo che circonda l'immagine disegnata dall'applicazione. Il parametro lpRect deve essere specificato laddove possibile.

La stringa a cui punta il parametro lpDescription deve contenere un carattere Null tra il nome dell'applicazione e il nome dell'immagine e deve terminare con due caratteri Null, ad esempio "XYZ Graphics Editor\0Bald Eagle\0\0", dove \0 rappresenta il carattere Null. Se lpDescription è NULL, non esiste alcuna voce corrispondente nell'intestazione enhanced-metafile.

Le applicazioni usano il contesto di dispositivo creato da questa funzione per archiviare un'immagine grafica in un metafile avanzato. L'handle che identifica questo contesto di dispositivo può essere passato a qualsiasi funzione GDI.

Dopo che un'applicazione archivia un'immagine in un metafile avanzato, può visualizzare l'immagine in qualsiasi dispositivo di output chiamando la funzione PlayEnhMetaFile . Quando si visualizza l'immagine, il sistema usa il rettangolo a cui punta il parametro lpRect e i dati di risoluzione dal dispositivo di riferimento per posizionare e ridimensionare l'immagine.

Il contesto di dispositivo restituito da questa funzione contiene gli stessi attributi predefiniti associati a qualsiasi nuovo contesto di dispositivo.

Le applicazioni devono usare la funzione GetWinMetaFileBits per convertire un metafile avanzato nel formato precedente del metafile di Windows.

Il nome del file per il metafile avanzato deve usare l'estensione .emf.

Esempio

Per un esempio, vedere Creazione di un metafile avanzato.

Nota

L'intestazione wingdi.h definisce CreateEnhMetaFile come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wingdi.h (include Windows.h)
Libreria Gdi32.lib
DLL Gdi32.dll

Vedi anche

CloseEnhMetaFile

DeleteEnhMetaFile

GetEnhMetaFileDescription

GetEnhMetaFileHeader

GetWinMetaFileBits

Funzioni metafile

Panoramica dei metafile

PlayEnhMetaFile

RECT