CreateDCA-Funktion (wingdi.h)
Die CreateDC--Funktion erstellt einen Gerätekontext (DC) für ein Gerät unter Verwendung des angegebenen Namens.
Syntax
HDC CreateDCA(
LPCSTR pwszDriver,
[in] LPCSTR pwszDevice,
LPCSTR pszPort,
[in] const DEVMODEA *pdm
);
Parameter
pwszDriver
Ein Zeiger auf eine mit Null beendete Zeichenfolge, die entweder DISPLAY oder den Namen eines bestimmten Anzeigegeräts angibt. Für den Druck wird empfohlen, NULL- an lpszDriver- zu übergeben, da GDI lpszDriver- für Druckergeräte ignoriert.
[in] pwszDevice
Ein Zeiger auf eine mit Null beendete Zeichenfolge, die den Namen des verwendeten Ausgabegeräts angibt, wie der Druck-Manager zeigt (z. B. Epson FX-80). Es handelt sich nicht um den Namen des Druckermodells. Der parameter lpszDevice muss verwendet werden.
Rufen Sie EnumDisplayDevicesauf, um gültige Namen für Displays zu erhalten.
Wenn lpszDriver- DISPLAY oder der Gerätename eines bestimmten Anzeigegeräts ist, muss lpszDeviceNULL- oder denselben Gerätenamen sein. Wenn lpszDeviceNULL-ist, wird für das primäre Anzeigegerät ein DC erstellt.
Wenn mehrere Monitore auf dem System vorhanden sind, erstellt das Aufrufen von CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL)
eine DC-Abdeckung aller Monitore.
pszPort
Dieser Parameter wird ignoriert und sollte auf NULL-festgelegt werden. Sie 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 (sofern vorhanden) verwenden soll.
Wenn lpszDriver DISPLAY ist, muss pdmNULL-sein; GDI verwendet dann die aktuelle DEVMODE-des Anzeigegeräts.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert der Handle für ein DC für das angegebene Gerät.
Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL-.
Bemerkungen
Beachten Sie, dass der Handle für den DC nur jeweils von einem einzelnen Thread verwendet werden kann.
Rufen Sie für Parameter lpszDriver und lpszDevice, EnumDisplayDevices auf, um gültige Namen für Displays abzurufen.
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, die HDC-, die erstellt wird. 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 an PDM- entweder NULL- oder einen Zeiger auf DEVMODE- übergeben, der dem aktuellen DEVMODE- des Anzeigegeräts entspricht, 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 die DEVMODE-. Wenn der Druckertreiber feststellt, dass die DEVMODE- ungültig ist (d. h. der Druckertreiber kann den DEVMODE nicht konvertieren oder verbrauchen), stellt der Druckertreiber eine Standard-DEVMODE- zum Erstellen der HDC für das Druckergerät bereit.
ICM: Um ICM zu aktivieren, legen Sie den dmICMMethod- Member der DEVMODE--Struktur (verweist auf den pInitData-Parameter) auf den entsprechenden Wert fest.
Beispiele
Ein Beispiel finden Sie unter Aufnehmen eines Bilds.
Anmerkung
Der wingdi.h-Header definiert CreateDC als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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 |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | wingdi.h (enthalten Windows.h) |
Library | Gdi32.lib |
DLL- | Gdi32.dll |
Siehe auch
übersicht über Gerätekontexte