读书人

设置dialog的背景图片所遇到的createb

发布时间: 2013-07-01 12:33:04 作者: rapoo

设置dialog的背景图片所遇到的createbitmap()问题

点击“忽略”后则继续运行,但Dialog背景明显没有更改,
通过断点,确定是 bmpBackground.GetBitmap(&bitmap);这句话出的问题
点击“重试”后,会报已触发了一个断点,再点“重试”,这个报错框就消失,返回Dialog,背景图片依然没有。

我已经把那张图放在res目录下了,求大神帮忙,vc新手,勿怪。 MFC Bitmap VC Dialog 背景图片
[解决办法]


CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_PNG1);



图片是PNG的? CBitmap 不支持PNG格式
可以使用CImage (GDI+)


[解决办法]
GDI资源泄露??
你绘图的代码中没有看到你SelectObject旧的HBITMAP
[解决办法]
HBITMAP hOldBitmap = dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rc.Width(), rc.Height(), &dcMem,0,0,bitmap.bmWidth, bitmap.bmHeight, SRCCOPY);
dcMem.SelectObject(hOldBitmap);
[解决办法]
去掉“CDialogEx::OnPaint();”
[解决办法]

这个和我的预期不一样啊,上面还有蓝色的边框,怎么去掉这个一圈的框框?
那个图上面怎么还有网格状破损,我导进去时是好的啊
删除res下的bmp图片,然后复制新的图片进去,改成原来的那个名称
[解决办法]
引用:
9楼的哥们,不行啊,换了图片还是那样。
另外你知道那个蓝色边框怎么去掉吗

去不掉的,那部分属于非客户区,要么将对话框设为无边框,然后自绘标题栏
[解决办法]
对话框属性用无边框形式

StretchBlt前调用 dc.SetStretchBltMode(HALFTONE);

读书人网 >VC/MFC

热点推荐