Windows提供幾種方式來獲取設備環境句柄。函數
1. BeginPaint(hwnd, PAINTSTRUCT), EndPaint(hwnd, PAINTSTRUCT)滾動條
僅僅應用於處理WM_PAINT消息,PAINTSTRUCT結構包含了一個名爲rcPaint的矩形結構,該結構定義了一個包含無效客戶區的矩形,調用BeginPaint函數將使這個區域有效。消息
2. GetDC(hwnd), ReleaseDC(hwnd, hdc)滾動
與1的區別在於GetDC返回的句柄能夠在整個客戶區繪製,而且不會使任何無效區變有效
3. GetWindowDC(hwnd), ReleaseDC(hwnd, hdc)
除了包含客戶區,還包含窗口標題欄、菜單、滾動條、外框。對應WM_NCPAINT