檢視原始碼 wxPaintEvent (wx v2.4.3)
當視窗的內容需要重新繪製時,會發送繪製事件。
此事件的處理常式必須建立一個 wxPaintDC
物件,並使用它來繪製視窗內容。例如:
請注意,您在 EVT_PAINT 處理常式中不
能建立其他種類的 wxDC
(例如 wxClientDC
或 wxWindowDC
),也不要在此事件處理常式之外建立 wxPaintDC
。
您可以透過擷取已損壞的矩形並僅重新繪製這些矩形來優化繪製。這些矩形是以客戶端區域表示,且未滾動,因此您需要使用目前的視圖位置進行一些計算,以獲得邏輯的、滾動的單位。以下是使用 wxRegionIterator
(在 wx 中未實作)類別的範例:
注意:請注意,一般來說,不可能變更標準控制項(例如 wxButton
)的繪製,因此您不應嘗試處理它們的繪製事件,因為即使它可能在某些平台上運作,這本質上是不可攜帶的,而且不會在所有地方都運作。
參閱:事件概觀
這個類別是繼承而來,可以使用以下的功能:
wxWidgets 文件:wxPaintEvent
事件
使用 wxEvtHandler:connect/3
和 wxPaintEventType
來訂閱此類型的事件。
摘要
類型
-type wxPaint() :: #wxPaint{type :: wxPaintEvent:wxPaintEventType()}.
-type wxPaintEvent() :: wx:wx_object().
-type wxPaintEventType() :: paint.