MFC中如何在Dialog中显示一张jpg图片?

来源:百度知道 编辑:UC知道 时间:2024/06/05 05:20:21
我说的导入JPG图片

具体步骤如下:
  1、在dialog面板拖入Edit Box控件,利用ClassWizard关联一个CEdit型控制成员变量m_edit或者在dialog面板拖入Static Text控件,利用ClassWizard关联一个CStatic型成员变量m_picture更好,边界处理更好.
  2、编辑显示函数,我在这里添加的是XXXDlg的成员函数,代码如下:
  [cpp] view plaincopy
  bool CShowJPGStreamDlg::ShowJpgGif(CDC *pDC, CString strPath, int x, int y)
  {
  IStream *pStm;
  CFileStatus fstatus;
  CFile file;
  LONG cb;
  if (file.Open(strPath,CFile::modeRead)&&file.GetStatus(strPath,fstatus)&&((cb = fstatus.m_size) != -1))
  {
  HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, cb);
  LPVOID pvData = NULL;
  if (hGlobal != NULL)
  {
  pvData = GlobalLock(hGlobal);
  if (pvData != NULL)
  {
  file.Read(pvData, cb);
  GlobalUnlock(hGlobal);
  CreateStreamOnHGlobal(hGlobal, TRUE, &pStm);
  }
  }
  }
  else
  return false;
  //显示JPEG和GIF格式的图片,GIF只能显示一帧,还不能显示动画,
  //要显示动画GIF请使用ACTIVE控//件。
  IPicture *pPic;
  //load