乙個控制項根據它的特性繪製自己。這一工作通過呼叫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...