CreateDCA 関数 (wingdi.h)

CreateDC 関数は、指定した名前を使用してデバイスのデバイス コンテキスト (DC) を作成します。

構文

HDC CreateDCA(
       LPCSTR         pwszDriver,
  [in] LPCSTR         pwszDevice,
       LPCSTR         pszPort,
  [in] const DEVMODEA *pdm
);

パラメーター

pwszDriver

DISPLAY または特定のディスプレイ デバイスの名前を指定する null で終わる文字列へのポインター。 GDI ではプリンター デバイスの lpszDriver が無視されるため、印刷の場合は、lpszDriverNULL を渡することをお勧めします。

[in] pwszDevice

印刷マネージャー (Epson FX-80 など) で示されているように、使用されている特定の出力デバイスの名前を指定する null で終わる文字列へのポインター。 プリンター モデル名ではありません。 lpszDevice パラメーターを使用する必要があります。

ディスプレイの有効な名前を取得するには、 EnumDisplayDevices を呼び出します。

lpszDriver が DISPLAY の場合、または特定のディスプレイ デバイスのデバイス名である場合、lpszDeviceNULL または同じデバイス名である必要があります。 lpszDeviceNULL の場合、プライマリ ディスプレイ デバイス用に DC が作成されます。

システムに複数のモニターがある場合、 を呼び出すと CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL) 、すべてのモニターをカバーする DC が作成されます。

pszPort

このパラメーターは無視され、 NULL に設定する必要があります。 これは、16 ビット Windows との互換性のためにのみ提供されます。

[in] pdm

デバイス ドライバーのデバイス固有の初期化データを含む DEVMODE 構造体へのポインター。 DocumentProperties 関数は、指定したデバイスに対して入力されたこの構造体を取得します。 デバイス ドライバーがユーザーによって指定された既定の初期化 (存在する場合) を使用する場合は、 pdm パラメーターを NULL にする 必要があります。

lpszDriver が DISPLAY の場合、pdmNULL である必要があります。GDI では、ディスプレイ デバイスの現在の DEVMODE が使用されます。

戻り値

関数が成功した場合、戻り値は、指定されたデバイスの DC へのハンドルです。

関数が失敗した場合は、返される値は NULL です。

注釈

DC へのハンドルは、一度に 1 つのスレッドでのみ使用できることに注意してください。

パラメーター lpszDriverlpszDevice の場合は、 EnumDisplayDevices を呼び出して、ディスプレイの有効な名前を取得します。

DC が不要になったら、 DeleteDC 関数を呼び出します。

lpszDriver または lpszDevice が DISPLAY の場合、CreateDC を呼び出すスレッドは作成された HDC を所有します。 このスレッドが破棄されると、 HDC は無効になります。 したがって、 HDC を作成して別のスレッドに渡し、最初のスレッドを終了すると、2 番目のスレッドは HDC を使用できなくなります。

CreateDC を呼び出してディスプレイ デバイスの HDC を作成する場合は、pdmNULL または lpszDevice が指定するディスプレイ デバイスの現在の DEVMODE に一致する DEVMODE へのポインターを渡す必要があります。 NULL を渡し、現在のディスプレイ デバイスの DEVMODE と完全に一致しないようにすることをお勧めします。

CreateDC を呼び出してプリンター デバイスの HDC を作成すると、プリンター ドライバーによって DEVMODE が検証されます。 プリンター ドライバーが DEVMODE が無効であると判断した場合 (つまり、プリンター ドライバーは DEVMODE を変換または使用できません)、プリンター ドライバーはプリンター デバイスの HDC を作成するための既定の DEVMODE を提供します。

Icm:ICM を有効にするには、DEVMODE 構造体 (pInitData パラメーターが指す) の dmICMMethod メンバーを適切な値に設定します。

例については、「 イメージのキャプチャ」を参照してください。

注意

wingdi.h ヘッダーは、CreateDC をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wingdi.h (Windows.h を含む)
Library Gdi32.lib
[DLL] Gdi32.dll

こちらもご覧ください

Devmode

DOCINFO

DeleteDC

デバイス コンテキスト関数

デバイス コンテキストの概要

DocumentProperties

EnumDisplayDevices

複数のディスプレイ モニター

Startdoc