LoadImage

LoadImageは、ビットマップ、アイコン、カーソルなどの画像をロード(読み込み)するWindowsAPI・・・。

LoadImage 関数

ロードしたら、その画像のハンドルを戻り値として返す・・・。
ビットマップファイルなら、HBITMAP型のハンドルとして受け取っていい・・・。

今回は、ビットマップファイルをロードして、そのハンドルを表示する・・・。

HBITMAP型変数hBitmapをスタティック変数で用意・・・。

WM_CREATEで、

LoadImageでロードするのだが、第1引数にアプリケーションのインスタンスハンドルhInstanceが必要なため、lParamをLPCREATESTRUCTにキャストしてlpcsに格納し、その要素hInstanceを第1引数に渡している・・・。
第2引数はファイル名・・・。"test.bmp"というファイルをプロジェクトファイル(.vcproj)と同階層、または実行ファイル(.exe)と同階層の場所に置いている・・・。
第3引数は、IMAGE_BITMAP・・・。今回はビットマップ画像のロードなので・・・。
第4、第5引数で、ロードする部分の始点(左上)の座標を指定できる・・・。(0, 0)で・・・。
最後の第6引数は、ファイルからロードするので、LR_LOADFROMFILEを指定する・・・。
もし、ファイルが存在しないなどの理由でロードできなかったら、NULLを返す・・・。

あとはこのハンドルを、

WM_PAINTの時に、TextOutで表示・・・。

WM_DESTROYの時は、

ロードに成功していて、hBitmapが残っていたらDeleteObjectで破棄する・・・。

実行すると、

f:id:BG1:20150409110416p:plain

"test.bmp"のビットマップハンドルhBitmapの値が表示された・・・。

Sample/LoadImage.cpp at master · bg1bgst333/Sample · GitHub