ビットマップ処理がうまくいかない
Posted: 2006年6月27日(火) 01:35
今回、次のようなプログラムを使って、ビットマップを読み込むプログラムを作りました。
そして、実行するのですが、ソースコードに書いてある SelectObject(hTargetDC,hTargetBITMAP) の部分で[ハンドルが無効です]というエラーが発生します。
画像が正しくロードされているのは確認済みです。
なお、picMarkは、そのままBitBltなどで転送するためのものです。
そして、実行するのですが、ソースコードに書いてある SelectObject(hTargetDC,hTargetBITMAP) の部分で[ハンドルが無効です]というエラーが発生します。
画像が正しくロードされているのは確認済みです。
なお、picMarkは、そのままBitBltなどで転送するためのものです。
[ここをクリックすると内容が表示されます]
コード: 全て選択
'使用例 ---
Dim picMark As HDC
Dim bmMark As HBITMAP
Dim bmiMark As BITMAP
'↓ パスに間違いがないことは確認済みです
LoadImg("dat\bmp\system\mark.bmp",picMark,bmMark,bmiMark)
'---
'画像リソースを読み込む関数
Sub LoadImg(ImgPath As BytePtr,hTargetDC As HDC,hTargetBITMAP As HBITMAP,ByRef hTargetBITMAPINFO As BITMAP)
hTargetDC = CreateCompatibleDC(hDC)
hTargetBITMAP = LoadImage(NULL,ImgPath,IMAGE_BITMAP,0,0,LR_LOADFROMFILE)
GetObject(hTargetBITMAP,sizeof(BITMAP),hTargetBITMAPINFO)
SelectObject(hTargetDC,hTargetBITMAP)
End Sub