<Return[C]><Top>

CreateDC

Declare Function Api_CreateDC& Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName$, ByVal lpDeviceName$, ByVal lpOutput$, ByVal lpInitData As Any)

Declare Function CreateDC Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, lpInitData As DEVMODE) As Long

指定されたデバイスのデバイスコンテキストを、指定の名前で作成する。

パラメータ
lpszDriver
    Windows 95/98:Win32 ベースのアプリケーションでは、NULL を指定するか、1 個のプリンタプロバイダを表す WINSPL16 を指定する

    か、1 個のディスプレイデバイスコンテキストのハンドルを取得するために NULL で終わる文字列「DISPLAY」へのポインタを指定するか、

    いずれかを行える。

    lpszDevice パラメータで特定のデバイスを指定する場合、lpszDriver パラメータで NULL を指定しなければならない。
    Windows NT 4.0:NULL で終わる文字列へのポインタを指定する。この文字列は、「DISPLAY」、または 1 個のプリンタプロバイダ

    の名前(通常は「WINSPOOL」)を保持している。
    Windows NT/2000:NULL で終わる文字列へのポインタを指定する。この文字列は、「DISPLAY」、または 1 個のプリンタプロバイ

    ダの名前(通常は「WINSPOOL」)を保持している。
lpszDevice
    コントロールパネルの[プリンタ](Windows NT 3.x ではプリントマネージャ)で表示される、特定の出力デバイスの名前を保持してい

    る、NULL で終わる文字列へのポインタを指定する(たとえば、Epson FX-80)。

    これはプリンタのモデル名ではない。このパラメータは必須。
    表示に使われる有効なデバイス名を取得するには、EnumDisplayDevices 関数を呼び出する。
    lpszDriver で、「DISPLAY」または特定のディスプレイデバイスのデバイス名を指定する場合、lpszDevice では、NULL または

    lpszDriver と同じデバイス名を指定しなければならない。

    lpszDevice で NULL を指定した場合、プライマリディスプレイデバイス用の 1 個のデバイスコンテキストが作成される。
    Windows NT 4.0 以前:ディスプレイデバイスはただ 1 つだけ存在する(したがってプライマリ)。lpszDevice で NULL を指定する。
lpszOutput
    Win32 アプリケーションでは、このパラメータは無視される。NULL を指定する。このパラメータは、16 ビット版の Windows との互換性を

    保つ目的でのみ提供されている。
lpInitData
    デバイスドライバが利用するデバイス固有の初期化データを保持している、1 個の DEVMODE 構造体へのポインタを指定する。

    DocumentProperties 関数は、指定したデバイスに関する情報をこの DEVMODE 構造体から取得する。

    ユーザーが指定した既定の初期化データが存在し、デバイスドライバがそのデータを使う場合、lpInitData パラメータで NULL を指定

    しなければならない。
    lpszDriver で「DISPLAY」を指定する場合、lpInitData で NULL を指定しなければならない。ディスプレイデバイスの現在の

    DEVMODE 構造体が使われる。

戻り値
    関数が成功すると、指定したデバイスに関連するデバイスコンテキストのハンドルが返る。
    関数が失敗すると、NULL が返る。現在の DEVMODE とは異なる DEVMODE 構造体を指定した場合、NULL が返る。
    Windows NT/2000:拡張エラー情報を取得するには、GetLastError 関数を使う。