CreateDCA-Funktion (wingdi.h)
Die CreateDC-Funktion erstellt unter Verwendung des angegebenen Namens einen Gerätekontext (Device Context, DC) für ein Gerät.
Syntax
HDC CreateDCA(
LPCSTR pwszDriver,
[in] LPCSTR pwszDevice,
LPCSTR pszPort,
[in] const DEVMODEA *pdm
);
Parameter
pwszDriver
Ein Zeiger auf eine NULL-Zeichenfolge, die entweder DISPLAY oder den Namen eines bestimmten Anzeigegeräts angibt. Zum Drucken wird empfohlen, NULL an lpszDriver zu übergeben, da GDI lpszDriver für Druckergeräte ignoriert.
[in] pwszDevice
Ein Zeiger auf eine NULL-Zeichenfolge, die den Namen des verwendeten Ausgabegeräts angibt, wie im Druck-Manager (z. B. Epson FX-80). Dies ist nicht der Name des Druckermodells. Der parameter lpszDevice muss verwendet werden.
Um gültige Namen für Displays zu erhalten, rufen Sie EnumDisplayDevices auf.
Wenn lpszDriver DISPLAY oder der Gerätename eines bestimmten Anzeigegeräts ist, muss lpszDeviceNULL oder denselben Gerätenamen aufweisen. Wenn lpszDeviceNULL ist, wird ein DC für das primäre Anzeigegerät erstellt.
Wenn mehrere Monitore auf dem System vorhanden sind, wird beim Aufrufen CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL)
ein DC erstellt, der alle Monitore abdeckt.
pszPort
Dieser Parameter wird ignoriert und sollte auf NULL festgelegt werden. Es wird nur zur Kompatibilität mit 16-Bit-Windows bereitgestellt.
[in] pdm
Ein Zeiger auf eine DEVMODE-Struktur , die gerätespezifische Initialisierungsdaten für den Gerätetreiber enthält. Die DocumentProperties-Funktion ruft diese Struktur ab, die für ein angegebenes Gerät ausgefüllt ist. Der pdm-Parameter muss NULL sein, wenn der Gerätetreiber die vom Benutzer angegebene Standardinitialisierung (falls vorhanden) verwenden soll.
Wenn lpszDriver DISPLAY ist, muss pdmNULL sein. GDI verwendet dann den aktuellen DEVMODE des Anzeigegeräts.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Handle für einen DC für das angegebene Gerät.
Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL.
Hinweise
Beachten Sie, dass das Handle zum DC nur von einem einzelnen Thread gleichzeitig verwendet werden kann.
Rufen Sie für die Parameter lpszDriver und lpszDeviceEnumDisplayDevices auf , um gültige Namen für Anzeigen zu erhalten.
Wenn Sie den DC nicht mehr benötigen, rufen Sie die DeleteDC-Funktion auf.
Wenn lpszDriver oder lpszDevice DISPLAY ist, besitzt der Thread, der CreateDC aufruft, den ERSTELLTEN HDC . Wenn dieser Thread zerstört wird, ist der HDC nicht mehr gültig. Wenn Sie also den HDC erstellen und an einen anderen Thread übergeben, beenden Sie den ersten Thread, kann der zweite Thread den HDC nicht verwenden.
Wenn Sie CreateDC aufrufen, um den HDC für ein Anzeigegerät zu erstellen, müssen Sie entweder NULL oder einen Zeiger auf DEVMODE an pdm übergeben, der mit dem aktuellen DEVMODE des Anzeigegeräts übereinstimmt, das lpszDevice angibt. Es wird empfohlen, NULL zu übergeben und nicht zu versuchen, genau mit dem DEVMODE für das aktuelle Anzeigegerät übereinzupassen.
Wenn Sie CreateDC aufrufen, um den HDC für ein Druckergerät zu erstellen, überprüft der Druckertreiber den DEVMODE. Wenn der Druckertreiber feststellt, dass der DEVMODE ungültig ist (d. h. der Druckertreiber kann den DEVMODE nicht konvertieren oder nutzen), stellt der Druckertreiber eine DEVMODE-Standardeinstellung bereit, um den HDC für das Druckergerät zu erstellen.
ICM: Um ICM zu aktivieren, legen Sie das dmICMMethod-Member der DEVMODE-Struktur (auf das der pInitData-Parameter verweist) auf den entsprechenden Wert fest.
Beispiele
Ein Beispiel finden Sie unter Erfassen eines Bilds.
Hinweis
Der wingdi.h-Header definiert CreateDC als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wingdi.h (einschließlich Windows.h) |
Bibliothek | Gdi32.lib |
DLL | Gdi32.dll |