1. 程式人生 > >VC++在內存中繪圖

VC++在內存中繪圖

windows

在內存位圖中繪圖,並顯示。代碼如下:

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函數。

VC++在內存中繪圖