首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

wince上图片显示的有关问题

2012-10-19 
wince下图片显示的问题。我用的事vs2005编程,wince的模拟器运行。我首先在PC上实现了打开图片并且显示,但是

wince下图片显示的问题。
我用的事vs2005编程,wince的模拟器运行。我首先在PC上实现了打开图片并且显示,但是移到CE下可以运行,但是当一点击打开图片的时候,立即系统报错,说出现严重错误,强制关闭。困扰我一周了,就是解决不了。我换过很多中方式,还是不知道问题在哪里。请高手帮我看看。附代码:
void CtestView::ShowBitmap(CDC* pDC,CString strPicPath)//显示BMP图片
{  
  HBITMAP hBitmap=(HBITMAP)LoadImage(NULL,strPicPath,IMAGE_BITMAP,0,0,LR_DEFAULTCOLOR);
  m_bitmap.Detach();
  m_bitmap.Attach(hBitmap);

  CRect rect;
  GetClientRect(&rect);

  CDC dcImage;
  if (!dcImage.CreateCompatibleDC(pDC))
  {
  return;
  }
  BITMAP bm;
  m_bitmap.GetBitmap(&bm);//在这里报错,不能再运行了。 dcImage.SelectObject(&m_bitmap);
  pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&dcImage,0,0,SRCCOPY); //图片保留原始大小

}

这是路径获取已经运行的代码:
void CtestView::OnDraw(CDC* pDC)
{
CtestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);

// TODO: 在此处为本机数据添加绘制代码
  //next newsss
if (!pDoc)
  return;

  if (0 == extname.Compare(_T("bmp")))
  {
  ShowBitmap(pDC,strPicPath);
  }
  else
  {
  if (0 == extname.Compare(_T("jpg"))||0 == extname.Compare(_T("jpeg"))||0 == extname.Compare(_T("gif")))
  {
  ShowPic(pDC,strPicPath);
  }
  }

}
求高手一定帮帮我。

[解决办法]
你调式一下看m_bitmap是否有值,否则自然无法获取位图信息啊!
[解决办法]
RECT rcClient;
pT->GetClientRect ( &rcClient );

BITMAP bm;
m_Bitmap.GetBitmap(&bm);
CDC memDC;
memDC.CreateCompatibleDC(hDC);
HBITMAP hOldBmp = memDC.SelectBitmap(m_Bitmap);
StretchBlt(hDC,0,0,rcClient.right - rcClient.left,rcClient.bottom - rcClient.top,memDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
memDC.SelectBitmap(hOldBmp);
memDC.DeleteDC();
这个我程序里面用过的,你照样修改一下试试……我这是可以用
[解决办法]
m_bitmap.GetBitmap(&bm);//在这里报错,不能再运行了。

-----------

报什么错误 是不是空指针

热点排行