<Return[JKL]><Top>

LoadImage

Declare Function Api_LoadImage& Lib "user32" Alias "LoadImageA" (ByVal hInst&, ByVal lpszName&, ByVal uType&, ByVal cxDesired&, ByVal cyDesired&, ByVal fuLoad&)

Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hinst As Long, ByVal lpszName As Long, ByVal uType As Long, ByVal cxDesired As Long, ByVal cyDesired As Long, ByVal fuLoad As Long) As Long

アイコン、カーソル、アニメーションカーソル、またはビットマップをロードする。

パラメータ
hinst
    [入力]ロードするイメージが入ったモジュールのインスタンスのハンドルを指定する。

    OEM イメージをロードするときは、0 を指定する。
lpszName
    [入力]ロードするイメージを指定する。hinst パラメータが NULL 以外で、かつ、fuLoad パラメータが LR_LOADFROMFILE の値を含

    んでいないときは、hinst モジュール内のイメージリソースとして認識される。

    イメージリソースを名前でロードするときは、その名前が入った NULL で終わる文字列へのポインタを指定する。

    イメージリソースを序数でロードするときは、MAKEINTRESOURCE マクロを使ってイメージの序数をこの関数に渡すことができる形式に変換

    し、このパラメータに指定する。
    hinst パラメータが NULL で、かつ、fuLoad パラメータが LR_LOADFROMFILE の値を含んでいないときは、ロード対象の OEM イメー

    ジとして認識される。OEM イメージの識別子は Winuser.h で定義され、次のプリフィックスが付いている。

    プリフィックス       

意味             

    OBM_ OEM

ビットマップ

    OIC_ OEM

アイコン

    OCR_ OEM

カーソル

    これらの定数を LoadImage 関数に渡すときは、MAKEINTRESOURCE マクロを使う。

    たとえば、OCR_NORMAL カーソルをロードするときは、lpszName パラメータとして MAKEINTRESOURCE(OCR_NORMAL) を渡し、

    hinst パラメータとして NULL を渡す。
    fuLoad パラメータに LR_LOADFROMFILE の値が含まれていると、lpszName は、イメージが入っているファイルの名前と認識される。
uType
    [入力]ロードするイメージのタイプを指定する。次のいずれかの値を指定する。

    値                           

意味                            

    IMAGE_BITMAP

ビットマップをロードする。

    IMAGE_CURSOR

カーソルをロードする。

    IMAGE_ICON

アイコンをロードする。

cxDesired
    [入力]アイコンまたはカーソルの幅をピクセル単位で指定する。

    このパラメータに 0 を指定し、fuLoad パラメータに LR_DEFAULTSIZE を指定すると、システムメトリック値の SM_CXICON または

    SM_CXCURSOR を使って幅が設定される。

    このパラメータに 0 を指定し、fuLoad パラメータで LR_DEFAULTSIZE を指定しないと、リソースの実際の幅が使われる。
cyDesired
    [入力]アイコンまたはカーソルの高さをピクセル単位で指定する。

    このパラメータに 0 を指定し、fuLoad パラメータに LR_DEFAULTSIZE を指定すると、システムメトリック値の SM_CYICON または

    SM_CYCURSOR を使って高さが設定される。このパラメータに 0 を指定し、fuLoad パラメータに LR_DEFAULTSIZE を指定しないと、リ

    ソースの実際の高さが使われる。
fuLoad
    [入力]次の 1 つ以上の値を指定する。

    値                                       

意味                                                                                                                                   

    LR_DEFAULTCOLOR

既定のフラグである。何もしない。「LR_MONOCHROME ではない」ということを意味するだけである。

    LR_CREATEDIBSECTION

 

 

uType パラメータに IMAGE_BITMAP を指定すると、互換性のあるビットマップではなく DIB セクションビッ

トマップが返る。このフラグは、ビットマップを表示デバイスの色にマップすることなくロードする場合に便利で

ある。

    LR_DEFAULTSIZE

 

 

 

cxDesired または cyDesired を 0 に設定すると、カーソルまたはアイコンのシステムメトリック値によって指定

される幅または高さが使われる。このフラグを指定せず、cxDesired と cyDesired を 0 に設定すると、リソー

スの実際のサイズが使われる。リソースに複数のイメージが含まれている場合は、最初のイメージのサイズが使われる。

    LR_LOADFROMFILE

 

lpszName パラメータで指定するファイルからイメージをロードする。このフラグを指定しないと、lpszName

はりソースの名前として認識される。

    LR_LOADMAP3DCOLORS

イメージのカラーテーブルを検索し、次に示す灰色の濃淡を対応する 3D カラーに置き換える。

 

色                                               

置き換え後の 3D カラー

 

ダークグレー、RGB(128,128,128)

COLOR_3DSHADOW

 

グレー、RGB(192,192,192)

COLOR_3DFACE

 

ライトグレー、RGB(223,223,223)

COLOR_3DLIGHT

 

8bpp より濃い色のビットマップをロードする場合は、このオプションを使わないこと。

    LR_LOADTRANSPARENT

 

 

 

イメージ内の最初のピクセルのカラー値を取得し、カラーテーブル内の対応するエントリを既定のウィンドウカラ

ー (COLOR_WINDOW)に置き換える。そのエントリを使うイメージ内のすべてのピクセルが既定のウィン

ドウカラーになる。この値は対応するカラーテーブルを持つイメージだけに適用される。
8bpp より濃い色のビットマップをロードする場合は、このオプションを使わないこと。
fuLoad に LR_LOADTRANSPARENT と LR_LOADMAP3DCOLORS の両方を指定した場合は、

LRLOADTRANSPARENT が優先される。しかし、カラーテーブルエントリは、COLOR_WINDOW でな

く、COLOR_3DFACE に置き換えられる。

    LR_MONOCHROME

イメージをモノクロでロードする。

    LR_SHARED

 

 

 

イメージを 2 回以上ロードする場合に、同じハンドルを使う。LR_SHARED を設定しない場合、LoadImage

を呼び出して同じリソースをもう一度ロードすると、最初とは異なるハンドルが返る。
このフラグを使った場合、不要になったりソースはシステムによって破棄される。
標準的でないサイズのイメージ、ロード後に変化する可能性があるイメージ、ファイルからロードされるイメージ

には、このオプションを使わないこと。
Windows 95/98:希望したサイズに関係なく、キャッシュ内にある指定したリソース名の最初のイメージがロ

ードされる。

    LR_VGACOLOR

VGA フルカラー(True Color)を使う。


戻り値
    関数が成功すると、ロードされたイメージのハンドルが返る。
    関数が失敗すると、NULL が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。