日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

vfp界面特效設(shè)計(jì)技巧

 悟靜 2009-06-22
vfp界面設(shè)計(jì)技巧(給初學(xué)者)

一、 緩慢移入和飛入:

在表單里,建立一個(gè)名為Image1的圖象控制,此控件的Picture屬性已設(shè)好,讓這幅圖片從底部緩慢移入屏幕,要做那些工作呢?首先,將Image1的Top屬性設(shè)為450(或根據(jù)你屏幕設(shè)置改為別的數(shù)字),也就是說(shuō),讓圖片的頂部剛好位于屏幕的下邊界;然后,建立一個(gè)名為T(mén)imer1的計(jì)時(shí)器,并將Timer1的Interval屬性設(shè)為10;接著,在Timer1的Timer事件中,寫(xiě)上幾行這樣的代碼:

stayposition=100
speed=3
If Thisform.Image1.top

---- 其中,變量stayposition用于控制圖片最后停留的位置,變量speed用于控制圖片的移動(dòng)速度。運(yùn)行這個(gè)表單,將會(huì)看到一幅圖片以你需要的速度,從屏幕底部出發(fā),一直移動(dòng)到你所需要的位置,然后停下來(lái)。如果你想程序運(yùn)行時(shí),要有一定的動(dòng)作(例如單擊屏幕),圖片才開(kāi)始移動(dòng),我們可以先把Timer1的Enabled屬性設(shè)為.F.,然后在Fomr1的Click事件上寫(xiě)上代碼:Thisform.Timer1.enabled=.T.即可。

---- 當(dāng)你真正理解底部緩慢移入的原理和實(shí)現(xiàn)方法時(shí),所謂的底部飛入、從右下角緩慢移入、從頂部飛入、從右側(cè)飛入等等效果就輕而易舉了,這里簡(jiǎn)單地說(shuō)一下:飛入,將speed的值改大即可;從頂部移入,稍為復(fù)雜一點(diǎn),要將語(yǔ)句If Thisform.Image1.top”,并將語(yǔ)句Thisform.Image1.top=Thisform.Image1.top-speed中的“-”改為“+”,還要修改圖片初始的top屬性,讓圖片開(kāi)始時(shí)是處于屏幕的頂部;從右側(cè)移入,需要修改圖片的初始left屬性,并將上面程序中的所有top改為left;而從左上角、右下角等處斜斜移入,則在程序中需要同時(shí)改變圖片的top和left屬性。不過(guò),所有這些的道理都是一樣的。

---- 二、 切入:

---- 以右側(cè)切入為例。這種效果看起來(lái)是從右到左將圖片拉來(lái)出來(lái)。實(shí)現(xiàn)的方法是:先將圖片的width屬性設(shè)為0;建立并設(shè)好計(jì)時(shí)器控件;在計(jì)時(shí)器的timer事件中寫(xiě)上如下代碼:

stopwidth=170
speed=12
If Thisform.Image1.width >stopwidth then
Thisform.Timer1.enabled=.F.
Else
Thisform.Image1.width=Thisform.Image1.width+speed
Thisform.Image1.left=Thisform.Image1.left-speed
Endif

---- 這里,變量stopwidth的值等于圖片的原始寬度。同理,上側(cè)切入的效果只需將上述代碼中的width改為height,將left改為top,并將圖片的height屬性設(shè)為0即可。但由于VFP的一些限制,左側(cè)切入和下側(cè)切入的效果比較難于實(shí)現(xiàn)。

---- 三、 擦除:

---- 向右擦除的效果與從右側(cè)切入非常相象,只是向右擦除看起來(lái)是將圖片從左往右攤開(kāi),而從右側(cè)切入看起來(lái)是將圖片從右往左拉出來(lái)。它們的實(shí)現(xiàn)方法也幾乎一樣,僅將語(yǔ)句Thisform.Image1.left=Thisform.Image1.left-speed去掉就行了。同樣,向上擦除也是類(lèi)似的,但向左、向下擦除的效果不易實(shí)現(xiàn)。

---- 四、 伸展:

---- 伸展跟切入的效果的區(qū)別在于:伸展過(guò)程中,整幅圖片都能看見(jiàn),不過(guò)是變了形的;而切入的過(guò)程中,只能看見(jiàn)圖片的一部分。伸展與切入的實(shí)現(xiàn)也幾乎完全相同,唯一的改動(dòng)是將圖片的stretch屬性設(shè)為2(等比填充)。同樣,其它方向的伸展也是類(lèi)似的。

---- 五、 閃爍:

