如何将CStatic 上做的图 保存成bmp 活或是放入剪切板 如何将CStatic 上做的图 保存成bmp 活或是放入剪切板 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个帖子也许有用:http://www.vckbase.com/document/viewdoc/?id=1402 void CtestDlg::OnBnClickedButton4(){ CDC *dc; //CWnd * wnd = AfxGetApp()->GetMainWnd(); //GetDlgItem(IDOK); //抓取IDOK按钮的图形(截图),将其改为需要抓取部分的控件名称即可 CWnd * wnd = this; //抓取当前界面的图形 BOOL FullWnd=FALSE; if(FullWnd) { /* 抓取整个窗口 */ dc = new CWindowDC(wnd); } else { /* 仅抓取客户区时 */ dc = new CClientDC(wnd); } CDC memDC; memDC.CreateCompatibleDC(dc); CBitmap bm; CRect r; if(FullWnd) wnd->GetWindowRect(&r); else wnd->GetClientRect(&r); CString s; wnd->GetWindowText(s); CSize sz(r.Width(), r.Height()); bm.CreateCompatibleBitmap(dc, sz.cx, sz.cy); CBitmap * oldbm = memDC.SelectObject(&bm); memDC.BitBlt(0, 0, sz.cx, sz.cy, dc, 0, 0, SRCCOPY); //直接调用OpenClipboard(),而不用wnd->GetParent()->OpenClipboard(); wnd->OpenClipboard(); ::EmptyClipboard(); ::SetClipboardData(CF_BITMAP, bm.m_hObject); CloseClipboard(); //恢复原始环境 memDC.SelectObject(oldbm); bm.Detach(); delete dc;} 怎么 保存成bmp 格式的 呢我会继续加分的 这个帖子不是有吗?http://www.vckbase.com/document/viewdoc/?id=1402 select函数什么时候返回-1? 各种文件系统的磁盘卷设备BootSector数据的详细含义介绍 请问关于SetTimer 急!求救!使用ADO对数据库插入操作怎么释放内存 在线等待,_variant_t类型赋值问题!~ 利用系统时间产生随机数,居然会一模一样? 希望得到VC下使用水晶报表的帮助 从CRichEditView派生的文本编辑器的一个简单问题:如何显示行和列? 关于在VC开发ActiveX控件时遇到的问题! onidle(-1)是什么意思?为什么参数为负? 求救:两个问题 界面的中英文转换
http://www.vckbase.com/document/viewdoc/?id=1402
{
CDC *dc;
//CWnd * wnd = AfxGetApp()->GetMainWnd(); //GetDlgItem(IDOK); //抓取IDOK按钮的图形(截图),将其改为需要抓取部分的控件名称即可
CWnd * wnd = this; //抓取当前界面的图形
BOOL FullWnd=FALSE;
if(FullWnd)
{
/* 抓取整个窗口 */
dc = new CWindowDC(wnd);
}
else
{
/* 仅抓取客户区时 */
dc = new CClientDC(wnd);
} CDC memDC;
memDC.CreateCompatibleDC(dc); CBitmap bm;
CRect r;
if(FullWnd)
wnd->GetWindowRect(&r);
else
wnd->GetClientRect(&r); CString s;
wnd->GetWindowText(s);
CSize sz(r.Width(), r.Height());
bm.CreateCompatibleBitmap(dc, sz.cx, sz.cy); CBitmap * oldbm = memDC.SelectObject(&bm);
memDC.BitBlt(0, 0, sz.cx, sz.cy, dc, 0, 0, SRCCOPY);
//直接调用OpenClipboard(),而不用wnd->GetParent()->OpenClipboard();
wnd->OpenClipboard(); ::EmptyClipboard();
::SetClipboardData(CF_BITMAP, bm.m_hObject);
CloseClipboard(); //恢复原始环境
memDC.SelectObject(oldbm);
bm.Detach();
delete dc;
}
我会继续加分的
http://www.vckbase.com/document/viewdoc/?id=1402