<Return[C]><Top>

CopyImage

Declare Function Api_CopyImage& Lib "user32" Alias "CopyImage" (ByVal handle&, ByVal imageType&, ByVal newWidth&, ByVal newHeight&, ByVal lFlags&)

Declare Function CopyImage Lib "user32" (ByVal handle As Long, ByVal imageType As Long, ByVal newWidth As Long, ByVal newHeight As Long, ByVal lFlags As Long) As Long

新しいイメージ(アイコン、カーソル、ビットマップ)を作成し、作成したイメージに特定のイメージの属性をコピーする。

パラメータ
hImage
    [入力]コピー元のイメージのハンドルを指定する。
uType
    [入力]コピー元のイメージのタイプを指定する。次の値のいずれかになる。

    値                          

意味                      

    IMAGE_BITMAP

ビットマップをコピー。

    IMAGE_CURSOR

カーソルをコピー。

    IMAGE_ICON

アイコンをコピー。

cxDesired
    [入力]新しいイメージの希望する幅をピクセル単位で指定する。0 を指定すると、hImage で指定したイメージと同じ幅になる。
cyDesired
    [入力]新しいイメージの希望する高さをピクセル単位で指定する。0 を指定すると、hImage で指定したイメージと同じ高さになる。
fuFlags
    [入力]次の 1 つ以上の値を指定する。

    値                                        

意味                                                                                                                           

    LR_COPYDELETEORG

コピーを作成した後、元のイメージを削除する。

    LR_COPYFROMRESOURCE

指定したイメージをコピーするだけでなく、元のリソースファイルからアイコンリソースまたはカーソルリソースを

 

再ロードし、ロードしたイメージをコピーしようとする。このフラグは、リソースファイルにリソースの複数のサイ

 

ズのイメージが含まれているとき、異なるサイズのコピーを作成するのに便利。

 

このフラグを指定しない場合、元のイメージが新しいサイズに引き伸ばされる。

 

このフラグをセットすると、指定したサイズに最も近いサイズのイメージがリソースファイルからロードされ、コ

 

ピーされる。

 

この動作は、hImage で指定するイメージが LoadIcon 関数、LoadCursor 関数、LR_SHARED フラグ

 

がセットされた LoadImage 関数のどれかによってロードされた場合だけ成功する。

 

LR_COPYRETURNORG hImage で指定したイメージがコピーの基準を満たせば、つまり、寸法と色の

 

深さが正しければ、そのイメージが返る。

 

その場合、LR_COPYDELETEORG フラグは無視される。このフラグをセットしないときは、新しいオブジェ

 

クトが必ず作成される。

    LR_CREATEDIBSECTION

このフラグをセットし、新しいビットマップを作成すると、そのビットマップは DIB セクションとして作成される。

 

このフラグをセットしない場合は、ビットマップイメージがデバイスに依存したビットマップとして作成される。

 

このフラグは、uType が IMAGE_BITMAP の場合だけ有効である。

    LR_MONOCHROME

モノクロのイメージが作成される。

 

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