[code=C/C++]
// pDC is the DC to draw to
// metafile is a CRect to display the DIB/Metafile in
CRect metafile(0, 0, 100, 100); // example location
if (IsClipboardFormatAvailable(CF_METAFILEPICT))
{
// play a metafile from the clipboard if available
GLOBALHANDLE hGMem ;
LPMETAFILEPICT lpMFP ;
OpenClipboard() ;
hGMem = GetClipboardData(CF_METAFILEPICT) ;
lpMFP = (LPMETAFILEPICT)GlobalLock(hGMem) ;
pDC->SaveDC() ;
pDC->SetMapMode(lpMFP->mm) ;
pDC->SetViewportExt(metafile.Width(), metafile.Height()) ;
pDC->SetViewportOrg(metafile.left, metafile.top) ;
pDC->PlayMetaFile(lpMFP->hMF) ;
VERIFY(pDC->RestoreDC(-1)) ;
GlobalUnlock(hGMem) ;
CloseClipboard() ;
}if (IsClipboardFormatAvailable(CF_DIB))
{
// a DIB is in the clipboard, draw it out
GLOBALHANDLE hGMem ;
LPBITMAPINFO lpBI ;
void* pDIBBits; OpenClipboard() ;
hGMem = GetClipboardData(CF_DIB) ;
lpBI = (LPBITMAPINFO)Gl
VS读取剪贴板中的位图数据
最新推荐文章于 2022-11-06 21:16:33 发布