请问用这个函数怎么显示bmp图片啊?SetDIBitsToDevice()

leotangcw1 2004-08-01 09:20:42
程序如下:
void CMyseeView::OnDraw(CDC* pDC)
{
CPaintDC dc(this);
CMyseeDoc* pDoc=GetDocument();
ASSERT_VALID(pDoc);
if(pDoc->flag==1)
{
SetDIBitsToDevice(dc.m_hDC ,0,0,pDoc->bi.biWidth,pDoc->bi.biHeight,0,0,0,pDoc->bi.biHeight,pDoc->lpBuf,pDoc->pbi,DIB_RGB_COLORS);
}
Invalidate(FALSE);
}
就是没有显示啊!大哥门帮下忙吧!
debug能看见图片内容已经进入内存了!好象是dc.m_hDC的不到设备环境,该怎么写啊?
...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanstar200 2004-08-02
  • 打赏
  • 举报
回复
SetDIBitsToDevice(pDC->GetSafeHdc() ,0,0,pDoc->bi.biWidth,pDoc->bi.biHeight,0,0,0,pDoc->bi.biHeight,pDoc->lpBuf,pDoc->pbi,DIB_RGB_COLORS);
leotangcw1 2004-08-02
  • 打赏
  • 举报
回复
谢谢各位了啊!
就是用pDC->m_hDC!
酒红绿叶 2004-08-01
  • 打赏
  • 举报
回复
你在OnDraw里面Invalidate,你看到闪了么??
好像礼花一样!!

不要用dc.m_hDC,直接用pDC->m_hDC

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