LoadImageは、ビットマップ、アイコン、カーソルなどの画像をロード(読み込み)するWindowsAPI・・・。
ロードしたら、その画像のハンドルを戻り値として返す・・・。
ビットマップファイルなら、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で破棄する・・・。
実行すると、
"test.bmp"のビットマップハンドルhBitmapの値が表示された・・・。