ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月27日(土) 19:47

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 4 件の記事 ] 
作成者 メッセージ
 記事の件名: BitBltを2度する
投稿記事Posted: 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です


通報する
ページトップ
   
 記事の件名: 申し訳ないです
投稿記事Posted: 2005年7月12日(火) 15:37 
投稿するまでに手を尽くしたつもりだったのですが、
更に悪あがきをしていたら自己解決いたしました。
お騒がせいたしまして、本当に申し訳ありませんでした。


通報する
ページトップ
   
 記事の件名: Re: BitBltを2度する
投稿記事Posted: 2005年7月12日(火) 21:50 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
> 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)


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年7月12日(火) 23:35 
ご指摘ありがとうございました。早速まずいところは全て書き換えました。
道はまだまだ険しいですが頑張りたいと思います(;^-^)


通報する
ページトップ
   
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 4 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: Bing [Bot] & ゲスト[13人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean