版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、1,第9章,常用內(nèi)部控件,本章要點: 控件的公共屬性 鼠標和鍵盤事件 常用內(nèi)部控件 動畫控件和多媒體控件,例9-12,2,9.1 控件的公共屬性,1. Name屬性 Name屬性用于標識窗體、控件、或數(shù)據(jù)訪問對象的名稱。在屬性窗口的屬性名為“(名稱)”,注意: 1) Name屬性運行時是只讀的 2) 新建立的控件有其缺省名稱,如Text1、Text2 3) 以字母開始, 最長40個字符,可包括字母、數(shù)字和下劃線,不能包括標點符號或空格(允許漢字) 4) 控件數(shù)組的名稱: Name(Index) 例如:Text1(0)、Text1(1) Command1(0)、Command1(1),3,2.
2、Caption屬性 Caption屬性用于設置或返回對象的標題或在對象上顯示的文字。,注意: 1) 當創(chuàng)建一個新的對象時,其缺省Caption屬性值與其缺省的Name屬性值相同。 2) 使用 運行時: List(i)表示第i項 2) Style外形(常規(guī)形式、復選框形式) 3) Columns列表形式 0:垂直單列、1:水平單列、1:水平多列 4) Text只讀、運行期用,獲取當前選擇項目的值 5) ListIndex運行期用,當前選定項目的索引(0) 如果未選定項目,則 ListIndex 值為 -1 6) ListCount列表部分項目的總個數(shù) 7) Sorted元素是否自動按字母順序排序
3、 8) Selected運行期用,用于選擇某項 如List1.Selected(3)=True 選擇第4項,31,8) MultiSelect: 0缺省值,不允許復選。 1鼠標單擊、按空格鍵在列表中選擇或取消選擇 2 按下 Shift并單擊鼠標或按下 Shift 以及一個箭頭鍵將在以前選中項的基礎上擴展選擇到當前選中項。按下 Ctrl 并單擊鼠標在列表中選中或取消選中項。 3. 方法 1) AddItem向列表框中添加新的項目 對象名.AddItem 項目,索引 2) RemoveItem從列表框中移除項目 對象名.RemoveItem 索引 3) Clear清除所有列表的 對象名.Clear
4、,32,【例9-7】用列表框?qū)崿F(xiàn)游戲列表的管理,實現(xiàn)從所有游戲列表中選擇自己喜歡的游戲,添加到“我的收藏”列表中。在“我的收藏”列表中雙擊某游戲名稱可以打開相應的游戲。,33,1) 將左列表框中選擇的項目移動到右列表框中 Private Sub Command1_Click() If List1.ListCount = 0 Then MsgBox “列表中已沒有可選項, , 注意 Exit Sub End If If List1.ListIndex = 0 Then List2.AddItem List1.Text List1.RemoveItem List1.ListIndex Else M
5、sgBox 請先在列表中選擇某項, , 注意 End If End Sub,34,2) 將右列表框中選擇的項目移動到左列表框中。 Private Sub Command2_Click() If List2.ListCount = 0 Then MsgBox 列表中已沒有可選項, , 注意 Exit Sub End If If List2.ListIndex = 0 Then List1.AddItem List2.Text List2.RemoveItem List2.ListIndex Else MsgBox 請先在列表中選擇某項, , 注意 End If End Sub,35,3) 將左側(cè)
6、列表框中的所有項移動到右側(cè)列表框中 Private Sub Command3_Click() For i = 0 To List1.ListCount 1 List1.Selected(0) = True List2.AddItem List1.Text List1.RemoveItem 0 Next i End Sub,36,4) 將右側(cè)列表框中的所有項移動到左側(cè)列表框中 Private Sub Command4_Click() For i = 0 To List2.ListCount - 1 List2.Selected(0) = True List1.AddItem List2.Text
7、 List2.RemoveItem 0 Next i End Sub,37,9.3.7 組合框(ComboBox),1. 作用: 提供列表(可折疊)、文本輸入 2. 屬性 1) List列表內(nèi)容(Ctrl+Enter換行) 2) Style外形 0下拉組合框(折疊) 1簡單組合框(不折疊) 2下拉列表框(不能修改Text屬性) 3) Text文本框內(nèi)容 4) ListIndex運行期用,當前選定項目的索引 索引從0開始 5) ListCount列表部分項目的總個數(shù) 6) Sorted元素是否自動按順序排序,38,3. 事件 組合框的事件與Style屬性有關(guān)。 Style為0時: 響應Click
8、、Change、DropDown事件 Style為1時: 響應Click、DblClick、Change事件 Style為2時: 響應Click、DropDown事件 4. 方法 1) AddItem: 向組合框中添加新的項目 對象名.AddItem 項目,索引 2) RemoveItem: 從組合框中移除項目 對象名.RemoveItem 索引 3) Clear: 清除組合框中的所有項目 對象名.Clear,39,【例9-8】使用組合框選擇微機配置,包括選擇品牌、CPU、硬盤、內(nèi)存。,運行界面:,40,設置各組合框控件的屬性如下表:,41,1)設運行時各組合框的文本部分初始值為其列表的第一項
9、,因此編寫窗體的Load事件過程如下:,代碼設計:,Private Sub Form_Load() Combo1.Text = Combo1.List(0) Combo2.Text = Combo2.List(0) Combo3.Text = Combo3.List(0) Combo4.Text = Combo4.List(0) End Sub,42,2)當在各組合框中進行選擇后,選擇的內(nèi)容可以從Text屬性獲得,因此在“確定”按鈕的Click事件過程中,直接將各組合框的Text屬性打印在圖片框Picture1中,代碼如下:,Private Sub Command1_Click() Pictu
10、re1.Cls Picture1.Print 您選擇的配置是: Picture1.Print Picture1.Print 品牌:; Combo1.Text Picture1.Print CPU:; Combo2.Text Picture1.Print 硬盤:; Combo3.Text Picture1.Print 內(nèi)存:; Combo4.Text End Sub,43,9.3.8 定時器(Timer),1. 作用:周期性地執(zhí)行某功能、運行時不可見。 2. 屬性 1) Enabled: 將Enabled設置為False時將停止定時器的計時操作。 2) Interval: 計時事件執(zhí)行的時間間隔
11、(毫秒)。 3. 事件 Timer事件: 每當計時時間到時產(chǎn)生Timer事件,注: 一個計時器的最大計時時間為65535毫秒 , 等于 1 分鐘多一些。如果最大計時時間大于該值,可以使用多個計時器。,44,【例9-9】使用Image控件和Timer控件自制簡單的動畫,實現(xiàn)圖形的旋轉(zhuǎn)。,素材準備:將一組相關(guān)的圖片進行連續(xù)的更換可以產(chǎn)生動畫效果,準備一組這樣的相關(guān)圖片。例如可以使用Word的自選圖形功能畫一個自選圖形,設置一定的填充效果,將其復制到Windows畫圖工具中,保存成一個bmp文件,然后在Word中對自選圖形按一定方向(如逆時針)進行旋轉(zhuǎn),每旋轉(zhuǎn)一定角度(如30度)就使用相同的方法保存
12、成一個bmp文件。這里假設保存了12個文件,名稱為tx1.bmptx12.bmp,與所要設計的應用程保存在同一個文件夾下。,45,界面設計:,設置Timer1的屬性: Enabled屬性:False ; Interval屬性:50。,46,代碼設計:,1)在窗體模塊的通用聲明段定義變量i,用來表示當前要加載的是第幾個圖形:,Dim i As Integer,2)在窗體的Load事件過程中對i進行初始化:,Private Sub Form_Load() i = 1 End Sub,47,3)在“開始旋轉(zhuǎn)”按鈕的Click事件過程中啟動定時器。,Private Sub Command1_Click
13、() Timer1.Enabled = True End Sub,4)在“暫?!卑粹o的Click事件過程中關(guān)閉定時器。,Private Sub Command2_Click() Timer1.Enabled = False End Sub,48,5)在Timer1的Timer事件過程中加載圖形:,Private Sub Timer1_Timer() i = i + 1 Image1.Picture = LoadPicture(App.Path Scroll (拖動時),50,【例9-10】使用滾動條控制顏色的紅、綠、藍分量的值,用來設置圖形的填充顏色。,設計界面:,滾動條屬性:Max設置為25
14、5,Min設置為0,51,代碼設計:,1)運行時,當滾動條滑塊位置發(fā)生變化時,標簽應能夠反映滾動條的當前值,同時圖形的顏色會做相應的調(diào)整,因此在滾動條的Change事件過程中編寫代碼。例如:,其他兩個滾動條的Change事件過程類似。,Private Sub HScroll1_Change() Shape1.FillColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) Label4.Caption = HScroll1.Value End Sub,52,2)如果希望運行時拖動滾動條滑塊也能夠及時調(diào)整圖形的顏色,并在標簽中顯示相應
15、的顏色值,應在滾動條的Scroll事件過程中編寫相同的代碼,例如:,其他兩個滾動條的Scroll事件過程類似。,Private Sub HScroll1_Scroll() Shape1.FillColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) Label4.Caption = HScroll1.Value End Sub,53,【例9-11】用滾動條瀏覽大幅圖像。,設置Picture1和Picture2的Autosize屬性為True。,54,代碼設計:,1)在窗體的Load事件過程中編寫代碼,將圖像加載到Picture2中
16、,根據(jù)Picture1與Picture2的相對大小來決定是否要加滾動條:,Private Sub Form_Load() Picture2.Picture = LoadPicture(App.Path & 小雞.bmp) If Picture2.Width Picture1.ScaleWidth Then _ Picture2.Left = (Picture1.ScaleWidth _ - Picture2.Width) 2 HScroll1.Visible = False Form1.Height = Form1.Height - HScroll1.Height,55,Else Pictur
17、e2.Left = 0 HScroll1.Visible = True HScroll1.Value = 0 HScroll1.Max = Picture2.Width _ - Picture1.ScaleWidth HScroll1.SmallChange = Picture2.Width 20 HScroll1.LargeChange = Picture2.Width 10 End If,56,If Picture2.Height Picture1.Height Then Picture2.Top = (Picture1.ScaleHeight _ - Picture2.Height) 2
18、 VScroll1.Visible = False Form1.Width = Form1.Width _ - VScroll1.Width Else Picture2.Top = 0 VScroll1.Visible = True VScroll1.Value = 0 VScroll1.Max = Picture2.Height _ - Picture1.ScaleHeight VScroll1.SmallChange = Picture2.Height 20 VScroll1.LargeChange = Picture2.Height 10 End If End Sub,57,2)在滾動條
19、的Change事件過程中編寫代碼,根據(jù)當前滾動條的Value值調(diào)整圖片框的位置:,Private Sub HScroll1_Change() Picture2.Left = -HScroll1.Value End Sub Private Sub VScroll1_Change() Picture2.Top = -VScroll1.Value End Sub,3)還可以繼續(xù)在滾動條的Scroll事件過程中編寫和Change事件過程相同的代碼,使運行時拖動滑塊也可以實現(xiàn)大圖的滾動顯示。,58,運行界面:,顯示小圖,顯示大圖,59,9.4 動畫控件和多媒體控件,除了工具箱中提供的常用內(nèi)部控件外,還可
20、以使用ActiveX控件來增強Visual Basic應用程序的界面效果及其功能。ActiveX控件文件的擴展名為.ocx。 可以使用Visual Basic提供的ActiveX控件,也可以使用從第三方開發(fā)者提供的控件。 使用ActiveX控件之前,需要先將其添加到工具箱中,添加步驟如下: 打開“工程”菜單單擊“部件” 顯示“部件”對話框選定控件單擊“確定”按鈕,60,完成添加ActiveX控件后就可以像使用內(nèi)部控件一樣使用添加到工具箱中的ActiveX控件了。 將ActiveX添加到窗體上以后,在屬性窗口的屬性名稱列表中有一項“自定義”屬性,單擊該屬性旁的瀏覽按鈕“”可以打開一個“屬性頁”對
21、話框,該對話框集中了設計期可以設置的許多重要屬性,可以在該對話框中方便地進行各種屬性的設置。,61,9.4.1 動畫控件(Animation),1. 添加 (1) 工程部件Microsoft Windows Common Contrls -2 6.0 (2) 從工具箱中選擇Animation,3. 作用:顯示無聲的AVI視頻文件,播放無聲動畫,2. 外觀,62,1)Open:用于打開一個要播放的.avi文件,格式: 對象名.Open 文件名 例:播放當前應用程序路徑之下的文件filedel.avi: Animation1.Open App.Path & filedel.avi,4. 屬性,5.
22、方法,AutoPlay: 在將.avi文件加載到Animation控件時,該屬性決定Animation控件是否開始自動播放.avi文件。 True: 要自動連續(xù)循環(huán)播放.avi文件。 False : 在加載了.avi文件后,需要使用Play方法來播放該.avi文件。,63,2) Play:用于播放已經(jīng)打開的.avi文件,格式: 對象名.Play 重復次數(shù),起始幀,結(jié)束幀 例:Animation1.Play 5, 3, 15 播放當前打開的.avi文件的第3幀到第15幀,共播放5遍。 3)Stop:終止那些用Play方法啟動的動畫。格式: 對象名.Stop 當設置Autoplay屬性為True時
23、不能使用Stop方法終止播放。 4)Close:關(guān)閉當前打開的.avi文件。格式: 對象名.Close,64,【例9-12】在窗體上放四個命令按鈕,單擊各按鈕時實現(xiàn)打開特定的.avi文件、播放動畫、停止播放和關(guān)閉動畫。界面如下圖:,設計界面:,運行界面:,65,Private Sub Command1_Click() “打開”按鈕 Animation1.Open App.Path & filedel.avi End Sub Private Sub Command2_Click() “播放”按鈕 Animation1.Play End Sub Private Sub Command3_Click
24、() “停止”按鈕 Animation1.Stop End Sub Private Sub Command4_Click() “關(guān)閉”按鈕 Animation1.Close End Sub,代碼設計:,66,9.4.2 多媒體控件(Multimedia MCI),1. 添加 1) 工程部件Microsoft Multimedia Control 6.0 2) 從工具箱中選擇MMControl 2. 外觀,3. 作用:于管理媒體控制接口(MCI)設備,包括常規(guī)的多媒體音頻、視頻設備。 也稱Multimedia MCI控件。,67,4. 各按鈕的名稱及作用,通過設置各按鈕的Visible和Enab
25、led屬性可以有選擇地設置可用的按鈕。,68,5. 屬性 1) DeviceType:指定要打開的MCI設備的類型。 簡單設備:不需要數(shù)據(jù)文件即可播放,如打開視頻或音頻CD播放器,即可通過“曲目”進行播放、回繞和快進。 復合設備:必需通過數(shù)據(jù)文件才能播放。 Multimedia MCI控件支持的部分多媒體設備:見P 192表9-4 例:使用Multimedia MCI控件MMControl1播放avi文件,需要首先做以下設置: MMControl1.DeviceType = AVIVideo 2) FileName:指定Open命令將要打開的或者Save命令將要保存的文件。例如: MMCont
26、rol1.FileName = d:clock.avi,69,3) Command:指定將要執(zhí)行的MCI命令,見P192 表9-5 例:打開指定的.avi文件并開始播放: MMControl1.DeviceType = AVIVideo MMControl1.FileName = d:clock.avi MMControl1.Command = open MMControl1.Command = play“ 例:在窗體上添加一個Multimedia MCI控件之后,在窗體的Load事件過程中編寫如下代碼,即可播放一張CD盤。 MMControl1.DeviceType = cdaudio MM
27、Control1.Command = open MMControl1.Command = play,70,4) AutoEnable:決定Multimedia MCI控件是否能夠自動啟動或關(guān)閉控件中的某個按鈕。僅在Enabled屬性被設置為True的前提下才起作用。 5) ButtonEnabled:啟用或禁用控件中的某個按鈕。只有當Enabled屬性為True、AutoEnable屬性為False時起作用。具體使用時應將Button替換成相應的按鈕名稱。 例如:MMControl1.EjectEnabled = False 6) ButtonVisible:決定指定的按鈕是否在控件中顯示。只
28、有當Visible屬性為True時起作用。 例如:MMControl1.RecordVisible = False 7) Frames:指定Step或Back命令步進的幀數(shù)。 例如:MMControl1.Frames = 10,71,8) From:規(guī)定Play或Record命令的起始點。 9) To:規(guī)定Play或Record命令的結(jié)束點。 10) Length:返回打開的MCI設備上的媒體長度。 11) Position:返回打開的MCI設備的當前位置。 12) Start:返回當前媒體的起始位置。 13) Tracks:返回當前所使用的設備的音軌數(shù)。對于CD唱片,Tracks屬性指的是一
29、張盤中共有多少個曲目。 14) Track:用于指定音軌。 15) TrackPosition:返回Track屬性給出的音軌的起始位置。,72,16) TrackLength:返回Track屬性給出的音軌的長度。 17) hWndDisplay:對于利用窗口顯示輸出結(jié)果的設備,該屬性用于為其規(guī)定輸出窗口。該屬性在設計時不可用。使用時可以為該屬性指定一個MCI設備輸出窗口的句柄。如果句柄為0,則使用缺省窗口來顯示。 在Visual Basic中,窗體和控件都有句柄,可以通過其hWnd屬性獲得。 例如,可以使用語句: MMControl1.hWndDisplay = Picture1.hWnd 來
30、指定輸出窗口為圖片框Picture1。,73,2事件 ButtonClick:當用戶單擊MCI控件上的按鈕時產(chǎn)生該事件,其事件過程如下: Private Sub MMControl1_ButtonClick(Cancel As Integer) End Sub Button:Prev、Next、Play、Pause、Back、Step、Stop、Record或Eject。 例如,以下為Pause按鈕對應的事件過程: Private Sub MMControl1_PauseClick(Cancel As Integer) End Sub,74,【例9-13】利用Multimedia MCI控件在
31、指定的圖片框中播放.avi文件。,運行界面:,75,Private Sub Form_Load() MMControl1.DeviceType = AVIVideo MMControl1.FileName = App.Path & _ SEARCH.AVI MMControl1.RecordVisible = False MMControl1.EjectVisible = False MMControl1.Command = open MMControl1.hWndDisplay = Picture1.hWnd End Sub,1) 在窗體的Load事件過程中編寫如下代碼:,Private S
32、ub Form_Unload(Cancel As Integer) MMControl1.Command = stop End Sub,2)在窗體的Unload事件過程中執(zhí)行Stop命令:,76,9.4.4 其他常用的動畫控件和多媒體控件,【例9-14】使用WindowsMediaPlayer控件給應用程序添加背景音樂。,1)向工具箱添加WindowsMediaPlayer控件: 工程|部件選擇“Windows Media Palyer” 2)向窗體上添加一個WindowsMediaPlayer控件: 名稱:WindowsMediaPlayer1 3)設置屬性: 打開WindowsMediaP
33、layer1 的屬性頁對話框,在其“常規(guī)”選項卡的“選擇模式”下拉列表中選擇“Invisible”,單擊“確定”后該控件變?yōu)椴豢梢姟?界面設計:,77,代碼設計:,Private Sub Form_Load() WindowsMediaPlayer1.URL = _ App.Path & 賽馬.MP3 WindowsMediaPlayer1.Controls.play WindowsMediaPlayer1.settings.setMode _ loop, True 循環(huán)播放 End Sub,78,【例9-15】使用WebBrowser控件播放Gif動畫。,1)向工具箱添加WebBrowser 控件: 工程|部件選擇“Microsof Internet Controls” 2)向窗體上添加一個WebBrowser 控件: 名稱: WebBrowser 1,界面設計:,79,代碼設計:,Private Sub Form_Load() WebBrowser1.Navigate (App.Path & 貓.gif) End Sub,運行界面:,80,【例9-16】使用ShockwaveFlash控件播放Flash動畫,1)向工具箱添加Shockwave Flash 控件: 工程|部件選擇“Shockwave Flash ” 2)向窗體上添
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版土地流轉(zhuǎn)承包項目合作開發(fā)投資合同范本3篇
- 2025年代理費用協(xié)議范本
- 2025年銷售人員任職協(xié)議書:互聯(lián)網(wǎng)銷售團隊建設協(xié)議2篇
- 2025年度風力發(fā)電場建設與運營合同范本4篇
- 二零二五年藝術(shù)品鑒定兼職人員保密責任書3篇
- 基于2025年度房產(chǎn)政策的商品房銷售合同
- 2025年度跨境電子商務稅收風險擔保協(xié)議4篇
- 二零二五年度直播主播與影視作品合作合同
- 2025年度供應鏈金融貨物沖抵貨款風險控制協(xié)議
- 二零二五年度門面房房屋租賃押金合同
- 寒潮雨雪應急預案范文(2篇)
- 垃圾車駕駛員聘用合同
- 變壓器搬遷施工方案
- 單位轉(zhuǎn)賬個人合同模板
- 八年級語文下冊 成語故事 第十五課 諱疾忌醫(yī) 第六課時 口語交際教案 新教版(漢語)
- 2024年1月高考適應性測試“九省聯(lián)考”數(shù)學 試題(學生版+解析版)
- EPC項目采購階段質(zhì)量保證措施
- T-NAHIEM 101-2023 急診科建設與設備配置標準
- 四川2024年專業(yè)技術(shù)人員公需科目“數(shù)字經(jīng)濟與驅(qū)動發(fā)展”參考答案(通用版)
- 煤炭裝卸服務合同
- 廣東省佛山市順德區(qū)2023學年中考一模物理試題(含答案解析)
評論
0/150
提交評論