BeginPaint 函式 (winuser.h)

BeginPaint 函式會準備用於繪製的指定視窗,並填入 PAINTSTRUCT 結構,其中包含繪製的相關信息。

語法

HDC BeginPaint(
  [in]  HWND          hWnd,
  [out] LPPAINTSTRUCT lpPaint
);

參數

[in] hWnd

要重繪之視窗的句柄。

[out] lpPaint

將接收繪製資訊的 PAINTSTRUCT 結構的指標。

傳回值

如果函式成功,則傳回值是指定視窗顯示裝置內容的句柄。

如果函式失敗,傳回值為 NULL,表示沒有可用的顯示裝置內容。

備註

BeginPaint 函式會自動設定裝置內容的裁剪區域,以排除更新區域以外的任何區域。 更新區域是由 InvalidateRectInvalidateRgn 函式所設定,以及在重設大小、移動、建立、捲動或任何其他會影響工作區的作業之後由系統設定。 如果更新區域標示為清除, BeginPaint 會將 WM_ERASEBKGND 訊息傳送至視窗。

應用程式不應該呼叫 BeginPaint ,但回應 WM_PAINT 訊息除外。 對 BeginPaint 的每個呼叫都必須有 EndPaint 函式的對應呼叫。

如果插入號位於要繪製的區域, BeginPaint 會自動隱藏插入號以防止清除。

如果窗口的類別具有背景筆刷, BeginPaint 會使用該筆刷在傳回之前清除更新區域的背景。

DPI 虛擬化

此 API 不會參與 DPI 虛擬化。 傳回的輸出一律以實體圖元為根據。

範例

如需範例,請參閱 工作區中的繪圖

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 winuser.h (包括 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-draw-l1-1-0 (於 Windows 8)

另請參閱

EndPaint

InvalidateRect

InvalidateRgn

PAINTSTRUCT

繪製和繪製函式

繪製和繪圖概觀

ValidateRect

ValidateRgn