CreateDCW-Funktion (wingdi.h)
Die CreateDC-Funktion erstellt unter Verwendung des angegebenen Namens einen Gerätekontext (DC) für ein Gerät.
Syntax
HDC CreateDCW(
LPCWSTR pwszDriver,
[in] LPCWSTR pwszDevice,
LPCWSTR pszPort,
[in] const DEVMODEW *pdm
);
Parameter
pwszDriver
Ein Zeiger auf eine NULL-endende Zeichenfolge, die entweder DISPLAY oder den Namen eines bestimmten Anzeigegeräts angibt. Beim Drucken wird empfohlen, NULL an lpszDriver zu übergeben, da GDI lpszDriver für Druckergeräte ignoriert.
[in] pwszDevice
Ein Zeiger auf eine NULL-endende Zeichenfolge, die den Namen des verwendeten Ausgabegeräts angibt, wie vom Druck-Manager dargestellt (z. B. Epson FX-80). Dies ist nicht der Name des Druckermodells. Der parameter lpszDevice muss verwendet werden.
Rufen Sie EnumDisplayDevices auf, um gültige Namen für Anzeigen zu erhalten.
Wenn lpszDriver DISPLAY oder der Gerätename eines bestimmten Anzeigegeräts ist, muss lpszDeviceNULL oder derselbe Gerätename sein. 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)
eines 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 Für ein angegebenes Gerät ausgefüllte Struktur ab. Der pdm-Parameter muss NULL sein, wenn der Gerätetreiber die vom Benutzer angegebene Standardinitialisierung (sofern vorhanden) verwenden soll.
Wenn lpszDriver AUF DISPLAY festgelegt 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 für den 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 Displays zu erhalten.
Wenn Sie den DC nicht mehr benötigen, rufen Sie die DeleteDC-Funktion auf.
Wenn lpszDriver oder lpszDevice AUF DISPLAY festgelegt ist, besitzt der Thread, der CreateDC aufruft, den erstellten HDC . Wenn dieser Thread zerstört wird, ist die HDC nicht mehr gültig. Wenn Sie also die 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 die 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 übereinzugleichen.
Wenn Sie CreateDC aufrufen, um die HDC für ein Druckergerät zu erstellen, überprüft der Druckertreiber devmode. Wenn der Druckertreiber feststellt, dass DEVMODE ungültig ist (d. h., der Druckertreiber kann devmode nicht konvertieren oder nutzen), stellt der Druckertreiber eine DEVMODE-Standardeinstellung bereit, um die HDC für das Druckergerät zu erstellen.
ICM: Legen Sie zum Aktivieren von ICM den dmICMMethod-Member der DEVMODE-Struktur (auf den 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 Code, der nicht Codierungsneutral ist, 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 (windows.h einschließen) |
Bibliothek | Gdi32.lib |
DLL | Gdi32.dll |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für