基于对话框的MFC中子对话框为何不显示载入的背景图片

基于对话框的MFC中子对话框为何不显示载入的背景图片,第1张

你的WM_ERASEBKGND有没有让其不进行任何处理?WM_PAINT和WM_ERASEBKGND不能同时共存的,不然会遮盖你的绘图。

另外你Debug一下,看你的子对话框的OnPaint函数执行成功了没?

CListCtrl的SetBkImage函数,当参数是字符串的时候,需要的是一个URL,你这明显不是,怎么可能出的来。刷了也没用。

先根据图片获取图片的句柄HBITMAP,然后设置这个句柄试试,在MSDN上查一下这个接口就知道怎么用了

显示不完全是你的图片大小大于视图大小,建议不用bitblt,参考代码如下

CBitmap bitmap

bitmap.LoadBitmap(IDB_BITMAP1)

BITMAP bmp

bitmap.GetBitmap(&bmp)

CDC dcCompatible

dcCompatible.CreateCompatibleDC(pDC)

dcCompatible.SelectObject(&bitmap)

CRect rect

GetClientRect(&rect)

// pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY)

pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,

0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY)

return TRUE


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11798137.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存