uc gui重繪機制

2021-05-10 05:06:07 字數 827 閱讀 1607

乙個控制項根據它的特性繪製自己。這一工作通過呼叫wm的

api函式

wm_exec()

來完成。如果在程式中沒有呼叫

wm_exec()

,就必須呼叫

wm_paint

函式來繪製控制項。在多工環境的

uc/gui

,乙個後台任務通常用於呼叫

wm_exec()

並更新控制項

(及其它所有帶有**函式的視窗

)。這樣就不必手動的呼叫

wm_paint()

;然而,手工呼叫仍然是合法的,如果你想保證控制項能立即內重繪的話,這樣做也沒有意義。

當乙個控制項的屬性的改變時,控制項的視窗

(或者它的一部分

)被標記為無效,但是它不會立即重繪。因此,這部分**執行非常快。重繪在後面的時間通過

wm完成,或通過為控制項呼叫

wm_paint函式(

或者wm_exec()

,直到所有的視窗都被重繪

)來強制執行。

用於控制項的動態儲存器

在嵌入式應用當中,通常來說,使用動態儲存器確實不是非常合適,因為儲存殘片效果的緣故。有很多不同的方式可以用來這種情況,但是它們都工作在乙個受限制的方式裡,隨時記憶體區域都可能被應用程式中的乙個指標引用。因為這個原因,

uc/gui

使用乙個不同的方法:所有物體

(以及所有在執行時儲存的資料

)被存入乙個控制代碼引用的記憶體區域當中。這會使以分配好的記憶體區域在執行時重新分配成為可能。因而避免了使用指標時出現的長時間分配的問題。所有控制項因此通過控制代碼引用。

iOS重繪機制drawRect

ios的繪圖操作是在uiview類的drawrect方法中完成的,所以如果我們要想在乙個uiview中繪圖,需要寫乙個擴充套件uiview 的類,並重寫drawrect方法,在這裡進行繪圖操作,程式會自動呼叫此方法進行繪圖。下面先說明一下繪圖,比如,你想繪製乙個方塊,你需要寫乙個類來擴充套件uivi...

iPhone重繪機制drawRect

phone重繪機制drawrect 如何使用iphone進行繪圖 重繪操作 iphone的繪圖操作是在uiview類的drawrect方法中完成的,所以如果我們要想在乙個uiview中繪圖,需要寫乙個擴充套件uiview 的類,並重寫drawrect方法,在這裡進行繪圖操作,程式會自動呼叫此方法進行...

iOS重繪機制drawRect

ios的繪圖操作是在uiview類的drawrect方法中完成的,所以如果我們要想在乙個uiview中繪圖,需要寫乙個擴充套件uiview 的類,並重寫drawrect方法,在這裡進行繪圖操作,程式會自動呼叫此方法進行繪圖。下面先說明一下繪圖,比如,你想繪製乙個方塊,你需要寫乙個類來擴充套件uivi...