Application/MFC

[MFC] CWnd 화면을 클립 보드로 복사하기

devsalix 2023. 5. 9. 17:43
728x90

화면을 클립보드에 넣기 위한 코드입니다

 

함수 호출 이후 그림판 등으로 붙여 넣기 했을 시 저장된 화면이 보입니다

 

void CWndToClipboard(CWnd *pWnd, CRect rect)
{
	CBitmap bmp;
	CClientDC dc(pWnd);
	CDC memDC;

	memDC.CreateCompatibleDC(&dc);
	bmp.CreateCompatibleBitmap(&dc,rect.Width(),rect.Height());

	CBitmap* pOldbmp = memDC.SelectObject(&bmp);
	memDC.BitBlt(0,0,rect.Width(),rect.Height(), &dc, 0,0,SRCCOPY);
	pWnd->OpenClipboard();
	EmptyClipboard();
	SetClipboardData(CF_BITMAP,bmp.GetSafeHandle());
	CloseClipboard();

	memDC.SelectObject(pOldbmp);
	bmp.DeleteObject();

	memDC.DeleteDC();
}

 

 


제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

 

 
728x90
반응형