国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

文字和圖片動(dòng)態(tài)顯示的實(shí)現(xiàn)技術(shù)

2022-03-19 02:00李興霞
電腦知識(shí)與技術(shù) 2022年2期

李興霞

摘要:程序設(shè)計(jì)過(guò)程中經(jīng)常需要?jiǎng)討B(tài)顯示文字和圖片,文章對(duì)這類問(wèn)題進(jìn)行歸類研究,采用VB6.0程序設(shè)計(jì)語(yǔ)言,分別實(shí)現(xiàn)“字符串的動(dòng)態(tài)顯示”“字符串的水平移動(dòng)”“圖片按比例放大”“圖片移動(dòng)”和“圖片的徐徐展開”等功能,實(shí)現(xiàn)的原理簡(jiǎn)單、技巧較高,具有一定的實(shí)用價(jià)值。

關(guān)鍵詞:動(dòng)態(tài)顯示;時(shí)間控件;圖像控件

中圖分類號(hào):TP37 ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2022)02-0098-02

使用VB6.0實(shí)現(xiàn)文字和圖片的動(dòng)態(tài)顯示,需要用到三個(gè)控件,分別為時(shí)間控件(timer)、標(biāo)簽控件(label)和圖像控件(image)[1]。時(shí)間控件有兩個(gè)重要屬性Enabled和Interval,時(shí)間間隔的單位是千分之一秒,在給定的較短的時(shí)間間隔執(zhí)行時(shí)間事件,對(duì)字符串或圖片在窗體上輸出,從而實(shí)現(xiàn)動(dòng)態(tài)顯示效果。屬性Enabled為True時(shí),啟動(dòng)時(shí)間控件;屬性Enabled為False時(shí),終止時(shí)間控件。要文字在屏幕水平移動(dòng),用標(biāo)簽控件可以很好地解決問(wèn)題。顯示圖片有兩個(gè)控件可選,分別為圖片控件(PictureBox)和圖像控件,以下采用圖像控件,主要是由于圖像控件有獨(dú)特的Stretch屬性,該屬性為True可使圖像大小適合圖像控件大小,圖片可伸縮,更容易編寫程序[2]。

1 字符串的動(dòng)態(tài)顯示

對(duì)于某個(gè)字符串,設(shè)定顯示位置顯示第1個(gè)漢字,間隔某個(gè)時(shí)間后,設(shè)定顯示位置顯示第2個(gè)漢字,依次重復(fù)直到字符串最后一個(gè)漢字顯示完成為止[3]。在顯示漢字之前,可設(shè)定窗體的前景顏色(輸出漢字的顏色),還可設(shè)置窗體上輸出的字體類型和字體大小[4]。

本實(shí)例用到timer控件,初始設(shè)置屬性如下:

Timer1.Enabled=True

Timer1.interval=100

根據(jù)不同的需要,可調(diào)整時(shí)間間隔,改寫程序也可實(shí)現(xiàn)縱向顯示,橫向顯示的具體參考程序如下:

Dim a As String

Dim i, m, x, y As Integer

Private Sub Form_Load()

x =0

y = 2000 ? ? ? ? ? ? ? ? ? ? ? ? ? ?'x,y第1個(gè)漢字的顯示位置

Form1.ForeColor = RGB(0, 0, 255) ? ?'設(shè)置前景為藍(lán)色

Form1.Font = "楷體" ? ? ? ? ? ? ? ? '設(shè)置輸出為楷體

Form1.FontSize = 40 ? ? ? ? ? ? ? ? '設(shè)置字號(hào)為40

a = "電腦知識(shí)與技術(shù)"

m = Len(a) ? ? ? ? ? ? ? ? ? ? ? ? ?'m為漢字個(gè)數(shù)

i = 1

End Sub

Private Sub Timer1_Timer()

Form1.CurrentX = x + (i - 1) * 800 ?'計(jì)算顯示漢字位置

Print Mid$(a, i, 1); ? ? ? ? ? ? ? ?'輸出第i個(gè)漢字

If i = m Then