---- 這個(gè)效果很容易實(shí)現(xiàn)。建立計(jì)時(shí)器,根據(jù)你所需要的閃爍速度設(shè)好它的Interval屬性,一般可設(shè)成500。在計(jì)時(shí)器的timer事件中寫(xiě)上如下代碼:

if thisform. Image1.visible=.f. then
thisform. Image1.visible=.t.
else
thisform. Image1.visible=.f.
endif

---- 圖片Image1就能按你的需要閃爍起來(lái),想停止閃爍,將計(jì)時(shí)器的enabled屬性設(shè)為.f.即可。

---- 六、 百葉窗:

---- 這個(gè)效果要實(shí)現(xiàn)比較復(fù)雜,我們先看水平百葉窗。首先,在圖片上面建幾個(gè)白色的空白橫條標(biāo)簽,剛好能將圖片蓋住,這些標(biāo)簽的名字分別取成“label1”、“label2”……;然后建立并設(shè)好計(jì)時(shí)器控件,并在計(jì)時(shí)器的timer事件中寫(xiě)上如下代碼:

speed=3
number=5
if thisform.label1.height >=speed then
for i=1 to number
j=str(i,int((int(i/10)+9)/10)+1)
thisform.label&j..height=
thisform.label&j..height-speed
next i
endif

---- 其中,變量speed用于控制圖片出現(xiàn)的速度,number表示標(biāo)簽的個(gè)數(shù)。一般來(lái)說(shuō)標(biāo)簽的height屬性要設(shè)成speed的倍數(shù),而語(yǔ)句j=str(i,int((int(i/10)+9)/10)+1),是用于根據(jù)i的值來(lái)確定字符j的長(zhǎng)度,避免出錯(cuò)。至于垂直百葉窗效果,將水平百葉窗效果中的橫條標(biāo)簽變成豎條標(biāo)簽,再將代碼中的所有height改為width即可。

---- 七、 棋盤(pán)式:

---- 棋盤(pán)式的實(shí)現(xiàn)方法幾乎和百葉窗一樣,只是空白標(biāo)簽蓋在圖片上面的方式不同。在棋盤(pán)式中,要先建立許多個(gè)標(biāo)簽,但這些標(biāo)簽并不完全把圖片遮住,而是設(shè)計(jì)成國(guó)際象棋的棋盤(pán)那樣,一個(gè)格上放標(biāo)簽,另外一個(gè)格露出圖片,標(biāo)簽依然取名為“label1”、“label2”……代碼則和百葉窗中的完全相同。

---- 八、 回旋: 表面看來(lái),回旋這種

---- 效果是圖片在繞著一根軸在旋轉(zhuǎn),但實(shí)際我們可以通過(guò)改變圖片的width屬性來(lái)實(shí)現(xiàn)這種效果。這時(shí)最好建立兩個(gè)計(jì)時(shí)器,分別命名為timer1、timer2;timer2用于控制減少圖片的寬度,其timer事件的代碼為:

speed=4
if thisform.image1.width<=speed then thisform.timer1.enabled=".t." thisform.timer2.enabled=".f." else thisform.image1.left="thisform.image1.left+speed/2" thisform.image1.width="thisform.image1.width-speed" endif timer1用于控制增加圖片的寬度,其timer事件的代碼為: imagewidth="200" speed="4" if thisform.image1.width>=imagewidth then
thisform.timer1.enabled=.f.
thisform.timer2.enabled=.t.
else
thisform.image1.left=thisform.image1.left-speed/2
thisform.image1.width=thisform.image1.width+speed
endif

---- 其中,變量speed控制回旋的快慢,值要求是偶數(shù), imagewidth代表圖片的原始寬度,圖片的strecth屬性要設(shè)成2-變比填充。想停止回旋,將timer1和timer2的enabled屬性都設(shè)為.f.即可。

---- 九、 放大縮?。?

---- 這種效果雖然看起來(lái)與回旋相差甚遠(yuǎn),但實(shí)現(xiàn)方法卻與回旋幾乎一樣,只需要把圖片的strecth屬性改為1-等比填充即可,代碼不必做任何改動(dòng)。

---- 十、 變色:

---- 變色效果一般只應(yīng)用于文字。變色有許許多多的方式,這里介紹的是隨機(jī)方式。建立標(biāo)簽對(duì)象label1,設(shè)好其caption屬性;建立計(jì)時(shí)器,其Interval屬性根據(jù)需要而設(shè),一般可設(shè)為500,在timer事件中寫(xiě)上代碼:

i=int(rand()*255)
j=int(rand()*255)
k=int(rand()*255)
thisform.label1.forecolor=rgb(i,j,k)

如果想增添聲音,請(qǐng)加上代碼:

SET BELL TO '你需要的聲音.WAV', 0
CHR(7)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多