天天看点

MFC CDC 双缓冲代码,

1.创建新设备bdc,创建新设备画布bbmp

3.设备,画布绑定

4.绘画

5.交换

CRect rect;
	GetClientRect(rect);
	//1.创建新设备,画布,(图片的创建必须依靠fdc,否则会是黑白效果)
	CDC *fdc= this->GetDC();
	CDC bdc;
	CBitmap bbmp;
	bdc.CreateCompatibleDC(fdc);
	bbmp.CreateCompatibleBitmap(fdc,200,200);
	//2.设备,画布绑定,(必须先创建,后绑定)
	bdc.SelectObject(bbmp);
	//3.绘画
	bdc.FillRect(rect,bdc.GetCurrentBrush());
	bdc.LineTo(100,100);
	//4.交换
	bdc.BitBlt(10,10,200,200,fdc,0,0,SRCCOPY);
	fdc->BitBlt(0,0,200,200,&bdc,0,0,SRCCOPY);