Timer1.Enabled = False ? ? ? ? ? ? '輸出最后一個(gè)漢字后,時(shí)間控件停止工作

Else

i = i + 1

End If

End Sub

2 字符串的水平移動(dòng)

字符串水平移動(dòng)用到標(biāo)簽(label)和時(shí)間控件,標(biāo)簽的left和top屬性確定標(biāo)簽的左上角位置,通過(guò)增加標(biāo)簽的left值,保證標(biāo)簽的top值不變,就能使標(biāo)簽水平右移。Form_Load過(guò)程段進(jìn)行標(biāo)簽的初始化,調(diào)整標(biāo)簽的大小使其能夠正常顯示[5]。設(shè)置Timer1.interval設(shè)為200,每次執(zhí)行時(shí)間事件修改標(biāo)簽的left和top值,時(shí)間間隔設(shè)置越短,字符串移動(dòng)越快,可根據(jù)需要進(jìn)行調(diào)整,實(shí)例參考程序如下:

Dim a As String

Dim i, m, ?x, y As Integer

Private Sub Form_Load()

x = 0

y = 2000 ? ? ? ? ? ? ? ? ? ? ? ? ? ?'x,y字符串的初始顯示位置

Label1.Left = x

Label1.Top = y

Label1.ForeColor = RGB(0, 0, 255) ? '設(shè)置標(biāo)簽前景為藍(lán)色

Label1.Font = "楷體" ?'設(shè)置標(biāo)簽文字輸出為楷體

Label1.FontSize = 40 ? '設(shè)置標(biāo)簽文字字號(hào)為40

Label1.Caption = "電腦知識(shí)與技術(shù)"

m = 40 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'m為水平移動(dòng)次數(shù)

i = 1

End Sub

Private Sub Timer1_Timer()

Label1.Left = x ? ? ? ? ? ? ? ? ? ? '設(shè)置標(biāo)簽移動(dòng)的新位置

Label1.Top = y

If i = m Then

Timer1.Enabled = False ? ? '移動(dòng)次數(shù)完成,時(shí)間控件停止工作

Else

i = i + 1

End If

x = x + 200 ? ? ? ? ? ? ? ? ? ? ? ? '水平右移增量為200

End Sub

3 圖片按比例放大

本實(shí)例用到圖像控件(image)和時(shí)間控件,image1的Stretch屬性設(shè)為True,調(diào)整好圖片的大小,用image1的picture屬性選擇圖片,初始時(shí)Timer1.interval設(shè)為200,每次執(zhí)行時(shí)間事件按比例調(diào)整image1的寬度和高度,從而實(shí)現(xiàn)圖片的放大。圖片放大和縮小還有一種方式,放大時(shí)image1的寬度和高度乘以大于1的系數(shù)比如1.1,縮小時(shí)image1的寬度和高度乘以小于1的系數(shù)比如0.9。實(shí)例參考程序如下:

Dim s As Integer

Private Sub Form_Load()

s = 50 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'s為放大的次數(shù)

End Sub

Private Sub Timer1_Timer()

Dim k As Single

s = s - 1

If s = 0 Then

Timer1.Enabled = False

End If

k = Image1.Width / Image1.Height ?   ? ?'k為圖片寬度與高度比

Image1.Width = Image1.Width + 100 * k ? '圖片寬度增加100*K,保證圖片的比例

Image1.Height = Image1.Width + 100 ? ? ?'圖片高度增加100

End Sub

4 圖片移動(dòng)

圖片移動(dòng)用到圖像控件(image)和時(shí)間控件,image1的Stretch屬性設(shè)為True,調(diào)整好圖片的大小,用image1的picture屬性選擇圖片,初始時(shí)Timer1.interval設(shè)為100,每次時(shí)間事件用move方法把image1移動(dòng)到新的位置或直接修改image1的左上角坐標(biāo),從而實(shí)現(xiàn)image1的移動(dòng)[6]。實(shí)例參考程序如下:

Dim s As Integer

Private Sub Form_Load()

s = 50 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'s為移動(dòng)圖片的次數(shù)

