乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      VB -控件(二)

       悟靜 2009-06-02

      滾動(dòng)條常常用來(lái)附在某個(gè)窗口上幫助觀察數(shù)據(jù)或確定位置,也可以用來(lái)作為數(shù)據(jù)輸入的工具。在日常操作中,我們常常遇到這樣的情況:在某些程序中,如 Photoshop ,一些具體的數(shù)值我們并不清楚,如調(diào)色板上的自定義色彩,這時(shí),可以通過(guò)滾動(dòng)條,用嘗試的辦法找到自己需要的具體數(shù)值。

      在 Visual Basic 中,滾動(dòng)條分為橫向(HscrollBar)與豎向(VscrollBar)兩種,命名規(guī)則為:HsbX 或 VsbX ,如 HsbShow、VsbShow ,等等。它們?cè)诠ぞ呦渖系膱D標(biāo)如圖一:


      圖一

      選中滾動(dòng)條按鈕,把鼠標(biāo)指針?lè)诺浇缑嬖O(shè)計(jì)區(qū),然后拖動(dòng),畫出符合自己要求的滾動(dòng)條,或者直接雙擊該按鈕,自動(dòng)在界面設(shè)計(jì)區(qū)生成默認(rèn)大小的滾動(dòng)條,如圖二所示:


      圖二

      一、滾動(dòng)條控件的屬性:
      1、Max(最大值)與 Min(最小值)屬性:
      滾動(dòng)塊處于最右邊(橫向滾動(dòng)條)或最下邊(豎向滾動(dòng)條)時(shí)返回的值就是最大值;滾動(dòng)塊處于最左邊或最上邊,返回的值最小,如圖三所示:


      圖三

      Max 與 Min 屬性是創(chuàng)建滾動(dòng)條控件必須指定的屬性,默認(rèn)狀態(tài)下, Max 值為 32767 ,Min 值為 0 。本屬性既可以在界面設(shè)計(jì)過(guò)程中予以指定,也可以在程序運(yùn)行中予以改變,如:

      HsbShow.Min = 3
      HsbShow.Max = 30

      2、Value(數(shù)值)屬性:
      Value 屬性返回或設(shè)置滾動(dòng)滑塊在當(dāng)前滾動(dòng)條中的位置,如圖三所示。

      Value 值可以在設(shè)計(jì)時(shí)指定,也可以在程序運(yùn)行中改變,如:

      HsbShow.Value = 24

      3、SmallChange(小改變)屬性:
      當(dāng)用戶單擊滾動(dòng)條左右邊上的箭頭時(shí),滾動(dòng)條控件 Value 值的改變量就是 SmallChange,如圖四:


      圖四

      4、LargeChange(大改變)屬性:
      單擊滾動(dòng)條中滾動(dòng)框前面或后面的部位時(shí),引發(fā) Value 值按 LargeChange 設(shè)定的數(shù)值進(jìn)行改變,如圖五:


      圖五

      二、滾動(dòng)條控件的事件:
      與滾動(dòng)條控件相關(guān)的事件主要是 Scroll 與 Change ,當(dāng)在滾動(dòng)條內(nèi)拖動(dòng)滾動(dòng)框時(shí)會(huì)觸發(fā) Scroll 事件(但要注意,單擊滾動(dòng)箭頭或滾動(dòng)條時(shí)不發(fā)生 Scroll 事件),滾動(dòng)框發(fā)生位置改變后則會(huì)觸發(fā) Change 事件。Scroll 事件用來(lái)跟蹤滾動(dòng)條中的動(dòng)態(tài)變化,Change 事件則用來(lái)得到滾動(dòng)條最后的值。

      三、示例:
      有如圖六這樣一個(gè)應(yīng)用程序,當(dāng)滾動(dòng)條(HsbShow)的滾動(dòng)塊發(fā)生位移時(shí),下面的顯示標(biāo)簽(LblShow)自動(dòng)顯示滾動(dòng)條當(dāng)前的值;在拖動(dòng)滾動(dòng)框的過(guò)程中,顯示標(biāo)簽(LblShow)則會(huì)顯示“拖動(dòng)中……”字樣。


      圖六

      1、創(chuàng)建界面。
      其中,HsbShow 的 Min 為 0 ,Max 為 100 ,SmallChange 為 5 ,LargeChange 為 10 。

      2、雙擊滾動(dòng)條(HsbShow),進(jìn)入代碼編寫窗口:
      Private Sub HsbShow_Change()
       LblShow.Caption = "滾動(dòng)條當(dāng)前值為:" & HsbShow.Value
      End Sub

      3、滾動(dòng)條的拖動(dòng)事件:
      Private Sub HsbShow_Scroll()
       LblShow.Caption = "拖動(dòng)中……"
      End Sub
       

      有如圖一這樣一個(gè)應(yīng)用程序,分別拖動(dòng)紅、綠、藍(lán)三個(gè)滾動(dòng)框來(lái)決定文本框的背景色,另外還有一個(gè)豎向滾動(dòng)條,可以用來(lái)控制文本框的大小。


      圖一

      一、圖像的著色問(wèn)題:
      自然界中千變?nèi)f化的色彩,在電腦上可以用紅綠藍(lán)三種原色組合而成,這也正是圖像處理軟件中 RGB 模式的原理所在,如黑色是由皆為 0 的紅綠藍(lán)三種顏色組成,白色為皆為 255 的三原色合成,等等。

      在 RGB 模式中,每種色彩最多有 255 種變化,也就是說(shuō),只要 R 、G 、B 三種色彩都在各自的 255 范圍內(nèi),這種色彩就是有效的。

      在 VB 中,也用 RGB 來(lái)作為色彩的描述,如文本框的背景色為白色,則表示為:Text1.Backcolor = RGB(255,255,255)。

      二、VB 中對(duì)象的初值儲(chǔ)存問(wèn)題:
      在VB中,常常會(huì)對(duì)某個(gè)對(duì)象進(jìn)行位置移動(dòng),或者動(dòng)態(tài)改變對(duì)象的尺寸,一般情況下,都會(huì)在程序調(diào)入后先對(duì)原始數(shù)據(jù)進(jìn)行一些存儲(chǔ),以便發(fā)生位移或改變大小后能恢復(fù)原樣,而這一功能,是通過(guò)初值儲(chǔ)存來(lái)完成的。

      方法是,將原始數(shù)據(jù),如坐標(biāo)值、原始長(zhǎng)寬高,等等,賦值給某個(gè)變量,最后通過(guò)變量的調(diào)用就能完成默認(rèn)狀態(tài)的恢復(fù)。

      三、程序設(shè)計(jì):
      1、創(chuàng)建如圖一的程序界面。
      文本框的屬性:
      Name:TxtContent  Text:None

      三個(gè)表示色彩的標(biāo)簽:
      紅色標(biāo)簽,Name:LblRed  Caption:紅色
      綠色標(biāo)簽,Name:LblGreen  Caption:綠色
      藍(lán)色標(biāo)簽,Name:LblBlue  Caption:藍(lán)色

      三個(gè)表示色彩的橫向滾動(dòng)條:
      Min:0  Max:255  SmallChange:1  LargeChange:5

      顯示“大小”字樣的標(biāo)簽:
      Name:LblSize  Caption:大小

      對(duì)文本框大小進(jìn)行控制的豎向滾動(dòng)條:
      Name:VsbSize  Min:0  Max:100  SmallChange:1  LargeChange:5

      用于顯示大小變化尺寸的標(biāo)簽:
      Name:LblShow  Caption:None

      2、雙擊紅色滾動(dòng)條,在彈出的程序代碼窗口中輸入:
      Private Sub HsbRed_Change()
      TxtContent.BackColor = RGB(HsbRed.Value, HsbGreen.Value, HsbBlue.Value)
      End Sub

      另外,就 HsbRed 的 Scroll 事件也輸入上面的代碼:

      Private Sub HsbRed_Scroll()
      TxtContent.BackColor = RGB(HsbRed.Value, HsbGreen.Value, HsbBlue.Value)
      End Sub

      3、同理所得,在綠色與藍(lán)色滾動(dòng)條中輸入相應(yīng)代碼。這樣,通過(guò)滾動(dòng)條控制文本框背景色的目的達(dá)到了。

      4、在“通用”選項(xiàng)中定義全局全量,用來(lái)儲(chǔ)存文本框的原始尺寸:

      Dim Iwidth As Integer
      Dim Iheight As Integer

      5、用來(lái)改變文本框尺寸的豎向滾動(dòng)條:
      Change 事件:
      Private Sub VsbSize_Change()
      TxtContent.Width = Iwidth * (VsbSize.Value / 100)
      TxtContent.Height = Iheight * (VsbSize.Value / 100)
      LblShow.Caption = VsbSize.Value & "%"
      End Sub

      Scroll 事件:
      Private Sub VsbSize_Scroll()
      TxtContent.Width = Iwidth * (VsbSize.Value / 100)
      TxtContent.Height = Iheight * (VsbSize.Value / 100)
      LblShow.Caption = VsbSize.Value & "%"
      End Sub

      6、調(diào)試:
      按 F5 鍵進(jìn)行調(diào)試,發(fā)現(xiàn)文本框的尺寸無(wú)法調(diào)整。這是因?yàn)?,沒(méi)有在初始狀態(tài)
      下將原文本框的寬度、高度賦值給變量。

      在 Form 的 Load 事件中輸入以下代碼:

      Private Sub Form_Load()
      Iwidth = TxtContent.Width
      Iheight = TxtContent.Height
      LblShow.Caption = "100%"
      End Sub

      7、最后結(jié)果如圖二:

      在 Windows 應(yīng)用程序中常常要用到時(shí)間控制的功能,如在程序界面上顯示當(dāng)前時(shí)間,或者每隔多長(zhǎng)時(shí)間觸發(fā)一個(gè)事件,等等。而 Visual Basic 中的 Timer(時(shí)間)控制器就是專門解決這方面問(wèn)題的控件。

      Timer 控制器在工具箱面板上的圖標(biāo)如圖一:


      圖一

      選中時(shí)鐘控制器,將鼠標(biāo)移到界面設(shè)計(jì)區(qū),在窗體中拖出一個(gè)矩形就可以創(chuàng)建一個(gè) Timer 控件了。跟其他控件不同的是,無(wú)論你繪制的矩形有多大,Timer 控件的大小都不會(huì)變,如圖二:


      圖二

      另外,Timer 控件只有在程序設(shè)計(jì)過(guò)程中看得見,在程序運(yùn)行時(shí)是看不見的。

      一、Timer 控件的屬性:
      Timer 控件可以使用 Name 屬性與 Enabled 屬性,但最重要的是 Interval 即時(shí)間間隔屬性。

      Interval 屬性決定了時(shí)鐘事件之間的間隔,以毫秒為單位,取值范圍為 0 ~ 65535 ,因此其最大時(shí)間間隔不能超過(guò) 65 秒,即一分鐘多一點(diǎn)的時(shí)間。如果把 Interval 屬性設(shè)置為 1000 ,則表示每秒鐘觸發(fā)一個(gè) Timer 事件。

      其語(yǔ)法格式:
      Timer.Interval = X ,其中,X 代表具體的時(shí)間間隔。

      二、Timer 控件的 Timer (定時(shí))事件:
      當(dāng)一個(gè) Timer 控件經(jīng)過(guò)預(yù)定的時(shí)間間隔,將激發(fā)計(jì)時(shí)器的 Timer 事件。使用 Timer 事件可以完成許多實(shí)用功能,如顯示系統(tǒng)時(shí)鐘、制作動(dòng)畫,等等。

      三、示例:
      有如圖三這樣一個(gè)應(yīng)用程序,標(biāo)簽?zāi)軌蜃詣?dòng)顯示當(dāng)前時(shí)間。


      圖三

      1、創(chuàng)建程序界面:
      界面如圖四,為了便于大家觀看,我們將 LblShow 的邊界類型設(shè)為 1 。

      另外,別忘了把 Timer1 的 Interval 屬性設(shè)置為 1000 。


      圖四

      2、在 Timer1 的 Timer 事件中輸入以下代碼:

      Private Sub Timer1_Timer()
      LblShow.FontSize = 30
      LblShow.FontName = "宋體"
      LblShow.Caption = "當(dāng)前時(shí)間為:" & Time
      End Sub

      注意,Time 是 Visual Basic 中的關(guān)鍵詞,表示顯示系統(tǒng)時(shí)間。

      在一個(gè)應(yīng)用程序中,對(duì)文件的處理是一個(gè)比較常用的操作,如打開文件、保存文件,等等。Visual Basic 提供了三個(gè)控件對(duì)磁盤文件夾與文件進(jìn)行顯示與操作,它們分別是:DriveListBox(磁盤列表框)控件、DirListBox(文件夾列表框)控件,以及 FileListBox(文件列表框)控件。如圖一:


      圖一

      一、DriveListBox(磁盤列表框)控件:
      在工具箱面板上,DriveListBox 控件的圖標(biāo)如圖二:


      圖二

      在窗口中創(chuàng)建的磁盤列表框可以自動(dòng)顯示電腦上或網(wǎng)絡(luò)上的所有磁盤驅(qū)動(dòng)器,另外,還可以通過(guò)語(yǔ)法設(shè)置運(yùn)行時(shí)顯示的驅(qū)動(dòng)器名稱,這就要用到 Drive 屬性。

      磁盤列表框名稱.Drive = Drive(如 C: ,或者 D:,等等)。

      比如,要在窗體啟動(dòng)時(shí)把當(dāng)前磁盤改為 F 盤,那么:

      Private Sub Form_Load()
        Drive1.Drive = "F:"
      End Sub


      圖三

      二、DirListBox(文件夾列表框)控件:
      在工具箱面板上,DirListBox 控件的圖標(biāo)如圖四:


      圖四

      文件夾列表框控件可以顯示與設(shè)置文件夾的路徑,當(dāng)用戶在窗口中創(chuàng)建 DirListBox 控件時(shí),雙擊其中的文件夾,不需進(jìn)行編程就能自動(dòng)顯示下一級(jí)的文件夾,如圖五:


      圖五

      本控件的主要屬性是 Path 屬性,用來(lái)返回或設(shè)置當(dāng)前文件夾的路徑,只能在程序運(yùn)行中使用,其語(yǔ)法是:

      文件夾列表框名稱.Path = 具體的路徑

      比如,我們要在窗體啟動(dòng)時(shí)把默認(rèn)顯示的文件夾改為 D:\Mytool\ ,程序可以這樣寫:

      Private Sub Form_Load()
      Dir1.Path = "D:\Mytool\"
      End Sub

      三、FileListBox(文件列表框)控件:
      跟前面兩個(gè)控件一樣,本控件能夠自動(dòng)顯示符合條件的文件清單。如圖六:


      圖六

      文件列表框控件主要有兩個(gè)屬性,即 Path 屬性與 FileName 屬性,前者代表文件的路徑,從顯示路徑的功能上來(lái)說(shuō),比后者更簡(jiǎn)便一些;后者則用來(lái)返回或設(shè)置所選文件的路徑與文件名,其語(yǔ)法是:

      文件列表框名稱.FileName = 路徑

      比如,我們要在窗體啟動(dòng)時(shí)將 E:\稿件 目錄下的所有 ZIP 文件列出來(lái),程序可以這樣寫:

      Private Sub Form_Load()
      File1.FileName = "E:\稿件\*.zip"
      End Sub

      結(jié)果如圖七:


      圖七

      四、三個(gè)控件的連接:
      上面我們就三個(gè)控件進(jìn)行了分別的學(xué)習(xí),在程序中,它們卻是互不關(guān)連的,并不是只要在窗體中創(chuàng)建了它們,然后對(duì)某個(gè)控件(如磁盤列表框)進(jìn)行操作,其他控件就會(huì)自動(dòng)顯示相應(yīng)的磁盤下的文件,這需要用程序進(jìn)行實(shí)現(xiàn)。

      1、將磁盤列表框的操作賦值給文件夾列表框的 Path 屬性,在磁盤列表框的 Change 事件中輸入如下代碼:

      Private Sub Drive1_Change()
        Dir1.Path = Drive1.Drive
      End Sub

      2、對(duì)文件夾列表框控件進(jìn)行的操作,直接影響文件列表框所顯示的內(nèi)容:

      Private Sub Dir1_Change()
        File1.Path = Dir1.Path
      End Sub

      最后結(jié)果如圖八:

      窗體猶如一塊畫布,在設(shè)計(jì)時(shí)是程序的設(shè)計(jì)區(qū)域,而在運(yùn)行程序時(shí),每個(gè)窗體對(duì)應(yīng)于一個(gè)窗口。

      一、窗體的結(jié)構(gòu):
      窗體結(jié)構(gòu)與普通 Windows 下的窗口非常相似,如圖一:

       

       

       

       


      圖一

      系統(tǒng)菜單:Form1.ControlBox,點(diǎn)擊它可以彈出菜單命令。

      標(biāo)題欄:Form1.Caption,顯示的窗口標(biāo)題,如本例中的“Form1”。

      最小化按鈕:Form1.MinButton 。

      最大化按鈕:Form1.MaxButton 。

      二、窗體的主要屬性:
      1、名稱:命名規(guī)則為 FrmX ,如 FrmShow 、FrmFirst ,等等,主要用于程序調(diào)用。

      2、AutoRedraw(自動(dòng)重畫): 本屬性控制圖像的重建,常用于多窗體程序設(shè)計(jì)中,語(yǔ)法如下:

      窗體名稱.AutoRedraw = True/False

      當(dāng) AutoRedraw 設(shè)置為 True 時(shí),那么本窗體被另外的窗體覆蓋后,又回到此窗體時(shí),將自動(dòng)重新刷新或重畫窗體上的所有圖形;如果是 False ,則必須通過(guò)事件過(guò)程來(lái)設(shè)置這一操作。

      默認(rèn)屬性為 False。如圖二:


      圖二

      3、BackColor(背景色)與 ForeColor(前景色):
      前者用來(lái)指定窗體的背景色,如圖三:


      圖三

      后者用來(lái)指定文本或圖形的前景色,如圖四:


      圖四

      4、Height(高度)與 Width(寬度):
      這兩個(gè)屬性用來(lái)指定窗體的高度與寬度,其單位是 Twip ,即 1 點(diǎn)的 1/20 (1/1440 英寸)。

      如要讓窗體的高度變?yōu)?200 ,寬度變?yōu)?300 ,那么程序應(yīng)該寫成:

      Private Sub Form1_Click()
       Form1.Height = 200
       Form1.Width = 300
      End Sub

      5、Top(頂部)與 Left(左邊距)屬性:
      通過(guò)這兩個(gè)屬性可以控制窗體的坐標(biāo)位置,默認(rèn)單位是 Twip 。

      要注意的是,隨對(duì)象的不同,這個(gè) Top 與 Left 的意義不同。當(dāng)對(duì)象是窗體,Top 指的是窗體頂部與屏幕頂部的相對(duì)距離,Left 指的是窗體左邊界與屏幕左邊界的間距;當(dāng)對(duì)象是其他控件時(shí),它們分別表示控件頂部、左邊與窗體頂部、左邊之間的距離,如圖五所示:


      圖五

      語(yǔ)法示例:

      Private Sub Form1_Click()
       Form1.Top = 200
       Form1.Left = 300
      End Sub

      上面的語(yǔ)句會(huì)把 Form1 窗體移動(dòng)到距屏幕頂部 200 Twip ,距屏幕左邊距 300 Twip 的地方。

      6、Visible(可見)屬性:
      當(dāng)一個(gè)對(duì)象的 Visible 屬性設(shè)置為 False 時(shí),程序運(yùn)行時(shí)不能看見;只有當(dāng) Visible 屬性值變?yōu)?True 時(shí),才能被看見。

      本屬性雖然簡(jiǎn)單,但卻是常常需要用到的,請(qǐng)大家牢記在心。

      三、窗體的主要事件:
      1、Load(裝入)事件:

      窗體最主要的事件,用來(lái)在啟動(dòng)程序時(shí)對(duì)屬性和變量進(jìn)行初始化。程序一旦運(yùn)行,將自動(dòng)觸發(fā)本事件。

      2、UnLoad(卸載)事件:
      既然有裝入事件,自然就有卸載事件,它的作用是從內(nèi)存中清除一個(gè)窗體。卸載后如果要重新裝入窗體,那么新裝入的窗體上的所有控件都需要重新初始化。

      3、Click(單擊)與 DblClick(雙擊)事件:
      在以前的學(xué)習(xí)中,我們已經(jīng)接觸到了 Click 事件,實(shí)際上,對(duì)一個(gè)嚴(yán)謹(jǐn)?shù)某绦騺?lái)說(shuō),這種應(yīng)用不是很普遍,大家知道就行了。

      Visual Basic 為編程人員提供了強(qiáng)大的繪圖功能支持,在本章,我們將學(xué)會(huì)基本的繪圖方法。

      在 VB 中,主要通過(guò)兩種辦法進(jìn)行圖像繪制:一種是利用 ActiveX 控件,如用圖形框顯示圖片;另外一種是通過(guò)使用 VB 語(yǔ)言本身的函數(shù)和方法,通過(guò)在屏幕上繪制點(diǎn)、線和圖形來(lái)制作。

      一、圖形框控件的主要屬性:
      圖形框控件(PictureBox)可以用來(lái)顯示位圖、JPGE、GIF、圖標(biāo)等格式的圖片,在工具箱面板中,圖形框控件的圖標(biāo)如圖一:


      圖一

      1、Name 屬性:
      命名規(guī)則為:PicX ,如 PicMove 、PicShow ,等等。

      2、Picture(圖片)屬性:
      本屬性用來(lái)返回或設(shè)置控件中要顯示的圖片,可以通過(guò)屬性窗口進(jìn)行設(shè)置。如果要在程序運(yùn)行過(guò)程中載入圖片,常常使用 LoadPicture 函數(shù),其語(yǔ)法規(guī)則為:

      對(duì)象.Picture = LoadPicture("圖形文件的路徑與名字")

      如:PicMove.Picture = Loadpicture("c:\Picts\pen.bmp")

      3、AutoSize(自動(dòng)顯示)屬性:
      本屬性決定了圖形框控件是否自動(dòng)改變大小以顯示圖片的全部?jī)?nèi)容。當(dāng)值為 True ,圖象可以自動(dòng)改變大小以顯示全部?jī)?nèi)容;當(dāng)值為 False ,則不具備圖象的自我調(diào)節(jié)功能。

      二、圖形框控件的主要事件:
      它可以接收 Click(單擊)事件與 DblClick(雙擊)事件,還可以在圖片框中使用 Cls(清屏)、Print 方法。在實(shí)際使用過(guò)程中,它多是作為一種圖形容器出現(xiàn),所以常常是跟其他控件搭配使用的,如點(diǎn)擊一個(gè)按鈕,圖形框自動(dòng)裝入圖片,等等。

      三、圖像框控件(Image)的主要屬性:
      跟圖形框一樣,圖像框控件也具有諸如 Name、Picture 等屬性,以及 Loadpicture 的方法,但在圖像自適應(yīng)問(wèn)題上有所不同。

      PictureBox 用 AutoSize 屬性控制圖形的尺寸自動(dòng)適應(yīng),而 Image 控件則用 Stretch 屬性對(duì)圖片進(jìn)行大小調(diào)整。如圖二:


      圖二

      四、圖像框與圖形框控件的區(qū)別:
      1、圖形框是“容器”控件,可以作為父控件,而圖像框不能作為父控件,其他控件不能作為圖像框的子控件。

      圖形框作為一個(gè)“容器”,可以把其他控件放在其內(nèi)作為它的“子控件”,當(dāng)圖形發(fā)生位移,其內(nèi)的子控件也會(huì)跟著一起移動(dòng)。


      圖三

      2、圖形框可以通過(guò) Print 方法顯示與接收文本,而圖像框不能。

      3、圖像框比圖形框占用內(nèi)存少,顯示速度更快一些,因此,在圖形框與圖像框都能滿足設(shè)計(jì)需要時(shí),應(yīng)該優(yōu)先考慮使用圖像框。
       

      本節(jié),我們要實(shí)現(xiàn)兩張不同圖片在同一個(gè)圖形框內(nèi)的切換,同時(shí)可以啟用與禁用圖形框的自動(dòng)適應(yīng)功能。


      圖一(切換前)


      圖二(切換后)

      一、設(shè)計(jì):
      1、創(chuàng)建如圖一的界面:
      顯示標(biāo)簽:
      Name:LblShow  Caption:現(xiàn)在顯示的是第一張圖

      圖形框控件:
      Name:PicShow  AutoSize:None

      自動(dòng)適應(yīng)復(fù)選框:
      Name:ChkAutoSize

      圖片切換按鈕:
      Name:CmdShow  Caption:圖片二

      2、先在通用區(qū)聲明如下變量:
      Dim X As Integer
      Dim IWidth As Integer
      Dim IHeight As Integer

      其中,X 準(zhǔn)備用來(lái)做為圖片切換的條件,當(dāng) X 為 1 ,圖片切換按鈕可以切換到圖片二;當(dāng) X 為 2 ,圖片切換按鈕可以切換到圖片一。

      IWidth 與 IHeight 準(zhǔn)備用來(lái)儲(chǔ)存圖形框的初始寬度與高度,以便在圖形框發(fā)生大小變化后回復(fù)到原樣。

      3、程序打開時(shí)自動(dòng)載入圖片一:
      這樣,圖片切換按鈕就應(yīng)該能夠切換到圖片二,所以將 1 賦給 X :

      Private Sub Form_Load()
      PicShow.Picture = LoadPicture("E:\稿件\Ccidnet\vb\image\vb3-2-1-copy.gif")
      X = 1
      End Sub

      4、自動(dòng)適應(yīng)功能的實(shí)現(xiàn):
      Private Sub ChkStretch_Click()
      If ChkStretch.Value = 1 Then
      IWidth = PicShow.Width
      IHeight = PicShow.Height
      PicShow.AutoSize = True
      Else
      PicShow.AutoSize = False
      PicShow.Width = IWidth
      PicShow.Height = IHeight
      End If
      End Sub

      上面程序的意思是,如果復(fù)選框被選中,那么先將原始圖形框的寬度與高度賦給 IWidth、IHeight ,然后再通過(guò)激活 PicShow 的 AutoSize 功能達(dá)到圖形框的自動(dòng)適應(yīng);如果復(fù)選框沒(méi)被選中,那么禁止 PicShow 的 AutoSize 功能,然后將圖形框原來(lái)的高度(現(xiàn)在的 IHeight)和寬度(現(xiàn)在的 IWidth)賦值給圖形框以恢復(fù)原樣。

      5、圖片切換:
      Private Sub CmdShow_Click()
      If X = 1 Then
      PicShow.Picture = LoadPicture("E:\稿件\Ccidnet\vb\image\vb3-2-2-copy.gif")
      LblShow.Caption = "現(xiàn)在顯示的是第二張圖"
      CmdShow.Caption = "圖片一"
      X = 2
      Else
      PicShow.Picture = LoadPicture("E:\稿件\Ccidnet\vb\image\vb3-2-1-copy.gif")
      LblShow.Caption = "現(xiàn)在顯示的是第一張圖"
      CmdShow.Caption = "圖片二"
      X = 1
      End If
      End Sub

      在上面的程序中,先對(duì) X 進(jìn)行判斷,如果 X 為 1 ,那么圖形框顯示圖片二,顯示標(biāo)簽改變成“現(xiàn)在顯示的是第二張圖”字樣,作為圖形切換的按鈕,
      Caption 變成“圖片一”,然后再讓 X 為 2 好進(jìn)入另外一種情況;當(dāng) X 為 2 ,那么圖形框顯示圖片一,顯示標(biāo)簽與切換按鈕發(fā)生相應(yīng)變化。

      二、聯(lián)想
      記得第一次設(shè)計(jì)這個(gè)程序時(shí),并沒(méi)有引入 X 這個(gè)輔助變量,而是通過(guò)鼠標(biāo)點(diǎn)擊的動(dòng)作來(lái)進(jìn)行判斷的,即,當(dāng)原始圖形框中顯示的是圖片一,那么鼠標(biāo)點(diǎn)擊一次,即奇數(shù)次,圖形框中會(huì)切換到圖片二;當(dāng)鼠標(biāo)點(diǎn)擊第二次,即偶數(shù)次,圖形框可以切換到圖片一;以此類推。所以可以通過(guò)次數(shù)取余,如果余數(shù)為 0 ,那么圖形框可以切換到圖片一;余數(shù)為 1 ,圖形框可以切換到圖片二。

      具體程序大家可以自行思考,此處不再贅述。

      利用直線與形狀控件,可以使窗體上顯示的內(nèi)容更為豐富,如在窗體上增加簡(jiǎn)單的線條和實(shí)心圖形,等等。

      利用直線控件,可以建立簡(jiǎn)單的直線,通過(guò)修改其屬性,還可以改變直線的粗細(xì)、色彩,以及線型。

      通過(guò)設(shè)置形狀的屬性,用戶可以畫出圓、橢圓,以及圓角矩形,同時(shí)還能設(shè)置形狀的色彩與填充圖案。

      主要屬性:
      除了其他通用屬性外,直線與形狀控件還具有一些比較獨(dú)特的屬性。

      1、BorderStyle(邊框類型),實(shí)用于直線與形狀。
      TransParent:透明,邊框不可見。
      Solid:實(shí)心邊框,最常見。
      Dash:虛線邊框。
      Dot:點(diǎn)線邊框。
      Dash-Dot:點(diǎn)劃線邊框。
      Dash-Dot-Dot:雙點(diǎn)劃線邊框。
      Inside Solid:內(nèi)實(shí)線邊框。

      2、FillStyle(填充類型),實(shí)用于形狀。
      Solid:實(shí)心填充。
      TransParent:透明填充。
      Horizontal Line:以水平線進(jìn)行填充。
      Vertical Line:以垂直線進(jìn)行填充。
      Upward Diagonal:向上對(duì)角線填充。
      Downward Diagonal:向下對(duì)角線填充。
      Cross:交叉線填充。
      Diagonal Cross:對(duì)角交叉線填充。

      3、Shape(形狀),實(shí)用于形狀。
      Rectangle:矩形。
      Square:正方形。
      Oval:橢圓形。
      Circle:圓形。
      Rounded Rectangle:圓角矩形。
      Rounded Square:圓角正方形。

      除了前面談到的用控件顯示與繪制圖形的方法外,VB 還提供了一組龐大的方法用來(lái)繪制點(diǎn)、線、面,以及設(shè)置前景、背景色等各種方法。

      一、設(shè)置當(dāng)前繪圖點(diǎn):
      在 VB 中,可以通過(guò)設(shè)置窗體或圖形框的 CurrentX 與 CurrentY 屬性來(lái)設(shè)置當(dāng)前繪圖點(diǎn)。CurrentX 與 CurrentY 決定了繪制或顯示的起始坐標(biāo),在設(shè)計(jì)時(shí),這兩個(gè)屬性不可用。

      二、繪制點(diǎn)、線、面的方法:
      1、點(diǎn)的繪制法:
      在指定對(duì)象(如窗體、圖形框)上的指定位置處繪制點(diǎn),還可以為點(diǎn)指定顏色,語(yǔ)法如下:

      對(duì)象名.Pset (X,Y),[Color]

      X ,Y 分別為點(diǎn)的水平與垂直坐標(biāo),Color 為點(diǎn)的顏色,是可選項(xiàng)。 2、直線的繪制法:

      在對(duì)象上繪制直線,語(yǔ)法如下:

      對(duì)象名.Line (X1,y1) - (X2,Y2), [Color]

      (X1,Y1) 是直線的起點(diǎn),(X2,Y2)是直線的終點(diǎn),Color 為可選項(xiàng)。

      如圖一:


      圖一

      2、圖形框的代碼是:
      Private Sub Picture1_Click()
      Picture1.Line (350, 1020)-(2050, 1020)
      End Sub

      3、繪制矩形:
      用 Line 方法還可以繪制矩形,語(yǔ)法如下:

      對(duì)象名.Line (X1,Y1) - (X2,Y2), [Color], B ,[F]

      其中,(X1,Y1) 是矩形的左上角座標(biāo),(X2,Y2)是矩形右下角座標(biāo),Color 為矩形邊框的顏色,使用參數(shù) B 而不用 F ,那么矩形用當(dāng)前的填充色(FillColor)與填充方式(FillStyle)對(duì)矩形進(jìn)行填充;如果使用了參數(shù) F ,那么矩形以邊框的顏色進(jìn)行填充。如圖二:


      圖二

      特別注意,用 Line 畫矩形框,如果不用其他參數(shù),那么 B 與坐標(biāo)(X2,Y2)之間應(yīng)該有兩個(gè)逗點(diǎn),一個(gè)是緊跟坐標(biāo)2,一個(gè)表示 Color 省略了,如:Picture1.Line (500,500) - (1000,1000),,B

      4、繪制圓、橢圓、弧:
      用 Circle 方法可以繪制圓、橢圓與弧,語(yǔ)法如下:

      對(duì)象名.Circle (X,Y), Radius, [Color,start,end,aspect]

      其中,(X,Y)是圓、橢圓或弧的圓心坐標(biāo),Radius 是半徑,這兩個(gè)參數(shù)是必須項(xiàng);Color 是圓的輪廓色,Start 與 End 是弧的起點(diǎn)與終點(diǎn)位置。其范圍是 -2 —— 2Pi ;Aspect 是圓的縱橫尺寸比,默認(rèn)值是 1 即圓,如圖三:


      圖三

      三、顏色、前景與背景色的設(shè)置:
      1、顏色函數(shù) RGB()
      在前面關(guān)于卷動(dòng)條控件(綜合示例五)的講解中,我們講述了色彩的設(shè)置問(wèn)題,而這正是 RGB 顏色函數(shù)的原理所在。色彩設(shè)置的方法如下:

      RGB(Red,Green,Blue)

      不要忘了,Red、Green、Blue 每種色彩各有 0——255 種成份,三種色彩不同參數(shù)的搭配,就產(chǎn)生了豐富多采的現(xiàn)實(shí)世界。

      2、前景色的設(shè)置:
      通過(guò)對(duì) ForeColor(前景色屬性)的設(shè)置,可以返回或設(shè)置對(duì)象的前景色。

      3、背景色的設(shè)置:
      對(duì) BackColor 屬性進(jìn)行設(shè)置,就可以返回或設(shè)置對(duì)象的背景色。

      4、圖形的清除:
      用 Cls 方法可以清除窗體或圖形框在程序運(yùn)行中繪制的圖形,語(yǔ)法如下:

      對(duì)象名.Cls
       

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(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)論公約

        類似文章 更多