///===加载图片================================================/// // 参数: 文件实例 // add by xuyz 2011-09-17 void CPicScrollView::LoadPic(CFile& file) { CArchive ar(&file, CArchive::load | CArchive::bNoFlushOnDelete); CArchiveStream arcstream(&ar); ReleasePic(); if (FAILED(OleLoadPicture(&arcstream, 0, FALSE, IID_IPicture, (void**)&m_pPic))) { return; } m_pPic->get_Width(&m_hmWidth); m_pPic->get_Height(&m_hmHeight); CClientDC dc(this); CSize sz(m_hmWidth,m_hmHeight); dc.HIMETRICtoDP(&sz); m_cxPic = sz.cx; m_cyPic = sz.cy; SetScrollSizes(MM_TEXT, sz); Invalidate(); }
BOOL CImageList::Write(CArchive* pArchive) { ASSERT(m_hImageList != NULL); ASSERT(pArchive != NULL); ASSERT(pArchive->IsStoring()); CArchiveStream arcstream(pArchive); return ImageList_Write(m_hImageList, &arcstream); }
BOOL CImageList::Read(CArchive* pArchive) { ASSERT(m_hImageList == NULL); ASSERT(pArchive != NULL); ASSERT(pArchive->IsLoading()); CArchiveStream arcstream(pArchive); m_hImageList = ImageList_Read(&arcstream); return (m_hImageList != NULL); }
////////////////// // Load from archive--create stream and load from stream. // BOOL CPicture::Load(CArchive& ar) { CArchiveStream arcstream(&ar); return Load((IStream*)&arcstream); }