如何将CStatic 上做的图 保存成bmp 活或是放入剪切板

解决方案 »

  1.   

    这个帖子也许有用:
    http://www.vckbase.com/document/viewdoc/?id=1402
      

  2.   

    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;
    }
      

  3.   

      怎么 保存成bmp 格式的 呢
    我会继续加分的
      

  4.   

    这个帖子不是有吗?
    http://www.vckbase.com/document/viewdoc/?id=1402