ab.com コミュニティ https://www.activebasic.com/forum/ |
|
複数画像表示 https://www.activebasic.com/forum/viewtopic.php?t=2559 |
ページ 1 / 1 |
作成者: | 水波形 [ 2009年4月03日(金) 12:07 ] |
記事の件名: | 複数画像表示 |
お久しぶりです。元HOLYです。 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 すみませんが、上のコードの添削と、何故そうなったか、また、『此処が理解できてないだろうな』のようなことがあれば、教えていただけないでしょうか。 |
作成者: | イグトランス [ 2009年4月05日(日) 21:35 ] |
記事の件名: | |
引用: hBanner=CreateCompatibleBitmap(imgbox,200,40)
ここです。CreateCompatibleBitmapの1番目の引数はHDC型です。なので、こうしましょう。
hBannerDC=CreateCompatibleDC(imgbox) コード: hBannerDC=CreateCompatibleDC(imgbox) hBanner=CreateCompatibleBitmap(hBannerDC, 200, 40)もう1ヶ所、hIcon/hMemDCのところも同じです。これでどうでしょうか? |
作成者: | 水波形 [ 2009年4月05日(日) 21:58 ] |
記事の件名: | |
ああ! ホントでした! すみません、ありがとうございます! 解決しました!! |
ページ 1 / 1 | 全ての表示時間は UTC+09:00 です |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |