在内存位图中绘图,并显示。代码如下:
HDC hdc=GetDC(hwnd); RECT rect; GetClientRect(hwnd,&rect); int cxClient = rect.right; int cyClient = rect.bottom; //为显示设备创建一块相应的内存 HDC hdcmem = CreateCompatibleDC(NULL); //创建位图 HBITMAP hBitmap = CreateCompatibleBitmap(hdc,cxClient,cyClient); //将内存句柄和位图句柄绑定 SelectObject(hdcmem,hBitmap); //画图 FillRect(hdcmem,&rect,NULL); Rectangle(hdcmem,20,20,100,100); //显示到窗口上 BitBlt(hdc,0,0,cxClient,cyClient,hdcmem,0,0,SRCCOPY); DeleteObject(hdcmem); DeleteObject(hBitmap); ReleaseDC(hwnd,hdc);
要创建多个内存位图,可以多次调用CreateCompatibleDC和CreateCompatibleBitmap函数。
时间: 2024-11-18 14:07:42