高手帮忙阿,分不够在加,剪贴板的问题 我该怎样将应用程序窗口中的某个区域进行"考屏",也就是将他抓屏下来,然后放到指定的word文档中,多谢了,我知道可能有些难度,但我可以另起帖子给分,要多少,您开价!!先给100意思一下!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 考屏不是问题,可是怎么放到word 中 还没有想法 CBC可以.考屏参考http://www.vckbase.com/document/viewdoc.asp?id=181 你把转的图放到剪切板,可直接在WORD中粘贴。这些工作都很简单的,你到图形/算法版搜索一下,有关的帖子很多。 以下代码将窗口内容考入剪贴板,fullwnd为true表示整个窗口,false表示客户区,你可以很容易的将它改成适合你的//复制到剪贴板void ToClipboard(CWnd * wnd, BOOL FullWnd) { CDC dc; if(FullWnd) { /* full window */ HDC hdc = ::GetWindowDC(wnd->m_hWnd); dc.Attach(hdc); } /* full window */ else { /* client area only */ HDC hdc = ::GetDC(wnd->m_hWnd); dc.Attach(hdc); } /* client area only */ 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); wnd->OpenClipboard(); ::EmptyClipboard(); ::SetClipboardData(CF_BITMAP, bm.m_hObject); CloseClipboard(); memDC.SelectObject(oldbm); bm.Detach(); } 随便响应一个按钮的事件,在其中调用ToClipboard(this,false);//用false表示只拷贝客户区 求助-关于编译x64的程序,尤其是dll 请教高手!调试没问题,可执行文件直接运行一会就出错! 列表框问题。高手帮忙 请各位帮帮忙,棘手的问题!!! 求助,vc7下消息映射出现问题! 请问:一个以上的线程同时操作同一个STL的链表,需要互斥保护么? 请教一个密码转换的算法? 二次开发工具 gsoap的服务端怎样像客户端一样调用另一个服务端的方法 高手求命呀?关于消息问题? WM_DRAWITEM请教 ****用口令才能打开浏览器,有没有这样的软件。******
考屏参考http://www.vckbase.com/document/viewdoc.asp?id=181
这些工作都很简单的,你到图形/算法版搜索一下,有关的帖子很多。
void ToClipboard(CWnd * wnd, BOOL FullWnd)
{
CDC dc;
if(FullWnd)
{ /* full window */
HDC hdc = ::GetWindowDC(wnd->m_hWnd);
dc.Attach(hdc);
} /* full window */
else
{ /* client area only */
HDC hdc = ::GetDC(wnd->m_hWnd);
dc.Attach(hdc);
} /* client area only */ 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); wnd->OpenClipboard();
::EmptyClipboard();
::SetClipboardData(CF_BITMAP, bm.m_hObject);
CloseClipboard(); memDC.SelectObject(oldbm);
bm.Detach();
}