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

Weitere Informationen

DEVMODE

DOCINFO

DeleteDC

Gerätekontextfunktionen

Übersicht über Gerätekontexte

Documentproperties

EnumDisplayDevices

Mehrere Bildschirme

StartDoc