Last Updated 2007/10/23
Programming Tips Windows クリップボード  索 引 
ビットマップをクリップボードに転送
2005/02/07

ビットマップをクリップボードに転送する.

CDC* pDC;
pDC = GetDC();

CDC dcMem;
CBitmap* hbit;
hbit = new CBitmap;

hbit->CreateCompatibleBitmap( pDC, rect.Width(), rect.Height() ); 
dcMem.CreateCompatibleDC( pDC );
dcMem.SelectObject( hbit );
dcMem.BitBlt( 0, 0, rect.Width(), rect.Height(), pDC,
                                rect.left, rect.top, SRCCOPY );
ReleaseDC( pDC );

if( !OpenClipboard() ) {
    return;
}

if( !EmptyClipboard() ) {
    return;
}

if( ::SetClipboardData( CF_BITMAP, hbit->operator HBITMAP() ) == NULL ) {
    CloseClipboard();
    return;
}

CloseClipboard();

dcMem.DeleteDC();
hbit->Detach();
delete hbit;


参照
クリップボードを使う
前後のTips
ビットマップをクリップボードに転送

DSS ProgrammingTipsCGI Ver2.02