MFC中的invalidate函式是什麼意思啊?

時間 2023-04-25 10:35:07

1樓:小傑知音

invalidate函式是強制系統進行重畫,但是不一定就馬上進行重畫。因為invalidate()只是通知系統,此 時的視窗已經變為無效。強制系統呼叫wm_paint,而這個訊息只是post就是將該訊息放入訊息佇列。

當執行到wm_paint訊息時才會對敞口進行重繪。

類似的還有下面的兩個函式:

updatewindow()只向窗體傳送wm_paint訊息,在傳送之前判斷getupdaterect(hwnd,null,true)看有無可繪製的客戶區域,如果沒有,則不傳送wm_paint。

redrawwindow()則是具有invalidate()和updatewindow()的雙特性。宣告視窗的狀態為無效,並立即更新視窗,立即呼叫wm_paint訊息處理。

2樓:

invalidate (bool)可以使視窗無效,引起視窗重繪。實際上是向視窗發了乙個wm_paint訊息。

引數的意思是:是否擦除視窗上的元素。比如你在視窗上畫了一條線或在視窗上輸出一串文字,這些都可以稱為視窗元素或資料。

3樓:網友

小樣你還惡魔獵手,連invalidate都不懂,看來vc還是嫩到家了。

mfc中的invalidate、ondraw、onpaint函式的作用、區別和聯絡?

4樓:匿名使用者

invalidate()只是乙個方法,就是立即更新顯示的意思。

跟updatedata()使用方法類似。

在需要更新顯示的位置加invalidate();就行了~~

mfc中的invalidate、ondraw、onpaint函式的作用、區別和聯絡是什麼?

j**a 函式中的函式是什麼意思

5樓:好程式設計師

函式就是乙個動作乙個行為哈,比如殺人防火這個動作,那就需要寫兩個函式,乙個函式是殺人另乙個函式是放火。

在寫函式時,只需要關注函式的返回值和引數就可以了,比如兩個數相加的函式,那引數肯定就是2個數,我要實現那兩個數的相加,那返回值就是兩個數的之和。

只要明白了上面的東西,函式的寫法就很容易了。

第乙個是寫函式訪問修飾符 後面是函式的返回值 函式名稱(引數列表)

6樓:來賓你好闖天涯

也就是說乙個方法裡面使用了另外乙個方法的問題。

mfc this->invalidate(false);是幹什麼用的

在vc++中 ondraw()函式和 invalidate()函式起什麼作用

7樓:樸清懿

可以這樣理解。

invalidate(true)函式可以呼叫ondraw ()函式;

所以當畫圖引數改變,你又想更新檢視時,就可以使用invalidate(true)了。

有個前提,必須是繪圖命令在ondraw ()中直接或間接完成的。因為我們可以在很多其他函式中建立dc以實現畫圖。

8樓:網友

vc++?是mfc吧?

看函式名應該是事件響應函式。就是說,你把你自己寫的函式註冊給這個函式,它會在該事件發生的時候呼叫你註冊的函式。

9樓:風輕雲度

ondraw 負責畫,如果要在裝置物件上畫東西,在這個函式裡面。

invalidate是通知檢視重新繪製,也就是呼叫ondraw

10樓:匿名使用者

invalidate會產生乙個wm_paint訊息。

wm_paint訊息會呼叫ondraw函式。

關於mfc中呼叫invalidate()不能重新整理的問題

11樓:秋楓

你原來輸出的內容是不是用ondraw()函式輸出的?如果這樣,呼叫invalidate()後再執行ondraw(),內容再次輸出,感覺上是沒變化,如果不是,試試改變視窗大小後有何變化。

MFC中如何讀取 檔案中的陣列,MFC中如何讀取 txt檔案中的陣列

cstdiofile file new cstdiofile file.open filename,mode cstring str while file.readline str file.close 基本思路就是這樣,可能一些語法不太對,樓主再確認下 這麼規律的資料就很容易處理了。先readli...

在MFC中如何建立函式,在MFC中如何建立乙個函式

1 視窗建立函式 這裡主要討論函式create和createex。它們封裝了win32視窗建立函式 createwindowex。create的原型如下 bool cwnd create lpctstr lpszclassname,lpctstr lpszwindowname,dword dwsty...

求mfc高人mfc中怎麼樣設定字型顏色

文字顏色和文字字型以及文字編輯框的背景色可以在父類的onctlcolor中設定 hbrush cmfcdlgdlg onctlcolor cdc pdc,cwnd pwnd,uint nctlcolor return hbr cfont m editfonttime 編輯框內容設定字型 m edit...

vs2019的問題mfc中messagebo用法

注意!vc 2010預設是unicode編碼!messagebox null,t 我要分啊 t 提示 mb ok 其中第乙個引數是視窗控制代碼!如何要用多位元組方式,messageboxa null,樓主好人 提示 mb ok 如果不習慣後一種還可以改預設編碼,解決方案上單擊右鍵屬性 配置屬性 常規...

MFC程式中的標頭檔案包含錯誤

標頭檔案互相包含,肯定會出問題的。有個簡單的解決辦法,在標頭檔案裡不要包含對方的標頭檔案,而用個類的前向宣告就可以了。比如,在parentdlg.h裡,在類cparentdlg的定義前加個類的前向宣告 class cchilddlg 類的前向宣告 class cparentdlg public cd...