次の方法で共有


CreateDCA 関数 (wingdi.h)

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

構文

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

パラメーター

pwszDriver

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

[in] pwszDevice

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

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

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

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

pszPort

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

[in] pdm

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

lpszDriver DISPLAY の場合、pdm NULLする必要があります。GDI は、ディスプレイ デバイスの現在の DEVMODEを使用します。

戻り値

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

関数が失敗した場合、戻り値は NULL

備考

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

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

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

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

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

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

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

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

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wingdi.h (Windows.h を含む)
ライブラリ Gdi32.lib
DLL Gdi32.dll

関連項目

DEVMODE の

DOCINFO を する

DeleteDC の

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

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

DocumentProperties

EnumDisplayDevices の

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

StartDoc の