void CCPictureCtrlDemoDlg::OnBnClickedButton1()
{
//Load an Image from File pic1
m_picCtrl.Load(CString(_T(“d:\3.jpg”)));
}
void CCPictureCtrlDemoDlg::OnBnClickedButton2()
{
//Load an Image from a Stream
//Create the Stream
IStream* pStream = NULL;
if(CreateStreamOnHGlobal(NULL, TRUE, &pStream) == S_OK)
{
//Load the file ... Internet source ... etc.
CFile picFile;
if(picFile.Open(_T("pic2.gif"), CFile::modeRead | CFile::typeBinary))
{
BYTE pBuffer[1024];
UINT uiRead = 0;
while((uiRead = picFile.Read(pBuffer, sizeof(pBuffer))) != 0)
{
ULONG ulWritten = 0;
pStream->Write(pBuffer, uiRead, &ulWritten);
}
//Load the Image
m_picCtrl.Load(pStream);
}
while(pStream->Release());
}
}
void CCPictureCtrlDemoDlg::OnBnClickedButton3()
{
//Load from a Byte Stream
//Load the file ... Internet source ... etc.
CFile picFile;
if(picFile.Open(_T("pic3.png"), CFile::modeRead | CFile::typeBinary))
{
BYTE* pBuffer = new BYTE[(unsigned int)picFile.GetLength()];
if(pBuffer != NULL)
{
picFile.Read(pBuffer, (UINT)picFile.GetLength());
//Load the Image
m_picCtrl.Load(pBuffer, (size_t)picFile.GetLength());
delete pBuffer;
}
}
}
http://www.codeproject.com/Articles/24969/An-MFC-picture-control-to-dynamically-show-picture