VisualBasic屬性、方法和事件四

字號(hào):

使用 ScrollBar 作為輸入設(shè)備
     滾動(dòng)條通常與 TextBox 或窗口一起使用,但有時(shí)也可作輸入設(shè)備。因?yàn)镾crollBar 控件可按比例指示當(dāng)前位置,所以可以單獨(dú)使用以控制程序輸入,如控制聲音音量或調(diào)整圖片顏色。HScrollBar(水平)和 VScrollBar(垂直)控件是獨(dú)立的,它有自己的事件、屬性和方法集。ScrollBar 控件與附屬于TextBox、ListBox、ComboBox 或 MDI 窗體的內(nèi)部 ScrollBar 不同。(TextBox 和 MDI 窗體具有 ScrollBars 屬性,可增加或刪除附屬于控件的 ScrollBar。)
     現(xiàn)在 Windows 界面提示行支持 Slider 控件作為輸入設(shè)備而不用ScrollBar。關(guān)于 Slider 控件的例子,請(qǐng)參閱 Windows 95 的控件面板。VisualBasic 的專業(yè)版和企業(yè)版中包含一個(gè) Windows 95 風(fēng)格的 Slider 控件。
     詳細(xì)信息 關(guān)于 ScrollBar 控件的詳細(xì)信息,請(qǐng)參閱第七章“使用 VisualBasic 的標(biāo)準(zhǔn)控件”。
    顯示圖片和圖形的控件
     因?yàn)?Windows 是圖形用戶界面,所以在應(yīng)用程序上界面顯示圖形圖像的方法十分重要。Visual Basic 包含四個(gè)控件以簡(jiǎn)化與圖形有關(guān)的操作,它們是PictureBox 控件、Image 控件、Shape 控件和 Line 控件。
     Image、Shape 和 Line 控件有時(shí)被稱作輕量圖形控件。它們需要較少的系統(tǒng)資源,因此比 PictureBox 控件顯示得快并且包含 PictureBox 中可用的屬性、方法和事件的子集。每一個(gè)控件都適用于一個(gè)特定的目的。
     使用 PictureBox 控件
     PictureBox 控件的主要作用是為用戶顯示圖片。實(shí)際顯示圖片由 Picture 屬性決定。Picture 屬性包括被顯示的圖片的文件名(及可選的路徑名)。
     注意 窗體對(duì)象也具有 Picture 屬性,通過(guò)設(shè)置該屬性可直接在窗體背景上顯示圖片。
     要在運(yùn)行時(shí)顯示或替換圖片,可利用函數(shù) LoadPicture 來(lái)設(shè)置 Picture 屬性。提供圖片文件名和可選路徑名,由 LoadPicture 函數(shù)處理加載和顯示圖片的細(xì)節(jié)。
     picMain.Picture = LoadPicture("VANGOGH.BMP")
     PictureBox 控件具有 AutoSize 屬性,當(dāng)該屬性設(shè)置為 True 時(shí),PictureBox能自動(dòng)調(diào)整大小與顯示的圖片匹配。如果要用 AutoSize 屬性設(shè)置為 True的 PictureBox ,設(shè)計(jì)窗體時(shí)就需要特別小心。圖片將不考慮窗體上的其它控件而調(diào)整大小,這可能導(dǎo)致意想不到的后果,如覆蓋其它控件。設(shè)計(jì)時(shí)應(yīng)通過(guò)加載每一幅圖片來(lái)檢查是否有這種現(xiàn)象發(fā)生。
     使用 PictureBox 作為容器
     Picture box 控件也可以用作其它控件的容器。像 Frame 控件一樣,可以在PictureBox 控件上面加上其它控件。這些控件隨 PictureBox 移動(dòng)而移動(dòng),其 Top 和 Left 屬性是相對(duì) PictureBox 而言,而與窗體無(wú)關(guān)。
     PictureBox 容器的一種普通用法是 ToolBar 或 StatusBar ??蓪?Image 控件置于這些容器中作為按鈕或添加Label顯示狀態(tài)信息。將Align屬性設(shè)置為T(mén)op、Bottom、Left或Right ,PictureBox將粘貼在窗體的邊緣。圖 3.16 為一個(gè)Align屬性設(shè)置為Bottom的PictureBox 。它包含兩個(gè)可用于顯示狀態(tài)信息的 Label 控件。
     PictureBox 的其它用法
     PictureBox 控件有幾種方法使 PictureBox 可用于其它目的。例如:把PictureBox 看作是一塊空畫(huà)布,可以在它上面畫(huà)畫(huà)或打印,或者顯示文本、圖形,甚至是簡(jiǎn)單的動(dòng)畫(huà)。
     Print 方法允許向 PictureBox 控件輸出文本,如同向打印機(jī)輸出一樣。有幾種字體屬性可以控制由 Print 方法輸入的文本的特性;Cls 方法可以清除輸出。
     Circle、Line、Point 和 Pset 方法可以用于在 PictureBox 中畫(huà)圖形。一些屬性如 DrawWidth、FillColor 和 FillStyle 允許自定義圖形的外觀。
     用 PaintPicture 方法在圖片控件內(nèi)移動(dòng) Image 、并在幾幅不同的 Image 間
    快速變化就能產(chǎn)生動(dòng)畫(huà)。
     詳細(xì)信息 關(guān)于 PictureBox 控件的詳細(xì)信息,請(qǐng)參閱第七章“使用 VisualBasic 的標(biāo)準(zhǔn)控件”。
     輕量圖形控件
     Image、Shape 和 Line 控件都被認(rèn)為是輕量圖形控件,也就是說(shuō),它們只支持 PictureBox 的屬性、方法和事件的一個(gè)子集。因此,它們需要較少的系統(tǒng)資源而且加載也比 PictureBox 控件更快。
     用 Image 控件代替 PictureBox
     Image 控件與 PictureBox 控件相似,但它只用于顯示圖片。它不能作為其它控件的容器,也不支持 PictureBox 的高級(jí)方法。    圖片加載于 Image 控件的方法和它們加載于 PictureBox 中的方法一樣。設(shè)計(jì)時(shí),將 Picture 屬性設(shè)置為文件名和路徑,運(yùn)行時(shí),利用 Loadpicture 函數(shù)。
     Image 控件調(diào)整大小的行為與 PictureBox 不同。它具有 Stretch 屬性,而PictureBox 具有 AutoSize 屬性。將 AutoSize 屬性設(shè)為 True 可使PictureBox 根據(jù)圖片調(diào)整大小,設(shè)為 False 則圖片將被剪切(只有一部分圖片可見(jiàn))。Stretch 屬性設(shè)為 False(缺省值)時(shí),Image 控件可根據(jù)圖片調(diào)整大小。將 Stretch 屬性設(shè)為 True 將根據(jù) Image 控件的大小來(lái)調(diào)整圖
    片的大小,這可能使圖片變形。
     詳細(xì)信息 關(guān)于 Image 控件的詳細(xì)信息,請(qǐng)參閱第七章“使用 Visual Basic's的標(biāo)準(zhǔn)控件”。
     使用 Image 控件創(chuàng)建自己的按鈕
     Image 控件也可以識(shí)別 Click 事件,因此可在要用 CommandButton 的任何地方使用該控件。這種方法可以方便地建立有圖片的按鈕來(lái)取代標(biāo)題。將幾個(gè) Image 控件組成一組,水平置于屏幕頂端(通常在一個(gè) PictureBox中),可以在應(yīng)用程序中建立一個(gè) ToolBar。
     例如,對(duì) Test Buttons一 例給出的 Image 控件 ,用戶可以像選擇CommandButton 一樣來(lái)選擇它。窗體第一次被顯示時(shí),控件顯示 VisualBasic 的圖標(biāo)庫(kù)中三個(gè)交通圖標(biāo)中的一個(gè)。每單擊 Image 控件一次,就顯示一個(gè)不同的圖標(biāo)(該例的工作版本,請(qǐng)參閱 Controls.vbp 示例應(yīng)用程序中的 Button.frm)。
     如果設(shè)計(jì)時(shí)觀察一下窗體,就會(huì)發(fā)現(xiàn)它實(shí)際包含所有三個(gè)圖標(biāo),它們堆集在一起。改變頂部 Image 控件的 Visible 屬性為 False,下一幅圖像(如果其 Visible 屬性為真)將顯示于頂部。
     圖 3.17 為一個(gè)交通圖標(biāo)的 Image 控件 (Trffc10a.ico)。
     要在 Image 控件的周?chē)⒁粋€(gè)邊框,將 BorderStyle 屬性設(shè)為 1—— 固定的單邊框。
     注意 與 CommandButton 不同,單擊 Image 控件時(shí),并不顯示它被按下的動(dòng)作。也就是說(shuō)除非在 MouseDown 事件中改變位圖,否則“按鈕”正在被按下對(duì)用戶來(lái)說(shuō)是看不到的。
     詳細(xì)信息 關(guān)于在 Image 控件中顯示圖形圖像的詳細(xì)信息,請(qǐng)參閱第七章“使用 Visual Basic 的標(biāo)準(zhǔn)控件”。
     使用 Shape 控件和 Line 控件
     Shape 和 Line 控件可用來(lái)在窗體表面畫(huà)圖形元素。這些控件不支持任何事件,只用于表面裝飾。
     有幾種屬性可以控制 Shape 控件的外觀。通過(guò)設(shè)置 Shape 屬性,Shape 控件可顯示為矩形、正方形、橢圓型、圓角矩形或圓角正方形。設(shè)置 BorderColor和 FillColor 屬性可以改變顏色,BorderStyle、BorderWidth、FillStyle 和DrawMode 屬性控制如何畫(huà)圖。    Line 控件與 Shape 控件相似,但僅用于畫(huà)線。
     詳細(xì)信息 關(guān)于 Shape 和 Line 控件的附加信息,請(qǐng)參閱第七章“使用Visual Basic 的標(biāo)準(zhǔn)控件”。
     Images 應(yīng)用程序
     圖 3.18 所示窗體用了四個(gè) Image 控件,一個(gè) Shape 控件,一個(gè) PictureBox控件和一個(gè) CommandButton 控件。當(dāng)用戶選擇撲克牌符號(hào)時(shí),Shape 控件使該符號(hào)突出顯示,并且在 PictureBox 中顯示相應(yīng)的描述。關(guān)于本例的工作版本,請(qǐng)參閱 Controls.vbp 示例應(yīng)用程序中的 Images .frm。