weixin_40666372
2019-04-02 11:12
采纳率: 100%
浏览 287

在WinCE下用BitBlt()贴图,为什么每贴一次内存都涨一次,我明明都释放了

在WinCE下用BitBlt()贴图,为什么每贴一次内存都涨一次,我明明都释放了

CDC *dc;

CDC memdc;

HBITMAP hBitmap;

HBITMAP hOldbmp;

CStatic* m_pStatic=(CStatic*)GetDlgItem(IDC_STATIC1);

CRect rect;

m_pStatic->GetWindowRect(rect);//获得静态文本框大小

CString strPicName=_T("c:\")

hBitmap=SHLoadDIBitmap(strPicName);

dc= GetDlgItem(IDC_DRAWING_CHUCK_TYPE)->GetDC();

if(hBitmap!=NULL)

{

memdc.CreateCompatibleDC(dc);

hOldbmp=(HBITMAP)memdc.SelectObject(hBitmap);

dc->BitBlt(0,0,rect.right-rect.left,rect.bottom-rect.top,&memdc,0,0,SRCCOPY);

memdc.SelectObject(hOldbmp);

DeleteObject(&hBitmap);

memdc.DeleteDC();

dc->DeleteDC();

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • weixin_40666372 2019-04-04 15:31
    已采纳

    找到原因了DeleteObject(/*&*/hBitmap);

    点赞 评论

相关推荐 更多相似问题