CE下读取BMP图片问题

sumpterSHI2010 2011-11-19 05:22:00
我现在在程序的一个按钮单击事件中加载了一幅bmp图片,
CString url = _T("\\windows\\zp.bmp");
现在照片在单击后能显示出来,但是一拖动Dialog就会消失
问题一:
请问我还需要加什么消息处理和代码吗?使得拖动后照片依然能够存在
问题二:
我想把照片放到和我的.exe文件同一目录下,我的地址应该怎么写呢?

求前辈赐教!不吝感激!
...全文
151 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
afdkdudu 2011-11-20
  • 打赏
  • 举报
回复
在OnPaint()中,调用DrawPicture(&dc,_T("\\ResidentFlash\\1.bmp"));//调用上面的即可
afdkdudu 2011-11-20
  • 打赏
  • 举报
回复
DrawPicture(CDC*pdc,CString filename)
{
HBITMAP hbm,poldhbm;
BITMAP bm;
CDC memDC;

hbm = SHLoadDIBitmap(filename);
if (hbm == NULL)
{
return ;
}

GetObject(hbm,sizeof(BITMAP),(LPBYTE)&bm);

memDC.CreateCompatibleDC(pdc);
poldhbm = (HBITMAP)memDC.SelectObject(hbm);
pdc->StretchBlt(0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),
&memDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);

memDC.SelectObject(poldhbm);

DeleteObject(hbm);

memDC.DeleteDC();
}
northcan 2011-11-20
  • 打赏
  • 举报
回复
把绘制图像的代码,放到WM_PAINT的消息处理函数OnPaint中去试试。
sumpterSHI2010 2011-11-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mfc5158 的回复:]

是在paint里面绘制的吗
[/Quote]
不是在paint里绘制的,之前试过在paint里绘制,但这样的话 其他dialog中的控件就会失效
YUQB 2011-11-19
  • 打赏
  • 举报
回复
是在paint里面绘制的吗
woshi_ziyu 2011-11-19
  • 打赏
  • 举报
回复
91program 2011-11-19
  • 打赏
  • 举报
回复
与EXE放在一个目录,需要代码通过GetModuleFile...函数来获取当前目录,然后加上BMP文件名

拖动窗体后,刷新窗口。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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