把位图放置到剪接板上


日期: 2002-02-18 14:00 | 联系我
关注我: Telegram, Twitter

实现步骤如下:

(1) 如果工程还没有支持OLE,添加下面代码:

#include <afxole.h>

并在初始化中添加下面代码:

OleInitialize(NULL);

(2) 下面代码将视的位图放置到剪接板上

void CMyView::OnEditCopy() { COLORREF BACKGROUND_COLOR = RGB(255,255,255); tagSTGMEDIUM * data; CBitmap * junk; COleDataSource* pData = new COleDataSource; data = new tagSTGMEDIUM; junk = new CBitmap(); CClientDC cdc(this); CDC dc; dc.CreateCompatibleDC(&cdc); CRect client; //replace this with something that calculates //the proper rectangle size GetClientRect(client); junk->CreateCompatibleBitmap(&cdc,client.Width(),client.Height()); dc.SelectObject(junk); CBrush fill(BACKGROUND_COLOR); dc.FillRect(client,&fill); //replace this with something that draws to a CDC OnDraw(&dc); data->tymed = TYMED_GDI; data->hBitmap = HBITMAP(*junk); pData->CacheData( CF_BITMAP, data ); pData->SetClipboard(); delete data; delete junk; }


 文章评论

第 1 楼  发表于 2011-12-12 10:10 | 李木 的所有评论
不知不觉进来了,,呵呵 东西好全面啊~

共有评论 1 条, 显示 1 条。

当前页面是本站的 Google AMP 版本。
欲查看完整版本和发表评论请点击:完整版 »

 

程序员小辉 建站于 1997
Copyright © XiaoHui.com; 保留所有权利。