MFC中如何在Dialog中显示一张jpg图片?
来源:百度知道 编辑:UC知道 时间:2024/06/05 05:20:21
具体步骤如下:
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