Piantイベントを使った画像表示がやっと出来るようになり、いろいろ勉強しているのですが、
http://www.activebasic.com/help_center/ ... index.html
のような感じで、Paintイベントに1つのBitBltだけで複数の画像表示をしようと思ったのですが、
なかなか出来ません。
[ここをクリックすると内容が表示されます]
このコードを実行したところ、背景が真っ黒になるだけで、他には何も起きません。コード: 全て選択
'デバイスコンテキスト
Dim hIcon As HBITMAP
Dim hBanner As HBITMAP
Dim imgbox As HDC
Dim window As HDC
Dim hMemDC As HDC
Dim hBannerDC As HDC
mgbox=GetDC(GetDlgItem(hVersion,ImageBox1))
hBanner=CreateCompatibleBitmap(imgbox,200,40)
hBannerDC=CreateCompatibleDC(imgbox)
SelectObject(hBannerDC,hBanner)
hBanner=LoadBitmap(GetModuleHandle(0),IDB_BITMAP2)
window=GetDC(hVersion)
hIcon=CreateCompatibleBitmap(window,32,32)
hMemDC=CreateCompatibleDC(window)
SelectObject(hMemDC,hIcon)
hIcon = LoadBitmap(GetModuleHandle(0),IDB_BITMAP1)
SendMessage(hVersion,WM_PAINT,0,0)
End Sub
Sub Version_Paint(hDC As HDC)
BitBlt(imgbox,0,0,200,40,hBannerDC,0,0,SRCCOPY)
BitBlt(window,5,5,32,32,hMemDC,0,0,SRCCOPY)
End Sub
Sub Version_CommandButton1_Click()
SendMessage(hVersion,WM_CLOSE,0,0)
End Sub
Sub Version_Destroy()
DeleteObject(hIcon)
DeleteObject(hBanner)
ReleaseDC(GetDlgItem(hVersion,ImageBox1),imgbox)
ReleaseDC(hVersion,window)
End Sub
すみませんが、上のコードの添削と、何故そうなったか、また、『此処が理解できてないだろうな』のようなことがあれば、教えていただけないでしょうか。