最简单的显示一张图片问题

gasover 2004-08-09 12:12:04
为何执行后是一张白板?
void CMFC2View::OnDraw(CDC* pDC)
{
CMFC2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;

// TODO: 在此处为本机数据添加绘制代码
CBitmap Bitmap;
Bitmap.LoadBitmap("33.bmp");
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap* pOldBitmap=MemDC.SelectObject(&Bitmap);
pDC->BitBlt(0,0,96,96,&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldBitmap);
}
这是 系统的中本应用类的定义:
class CMFC2View : public CView
...全文
117 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gasover 2004-08-10
  • 打赏
  • 举报
回复
我明明结贴了的,怎么没有人得到分呢?
zhucde 2004-08-10
  • 打赏
  • 举报
回复
好,做一个吧:

ftp://221.226.192.6/test.rar
gasover 2004-08-10
  • 打赏
  • 举报
回复
up
Kudeet 2004-08-09
  • 打赏
  • 举报
回复
HANDLE LoadImage(
HINSTANCE hinst, // handle to instance
LPCTSTR lpszName, // image to load
UINT uType, // image type
int cxDesired, // desired width
int cyDesired, // desired height
UINT fuLoad // load options
);
HBITMAP phBitmap = NULL;
phBitmap = (HBITMAP)LoadImage( hInst, szFileName, IMAGE_BITMAP, 0, 0,
LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE );
CBitmap bitmap;
bitmap.Attach(phBitmap);
你也可以把位图导入工程用资源的形式加载
Kudeet 2004-08-09
  • 打赏
  • 举报
回复
如果你要重文件装载位图,不用LoadBitmap,用LoadImage
gasover 2004-08-09
  • 打赏
  • 举报
回复
搞不定,谁能给我一个确实可以运行的代码看看吗?谢谢了,请原谅我太菜了。
River_H 2004-08-09
  • 打赏
  • 举报
回复
先将位图加入资源中,然后:

CBitmap Bitmap;
Bitmap.LoadBitmap(IDB_BITMAP1);
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap* pOldBitmap=MemDC.SelectObject(&Bitmap);
pDC->BitBlt(0,0,96,96,&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldBitmap);
jim3000 2004-08-09
  • 打赏
  • 举报
回复
LoadBitmap只能加载当前应用实例所包含的位图资源,不能直接打开你的位图文件,所以失败。
用laiyiling的方法可以实现
gasover 2004-08-09
  • 打赏
  • 举报
回复
class CMFC2View : public CView
是不是这个类中不允许载入图片阿?
gasover 2004-08-09
  • 打赏
  • 举报
回复
其实 Bitmap
我是放在本类的全局变量中定义的, 而刚才那个只是在构造函数中装载的Bitmap.LoadBitmap("33.bmp"); 应该不存在反复载入问题。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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