void CopyBMPToClipBoard(CRect rect, CWnd *pWnd) {
CBitmap bitmap;
CClientDC dc(pWnd);
CDC memDC;
memDC.CreateCompatibleDC(&dc);
bitmap.CreateCompatibleBitmap(&dc, rect.Width(),rect.Height() );
CBitmap* pOldBitmap = memDC.SelectObject(&bitmap);
memDC.BitBlt(0, 0, rect.Width(),rect.Height(), &dc, rect.left, rect.top, SRCCOPY);
pWnd->OpenClipboard() ;
EmptyClipboard() ;
SetClipboardData (CF_BITMAP, bitmap.GetSafeHandle() ) ;
CloseClipboard () ;
memDC.SelectObject(pOldBitmap);
bitmap.Detach();
}
博客给出了一个名为CopyBMPToClipBoard的函数代码,该函数可将指定矩形区域的BMP图像复制到剪贴板。函数通过创建兼容的位图和内存设备上下文,进行位块传输,最后将位图数据设置到剪贴板。

486

被折叠的 条评论
为什么被折叠?



