Firemonkey的幾個特色屬性(一)

2021-09-06 12:38:30 字數 1493 閱讀 5259

基於firemonkey的程式開發與vcl確實有些不同,很多屬性發生了變化,尤其是外觀方面。

1、margins、padding、position

margins:指定了當前控制項在父控制項(parent)上的邊界範圍

padding:指定了當前控制項容納的子控制項(children)的位置範圍

position:指定了當前控制項在父控制項上的位置

如下圖:

position除了定義位置以外,還可以定義控制項在父控制項上的移動方式,如針對縱座標(y)建立乙個新的動畫:

tflatanimation:將乙個數字屬性(如座標x,y,也可以是延遲時間(delay)等可以發生變化的數字屬性)。該物件的屬性如下表:

數值在變化過程中,可以根據插值演算法型別interpolationtype:tinterpolationtype進行變化,比如按照二次方程式(itquadratic)進行變化,當animationtype =atin時,起點附近變化緩慢,atout是指終點變化緩慢,atinout指2頭變化緩慢。

autoreverse:boolean  是否倒退,如果true則移動後會返回原來的位置

delay:single  延時(秒),由於是乙個數值型,同樣可以通過tflatanimation進行設定

duration: single  變化持續時間(秒),即從開始到結束所花費的時間

enabled:boolean  啟動變化過程

interpolationtype:tinterpolationtype  插值演算法型別

inverse:boolean  是否反向變化,如果是true,則原定義是由小變大,則變成由大變小

loop: boolean  是否迴圈變化

propertyname  變化的屬性名稱

startfromcurrent : boolean  是否從當前數值開始變化

startvalue: single  變化開始值

stopvalue: single  變化結束值

trigger: ttrigger  當控制項的某個事件發生時觸發

triggerinverse: ttrigger  當控制項某個事件發生時,觸發反向變化

tfloatkeyanimation 與tflatanimation的區別在於不是設定起點和終點,而是設定變化過程中的關鍵點。在實際使用時,發行tkeys下每乙個key只能是0或1,並且0代表起點,1代表終點,其數值規律沒有看出來。

不可不提的幾個國外特色Blog

最近有朋友追問為什麼blog推薦欄目這麼長時間沒有更新,其實是因為yee現在一直鑽在英文blogosphere中,不像以前那麼經常接觸國內的草根blogger 所以 好了,回正題。這次yee從精英薈萃的英文blogosphere中挑出了幾個比較有代表性的特色blog,希望能給正苦惱於沒有寫作主題的準...

Firemonkey的旁門左道 一

一般圖形繪製都會用到雙緩衝,先在記憶體中繪製到bitmap中,然後再輸出到介面中,可以不出現閃爍的情況。本以為在fmx也是同樣的套路。不然,發現canvas永遠是空白的,愣是不輸出。國內資料基本為o,翻牆無數,得知bitmap的繪製前後需要 bitmap.canvas.beginscene bitm...

Firemonkey的旁門左道 七

時間過得真快,又到了週末!今天晚上,我們就講講如何設定bitmap中的畫素點吧。原先xe還保持了bitmap.scanline i 的方法,不過到了xe4我們再一次無法使用了。方法總比困難多。通過tbitmapdata,我們還是可以訪問每個畫素點的,也就意味著我們可以去改變他們了。如下 proced...