檢視原始碼 wxPaintEvent (wx v2.4.3)

當視窗的內容需要重新繪製時,會發送繪製事件。

此事件的處理常式必須建立一個 wxPaintDC 物件,並使用它來繪製視窗內容。例如:

請注意,您在 EVT_PAINT 處理常式中能建立其他種類的 wxDC(例如 wxClientDCwxWindowDC),也不要在此事件處理常式之外建立 wxPaintDC

您可以透過擷取已損壞的矩形並僅重新繪製這些矩形來優化繪製。這些矩形是以客戶端區域表示,且未滾動,因此您需要使用目前的視圖位置進行一些計算,以獲得邏輯的、滾動的單位。以下是使用 wxRegionIterator(在 wx 中未實作)類別的範例:

注意:請注意,一般來說,不可能變更標準控制項(例如 wxButton)的繪製,因此您不應嘗試處理它們的繪製事件,因為即使它可能在某些平台上運作,這本質上是不可攜帶的,而且不會在所有地方都運作。

參閱:事件概觀

這個類別是繼承而來,可以使用以下的功能:

wxWidgets 文件:wxPaintEvent

事件

使用 wxEvtHandler:connect/3wxPaintEventType 來訂閱此類型的事件。

摘要

類型

-type wxPaint() :: #wxPaint{type :: wxPaintEvent:wxPaintEventType()}.
-type wxPaintEvent() :: wx:wx_object().
-type wxPaintEventType() :: paint.