デスクトップのビットマップをメモリに格納して,処理後再びデスクトップに表示する.
CreateCompatibleBitmap() で領域確保,BitBlt() する.
CDC dcDesktop; // デスクトップのデバイスコンテキスト
CDC dcMem; // ビットマップを保存するデバイスコンテキスト
CBitmap bmMem; // ビットマップを保存するビットマップ
// 以下の変数はあらかじめ計算しておく
CSize szObject; // 読み込むビットマップのサイズ
CPoint ptDrawing; // 書き出し先
// 読込処理
dcDesktop.CreateDC("DISPLAY", NULL, NULL, NULL);
dcMem.CreateCompatibleDC(&dcDesktop);
bmMem.CreateCompatibleBitmap(&dcDesktop, szObject.cx, szObject.cy);
CBitmap* pbmOld = dcMem.SelectObject(&bmMem);
dcMem.BitBlt(0, 0, szObject.cx, szObject.cy,
&dcDesktop, ptDrawing.x, ptDrawing.y, SRCCOPY);
// 処理
// 描写処理
dcDesktop.BitBlt(ptDrawing.x, ptDrawing.y,
szObject.cx, szObject.cy, &dcMem, 0, 0, SRCCOPY);
dcMem.SelectObject(pbmOld);
参照