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

在VC图片控件显示固定图片程序如何设计

2012-12-15 
在VC图片控件显示固定图片程序怎么设计?现有程序是点击输入,自己选择图片,如何改成点击自动出来程序里已经

在VC图片控件显示固定图片程序怎么设计?
现有程序是点击输入,自己选择图片,如何改成点击自动出来程序里已经选好的图片?
程序如下

//*****************************************************************************
// 显示JPEG格式图片
//*****************************************************************************
BOOL CPictureDlg::DisplayPicture(LPCTSTR lpszFileName)
{
  CFile file;
  if(!file.Open(lpszFileName, CFile::modeRead)) return FALSE;

  //得到文件大小
  DWORD dwSize = file.GetLength();

  //分配内存
  HGLOBAL hMem = ::GlobalAlloc(GMEM_MOVEABLE, dwSize);
  if(hMem == NULL) return FALSE;

  //锁定内存
  LPVOID pDes = ::GlobalLock(hMem);
  if(pDes == NULL)
  {
    ::GlobalFree(hMem);
    return FALSE;
  }

  //读文件到内存 
  file.ReadHuge(pDes, dwSize);

  //关闭文件,解锁内存块
  file.Close();
  GlobalUnlock(hMem);

  //创建一个IStream接口指针,用来保存图片流 
  IStream* pIStream = NULL;
  CreateStreamOnHGlobal(hMem, TRUE, &pIStream);

  //如果pIPicture不为空, 先释放pIPicture 
  if(pIPicture != NULL)  pIPicture->Release();        
  
  //用OleLoadPicture获得IPicture接口指针 
  if(!SUCCEEDED(OleLoadPicture(pIStream, dwSize, TRUE, IID_IPicture, (LPVOID*)&pIPicture)))
  {
    pIStream -> Release();
    ::GlobalFree(hMem);

    return FALSE;
  }

  GlobalFree(hMem);           //释放全局内存 
  pIStream->Release();        //释放pIStream  

  OLE_XSIZE_HIMETRIC hmWidth;
  OLE_YSIZE_HIMETRIC hmHeight;

  //用接口方法获得图片的宽和高 
  pIPicture->get_Width(&hmWidth);
  pIPicture->get_Height(&hmHeight);
  
  //保存图像大小
  m_size.cx = hmWidth;
  m_size.cy = hmHeight;   //保存图像大小

  //窗口重绘,用于在PAINT里显示图像
  Invalidate();
    
  return TRUE;
}


void CPictureDlg::OnButtonLoad() 
{
   CStdioFile file;
   CString strName;

   CFileDialog dlg(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT, _T("JPEG图像文件(*.jpg)|*.jpg|全部文件(*.*)|*.*||"), AfxGetMainWnd());

   if(dlg.DoModal() == IDOK)
   {
     //得到文件名
 strName = dlg.GetPathName();

 //显示图像
 DisplayPicture(strName);
   }
}

[最优解释]
void CPictureDlg::OnButtonLoad()  
{
  CStdioFile file;
  CString strName = "x:\\xxxxxxx";//你需要的文件路径
//显示图像
DisplayPicture(strName);
}

热点排行