|
楼主 |
发表于 2020-2-5 13:00:02
|
显示全部楼层
楼上的,你好
谢谢你的回帖。
“复制位图”这个问题,我在网上找了资料,最后我写成这样了,你帮我看看,可以更优化么?
CBitmap bitmap;
CClientDC dc(GetDlgItem(IDC_WAVE_UI_BMP));
CDC memDC;
CRect rect(0, 0, 0, 0);
VERIFY(memDC.CreateCompatibleDC(&dc));
GetDlgItem(IDC_WAVE_UI_BMP)->GetWindowRect(rect);
VERIFY(bitmap.CreateCompatibleBitmap(&dc, rect.Width(),rect.Height()));
CBitmap* pOldBitmap = memDC.SelectObject(&bitmap);
VERIFY(memDC.BitBlt(0, 0, rect.Width(),rect.Height(), &dc, 0, 0, SRCCOPY));
VERIFY(::OpenClipboard(NULL));
VERIFY(::EmptyClipboard());
VERIFY(SetClipboardData (CF_BITMAP, bitmap.GetSafeHandle()));
::CloseClipboard() ;
memDC.SelectObject(pOldBitmap);
bitmap.Detach();
位图是显示在DI为“IDC_WAVE_UI_BMP”的Picture控件上的。 |
|