c++ api 双缓冲绘图
本文地址:http://tongxinmao.com/Article/Detail/id/341
HDC hdcmem; //内存DC
HDC hdc; //设备DC
HBITMAP hbm;//位图句柄
scrx = GetSystemMetrics(SM_CXSCREEN); //屏幕宽度
scry = GetSystemMetrics(SM_CYSCREEN); //屏幕高度
hdc = GetDC(hWnd); // 获取设备DC
hdcmem = CreateCompatibleDC(hdc); //创建一个兼容设备的内存DC
// 创建一个位图
hbm = CreateCompatibleBitmap(hdc,scrx,scry);
// 把位图加载到内存DC中,之后的绘图其实就是在位图上绘图
SelectObject( hdcmem , hbm );
//释放DC
ReleaseDC(hWnd,hdc);
// 开始绘图
hdc = BeginPaint(hWnd, &ps);
hbr = (HBRUSH)GetStockObject(WHITE_BRUSH);
//刷白位图
SelectObject(hdcmem,hbr);
Rectangle(hdcmem,0,0,scrx,scry);
DeleteObject(hbr);
/*
* 此处添加绘图代码
*/
//将内存DC 复制到设备DC上
BitBlt(hdc,0,0,scrx,scry,hdcmem,0,0,SRCCOPY);
//结束绘图
EndPaint(hWnd, &ps);
上一篇:C++ builder拖放文件实现
下一篇:N2N 搭建及使用