End Sub

Private Sub Timer1_Timer()

s = s - 1

If s = 0 Then

Timer1.Enabled = False

End If

x = Image1.Left + 50 ? ? ? ?   ? ? ?'x,y為圖片新的位置坐標(biāo)

y = Image1.Top + 50

Image1.Left = x ? ? ? ? ? ? ? ? ? ? '設(shè)置圖片新的位置

Image1.Top = y ? ? ?'Image1.Move x, y也可實(shí)現(xiàn)這兩句功能

End Sub

5 圖片的徐徐展開

圖片的徐徐展開用到圖像控件(image)和時(shí)間控件,初始時(shí)Timer1.interval設(shè)為100,調(diào)整好圖片的大小,用image1的picture屬性選擇圖片,每次時(shí)間事件把image1的Width屬性值逐漸增大,可看到的畫面逐漸展現(xiàn),從而實(shí)現(xiàn)圖片徐徐展開的效果。當(dāng)image1的Stretch設(shè)為True時(shí),圖片橫向是壓縮的,圖片展開就好像把橫向壓縮的圖片橫向拉伸;當(dāng)image1的Stretch設(shè)為False時(shí),圖片展開就好像把一幅遮擋的畫逐漸展開,實(shí)現(xiàn)不同的展開效果。實(shí)例參考程序如下:

Dim s As Integer

Private Sub Form_Load()

Image1.Width = 100

s = 100

End Sub

Private Sub Timer1_Timer()

s = s - 1

If s = 0 Then

Timer1.Enabled = False

End If

Image1.Width = Image1.Width + 100

End Sub

6 結(jié)束語(yǔ)

本文給出了文字和圖片動(dòng)態(tài)顯示實(shí)用技術(shù),動(dòng)態(tài)文字的輸出可設(shè)置色彩、字體和顏色等屬性,圖片也給出了幾種動(dòng)態(tài)顯示方式,并且很容易拓展新的動(dòng)態(tài)顯示方式。文中方法具有實(shí)現(xiàn)原理簡(jiǎn)單、易于編程的特點(diǎn),對(duì)于采用其他高級(jí)語(yǔ)言編寫程序也有一定的參考價(jià)值??梢愿鶕?jù)實(shí)際需求,把動(dòng)態(tài)文字和動(dòng)態(tài)圖片相結(jié)合,編寫出生動(dòng)的、有設(shè)計(jì)感的屏幕輸出效果。

參考文獻(xiàn):

[1] 陳明晰,楊謹(jǐn)全.Visual Basic程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2019.

[2] 張勇.Visual Basic課程設(shè)計(jì)案例精編[M].北京:中國(guó)水利出版社,2002.

[3] 于秀麗.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫(kù)應(yīng)用教程[M].北京:清華大學(xué)出版社,2019.

[4] 胥淑華.VB實(shí)例——文字的隨機(jī)變幻立體效果[J].電子世界,2019(1):109.

[5] 黃婷.利用VB進(jìn)行文字特殊效果的處理[J].電腦編程技巧與維護(hù),2018(9):145-158.

[6] 朱苗苗,牛國(guó)鋒,郭凱.基于VB 與MSChart實(shí)現(xiàn)蠟沉積預(yù)測(cè)數(shù)據(jù)圖形化顯示[J].蘭州理工大學(xué)學(xué)報(bào),2017,43(1):71-75.

【通聯(lián)編輯:梁書】

2818500511271

永丰县| 南投市| 永吉县| 正镶白旗| 资溪县| 兴海县| 邳州市| 兴业县| 罗城| 准格尔旗| 新干县| 林州市| 大冶市| 遵义县| 米泉市| 涞水县| 若羌县| 眉山市| 即墨市| 邢台县| 山丹县| 丹棱县| 兴化市| 秦安县| 建昌县| 万山特区| 江阴市| 麻阳| 武邑县| 梧州市| 托里县| 五河县| 大关县| 泽库县| 甘德县| 综艺| 汉沽区| 积石山| 镇巴县| 石首市| 左权县|