windows API一日一學(2)—InvalidateRect函數

來源:互聯網
上載者:User

 

InvalidateRect函數

該函數添加一個地區到指定視窗的更新地區。更新地區代表視窗用戶端的一部分,這部分必須進行重新繪製。

BOOL InvalidateRect( 

HWND hWnd, 

const RECT *lpRect, 

BOOL bErase

);

參數:

hWnd

指向需要重新繪製的視窗控制代碼。如果該參數為空白,系統將更新和重新繪製所有的視窗,然後在該函數返回之前發送WM_ERASEBKGND給視窗過程.

lpRect

一個指向RECT的結構體,該結構包含了要添加到更新地區的長方形地區的座標。如果該參數為NULL,整個用戶端地區將會被添加到更新地區。

bErase

該參數為布爾型。指定了當更新地區重新繪製時,更新地區的背景是否被擦除掉。

傳回值

函數執行成功時返回非零, 失敗時返回零。要擷取更多的關於錯誤的資訊,可以調用GetLastError();

注意事項

參數hWnd不能為NULL

無效地區不會馬上更新,相反會在更新地區“累積”,直到當下一個WM_PAINT訊息發生時或者該地區已經被ValidateRect函數更新過。

當應用程式隊列中沒有其他的訊息時,並且更新地區不為空白時,系統將向視窗發送WM_PAINTA訊息 。如果bErase為TRUE,則整個背景將會被擦除,而不是給定的地區。

推薦一個編程導航網,www.code250.com

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.