轉 Delphi Invalidate的用法

2021-09-08 11:07:57 字數 645 閱讀 3710

1、invalidate介紹  void invalidate( bool berase = true );

該函式的作用是使整個視窗客戶區無效。視窗的客戶區無效意味著需要重繪,例如,如果乙個被其它視窗遮住的視窗變成了前台視窗,那麼原來被遮住的部分就是無效的,需要重繪。這時windows會在應用程式的訊息佇列中放置wm_paint訊息。mfc為視窗類提供了wm_paint的訊息處理函式onpaint,onpaint負責重繪視窗。檢視類有一些例外,在檢視類的onpaint函式中呼叫了ondraw函式,實際的重繪工作由ondraw來完成。引數berase為true時,重繪區域內的背景將被擦除,否則,背景將保持不變。

2、與updatewindow( )的區別

updatewindow( )的作用是使視窗立即重繪。呼叫invalidate等函式後視窗不會立即重繪,這是由於wm_paint訊息的優先順序很低,它需要等訊息佇列中的其它訊息傳送完後才能被處理。呼叫updatewindow函式可使wm_paint被直接傳送到目標視窗,從而導致視窗立即重繪。

delphi中的**

procedure twincontrol.invalidate;

begin

perform(cm_invalidate, 0, 0);

end;

這個方法會使視窗重繪。

GPT轉MBR怎麼轉?

如果本身電腦有兩個硬碟,可以直接在win7 win8系統下進行gpt轉mbr 如果只有乙個硬碟,那可以進入winpe裡面進行gpt磁碟轉mbr磁碟。注 gpt轉mbr必須得清空硬碟上的所有資料!請注意儲存資料!1 在win7 win8系統下,按快捷鍵 win r 彈出執行視窗,然後輸入 cmd wi...

GPT轉MBR怎麼轉?

如果本身電腦有兩個硬碟,可以直接在win7 win8系統下進行gpt轉mbr 如果只有乙個硬碟,那可以進入winpe裡面進行gpt磁碟轉mbr磁碟。注 gpt轉mbr必須得清空硬碟上的所有資料!請注意儲存資料!1 在win7 win8系統下,按快捷鍵 win r 彈出執行視窗,然後輸入 cmd wi...

java後台轉json 轉物件 轉list集合

前台資料傳遞到後台轉json 1 普通格式轉換成物件 string data request.getparameter data 單資料的時候轉換方式 jsonobject json jsonobject.fromobject data tree tree tree jsonobject.tobea...