BitBltを2度する

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: BitBltを2度する

by 辻本一揃 » 2005年7月12日(火) 23:35

ご指摘ありがとうございました。早速まずいところは全て書き換えました。
道はまだまだ険しいですが頑張りたいと思います(;^-^)

Re: BitBltを2度する

by イグトランス » 2005年7月12日(火) 21:50

> BitBlt(GetDC(hMainWnd),0,0,100,100,hB,0,0,SRCCOPY)
これはメモリリークになります。
GetDCしたらReleaseDCを呼ばなければなりません。
たとえばこんな感じです。
Dim hdc As HDC
hdc = GetDC(hMainWnd)
BitBlt(hdc,0,0,100,100,hB,0,0,SRCCOPY)
ReleaseDC(hwnd, hdc)

申し訳ないです

by 辻本一揃 » 2005年7月12日(火) 15:37

投稿するまでに手を尽くしたつもりだったのですが、
更に悪あがきをしていたら自己解決いたしました。
お騒がせいたしまして、本当に申し訳ありませんでした。

BitBltを2度する

by 辻本一揃 » 2005年7月12日(火) 09:41

はじめまして

AB初心者で一つずつ学んで行こうと思っているのですが、引っかかった点がありましたので投稿させていただきました。BitBltに関する質問です。
ビットマップファイルをウィンドウに描写する方法は理解できたのですが、BitBltを2度した場合に描写されないんです。
つまり簡略して書きますと、

コード: 全て選択

SelectObject(hA,hBitmap)
BitBlt(GetDC(hMainWnd),0,0,100,100,hA,0,0,SRCCOPY)
での動作は確認できたのですが、

コード: 全て選択

SelectObject(hA,hBitmap)
BitBlt(hB,0,0,100,100,hA,0,0,SRCCOPY)
BitBlt(GetDC(hMainWnd),0,0,100,100,hB,0,0,SRCCOPY)
では描写されなくなったのです。どの点がまずいのでしょうか。
環境はv4.03.00でWinXPです

ページトップ