版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、應(yīng)用程序界面設(shè)計第一節(jié) VB模塊設(shè)計,模塊:可以完成一個或若干個功能的程序快,稱為“過程”。 一、VB中過程概述 1。三種過程,1)事件過程:事件響應(yīng)時執(zhí)行的過程就是事件過程 ,事件過程名為“對象名_事件名” 。 (2)通用過程 子過程(SUB):不返回值,可以作為獨立的基本語句調(diào)用 函數(shù)過程(Function):返回一個值。 (3)屬性過程:屬性過程可以用來返回和設(shè)置屬性的值,2創(chuàng)建通用過程 (1)使用“添加過程”對話 單擊“工具”菜單中的“添加過程”命令,打開“添加過程”對話框,2)在代碼編輯窗口中輸入 Private|Public Static Sub 子過程名(參數(shù)表) 語句塊 Exi
2、t Sub End Sub,說明:VB默認的過程是Public,表示在應(yīng)用程序中隨處都可調(diào)用它們;如用Private,則只有該過程所在模塊中的程序才能調(diào)用,注意函數(shù)過程一般應(yīng)有: 函數(shù)過程名=表達式,3調(diào)用子過程 (SUB過程,1)使用Call語句: Call (2)直接使用過程名:,說明: 用Call語句調(diào)用時,其過程名后必須加括號。 若省略Call,則過程名后不能加括號 例如,下面兩個語句都能調(diào)用jiech子過程: Call Jiech(20) Jiech 20,4調(diào)用函數(shù)過程 (Function過程,1)直接使用過程名: (2)使用Call語句: Call 說明:調(diào)用有實參時,其過程名后
3、必須加括號。 例如 :Jiech(20) Call Jiech(20,子過程不加括號,調(diào)用方法:Print pri,3)無參函數(shù)的調(diào)用: 如:Function pri pri =”ASDFJKL” End Function,5函數(shù)過程使用示例,例1(8-3)設(shè)計應(yīng)用程序,使用兩種過程計算整數(shù)1n中奇數(shù)的階乘的和 。(vb81L8-3,Public Function qjc(p) m = 1 For j = 1 To p m = m * j Next j qjc = m End Function,Public Sub qjc(p, m) m = 1 For j = 1 To p m = m *
4、j Next j End Sub,主程序: 將文本框內(nèi)容賦n 循環(huán)調(diào)函數(shù)求階乘和 輸出階乘值,Private Sub Command1_Click() Dim i%, n% Dim s As Long n = Val(Text1.Text) s = 0 For i = 1 To n Step 2 s = s + qjc(i) Next i Label3.Caption = s End Sub,Private Sub Command1_Click() Dim i%, n% Dim t As Long, s As Long n = Val(Text1.Text) s = 0 For i = 1 T
5、o n Step 2 Call qjc(i, t) s = s + t Next i Label3.Caption = s End Sub,6.子過程與函數(shù)過程區(qū)別,1) 函數(shù)過程:有返回值,有類型,在函數(shù)體內(nèi)至少賦值一次; 子過程無返回值,無類型,過程體內(nèi)不能對過程名賦值; (2) 調(diào)用時,子過程調(diào)用是一句獨立的語句。 函數(shù)過程不能作為單獨語句調(diào)用,必參與表達式運算。 (3)* 一般當過程有一個函數(shù)值,使用函數(shù)過程較直觀;反之,若過程無返回值或有多個返回值,使用子過程。 注意: 子過程的返回值是靠參數(shù)的傳遞實現(xiàn)的,四、 模塊結(jié)構(gòu),1窗體模塊 每個窗體對應(yīng)一個窗體模塊,窗體模塊包括窗體及其控件
6、的屬性設(shè)置、窗體變量的說明、事件過程、通用過程等,2標準模塊 可包含公有或模塊級的變量、常數(shù)、類型,外部過程和全局過程的全局聲明或模塊級聲明。默認時,標準模塊中的代碼是公有的;它保存在.bas的文件中,3類模塊 用戶可以在類模塊中編寫代碼建立新對象,這些新對象可以包含自定義屬性和方法,五、變量與過程的作用域,1變量的作用域 變量的作用域是指變量的作用范圍,1)局部變量:在過程內(nèi)用Dim聲明的變量,只可本過程用。 (2)窗體/模塊級:在窗體/模塊任何過程外定義,即在“通用聲明”段用Dim或Private聲明,只本窗體或模塊中的過程使用。 (3)全局級:在“通用聲明”段用Public語句聲明的變量
7、,可供該應(yīng)用程序所有過程或函數(shù)使用,例如在下面一個窗體或標準模塊文件中不同級的變量聲明: Public Pa As integer Private Mb As string *10 Private Sub F1( ) Dim Fa As integer End Sub Private Sub F2( ) Dim Fb As Single End Sub,全局變量,窗體/模塊級變量,局部變量,局部變量,在講復(fù)制、剪切時,為什么將st設(shè)為窗體級變量?(見P188,2。變量的生存期,根據(jù)變量在程序運行期間的生命周期,變量可分為動態(tài)變量和靜態(tài)變量。 動態(tài)變量(Dynamic) 指程序運行到變量所在的過
8、程時,才分配該變量的內(nèi)存單元;退出該過程后,該單元自動釋放,其值消失。使用Dim語句在過程中聲明的局部變量屬于動態(tài)變量,靜態(tài)變量(Static) 指程序運行到該變量所在的過程,退出該過程,其值仍被保留。 使用Static語句在過程中聲明的局部變量屬于靜態(tài)變量,例2(8-6)設(shè)計一個模擬幸運數(shù)字機游戲。設(shè)幸運數(shù)字為8,每次由計算機隨機產(chǎn)生三個010之間的隨機數(shù),當這三個隨機數(shù)中有一個數(shù)字為8時,就算贏了一次。要求利用全局變量來累計獲勝次數(shù)。 (vb81L8-6,Private Sub Form_Load() Randomize End Sub,初始化隨機數(shù),Public n, w Private
9、 Sub Command1_Click() Label1.Caption = Int(Rnd * 10) 產(chǎn)生隨機數(shù) Label2.Caption = Int(Rnd * 10) 產(chǎn)生隨機數(shù) Label3.Caption = Int(Rnd * 10) 產(chǎn)生隨機數(shù) n = n + 1 累計產(chǎn)生隨機數(shù)的次數(shù) If (Label1.Caption = 8) Or (Label2.Caption = 8) Or (Label3.Caption = 8) Then Beep w = w + 1 使用全局變量,累計獲勝的次數(shù) Label4.Caption = 共產(chǎn)生了 a, B1=; b a = 10:
10、 b = 20: Swap2 a, b 傳地址 Print A2=; a, B2=; bnd Sub,Sub Swap2(x%, y%) t = x : x = y : y = t End Sub,默認為:Public,運行 結(jié)果,A1=10 B1=20 A2=20 B2=10,2過程的作用域,VB中過程的作用域分為模塊級和全局級。 (1)模塊級過程 某個模塊內(nèi)定義的過程,其作用域為本模塊。 定義方法:在Sub或Function前加關(guān)鍵字Private,這樣該過程只能被在本模塊中定義的過程調(diào)用,2)全局級過程 全局級過程可被整個應(yīng)用程序(工程)所有模塊中定義的過程調(diào)用,其作用域為整個應(yīng)用程序。
11、 定義方法是:在Sub或Fuction前加關(guān)鍵字Public(可以默認,上機作業(yè): 1. 編程,通過查找子過程查找數(shù)組a(10)中任意元素的位置,若沒找到,給出信息。 a(10)為2,5,4,8,12,9,1,25,16,3 2。P57 4章 實驗四的實驗題目 3。 P66 5章 實驗一的四、實驗題目 4。上冊 P231 例7-7,復(fù) 習,1)局部變量:在過程內(nèi)用Dim聲明的變量,只可本過程用;在過程內(nèi)用Static聲明的變量為靜態(tài)局部變量。 (2)窗體/模塊級:在窗體/模塊任何過程外定義,即在“通用聲明”段用Dim或Private聲明,只本窗體或模塊中的過程使用。 (3)全局級:在“通用聲明
12、”段用Public語句聲明的變量,可供該應(yīng)用程序所有過程或函數(shù)使用,1。變量分幾種?如何定義?其作用范圍是什么,2。在下面一個窗體或標準模塊文件中不同級的變量聲明: Public Pa As integer Private Mb As string *10 Private Sub F1( ) Dim Fa As integer End Sub Private Sub F2( ) Static Fb As Single End Sub,全局變量,窗體/模塊級變量,局部變量,靜態(tài)局部變量,8.2 公共對話框(CommonDialog,1。添加公共(通用)對話框到工具箱,2。打開公共對話框,屬性 (
13、1)Action:打開通用對話框。 (2)DialogTiltle:通用對話框標題。(有默認,也可自己設(shè))。 (3)CancelError True:選擇“取消”按鈕,出現(xiàn)錯誤警告; Err.Number置為32755(cdCancel)。 False(缺省):選擇“取消”按鈕,沒有錯誤警告,屬性:FileName:包含路徑 FileTitle:該屬性設(shè)計時無效, 返回文件名(不包含路徑) Filter:用于過濾文件類型,格式:文件說明|文件類型 例如: Word文檔 (*.Doc)|*.DOC | 文本文件(*.TXT) |*.txt |所有文件|*.* FilterIndex:文件類型列表
14、框中顯示第幾組類型文件。從1開始。 InitDir:指定打開對話框的初始目錄,默認當前目錄,2. “打開”文件對話框,DialogTiltle,FileName,InitDir,Filter,FilterIndex,DefaultExt,例1(8-9)這是一個使用公共對話框控件的例子 。(vb82l8-9,CommonDialog1.InitDir = c:“ CommonDialog1.Filter = all files|*.*|(*.exe)|*.exe CommonDialog1.FilterIndex = 1 CommonDialog1.Action = 1 Text1.Text =
15、 CommonDialog1.FileName,ShowOpen,用控件數(shù)組設(shè)置命令按鈕,Private Sub Command1_Click(Index As Integer) n = Index Select Case n Case 0 實現(xiàn)打開對話框的操作 CommonDialog1.Filter = all files|*.*|(*.exe)|*.exe CommonDialog1.FilterIndex = 1 CommonDialog1.ShowOpen Text1.Text = CommonDialog1.FileName Frame1.Caption = 從打開對話框返回,Ac
16、tion = 1,3. “另存為”對話框 屬性: 與“打開”對話框類似。 DefaultExt:所存文件的缺省擴展名,4. “顏色”對話框 屬性Color: 返回或設(shè)置選定的顏色。 例1中“顏色”按鈕的事件過程 如: CommonDialog1.ShowColor Text1.ForeColor = CommonDialog1.Color,Case 1 實現(xiàn)另存為對話框的操作 CommonDialog1.DefaultExt = txt CommonDialog1.Filter = all files|*.*|文本文件|*.txt| CommonDialog1.FilterIndex = 2
17、CommonDialog1.ShowSave Text1.Text = CommonDialog1.FileName Frame1.Caption = 從另存為對話框返回,Case 2 實現(xiàn)顏色對話框的操作 CommonDialog1.ShowColor Text1.Text = 文本顏色的改變 Text1.ForeColor = CommonDialog1.Color Frame1.Caption = 從顏色對話框返回,Action = 3,5. “字體”對話框,5. “字體”對話框,Flags屬性:指示所顯示的字體類型,必須設(shè)置。 cdlCFScreenFonts (2) Drag方法,四
18、、鼠標拖放(Drag and Drop,當DragMode為0(手動方式)時,需用 Drag方法啟動拖放: 控件名稱.Drag 參數(shù) 0:取消拖放操作 1(省略):開始拖放操作; 如:picture1.Drag 1,例4.拖放應(yīng)用示例 (vb84L8-16) 將Picturel.DragMode設(shè)置為1(Automatic) Private Sub Form_DragDrop(Source As Control, X As Sin) Picture1.Move (X - Picture1.Width / 2), (Y - Picture1.Height / 2) Picture1.Move X
19、, Y End Sub Private Sub Label1_DragOver(Source As Control, X As Sin) Picture1.Drag 0 End Sub,3)DragDrop (拖放)事件,注意:一般控件的拖放在窗體上進行,不能拖放到其他控件內(nèi),4) DragIcon屬性,拖動過程中顯示的圖標(Ico或Cur文件)。 Label11.DragIcon=LoadPicture (C:IconsMail.ico) Mail.ico文件作為拖動標簽1時顯示的圖標。 也可在屬性窗口設(shè)置對象的 DragIcon屬性(在c:windowsucdosico中有很多.ico,例
20、5(8-17)拖放應(yīng)用示例 (vb84L8-17,Private Sub Image1_MouseDown(Button As Int) If Button = 1 Then Image1.DragIcon = Image1.Picture Image1必為圖標圖形 Image1.Drag 1 End If End Sub Private Sub Picture1_DragDrop(Source As Co ) If TypeOf Source Is Image Then Picture1.Picture = Source.Picture Source.Picture=false Else M
21、sgBox (Erron) End If End Sub,用TypeOf判斷對象的控件類型,五、OLE 拖放 將數(shù)據(jù)從一控件或應(yīng)用程序拖到另一控件或應(yīng)用程序,例6(加)將兩文本框中內(nèi)容相互拖放,也可拖放到Word或?qū)懽职逯小?vb84L17j) OLEDragMode屬性設(shè)1; OLEDropMode屬性設(shè)2,1) OLEDragMode屬性(源控件設(shè)置) 0-Manual:缺省,手工 1-Automatic:自動 (2) OLEDropMode屬性(目標控件設(shè)置) 0-None:缺省,目標控件不接受“放” 1-Manual:手工實現(xiàn)“放”操作。 2-Automatic:自動實現(xiàn)“放,按Ctrl同時拖可復(fù)制,3)支持OLE不同拖放操作的控件 a. 完全支持自動OLE拖放的控件:可全設(shè)自動 PictureBox Image TextBox。 b. 支
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文書模板-應(yīng)急救護長校培訓(xùn)協(xié)議書
- 音樂教學(xué)新方法:《童心是小鳥》課件
- 2024年教育改革:《爐中煤》課件的優(yōu)化路徑
- 2024年故宮課件:古代皇家生活與習俗的再現(xiàn)
- 2024年春季特輯:幼兒園數(shù)學(xué)教學(xué)
- 必修二專題三第20課時偉大的歷史性轉(zhuǎn)折及走向社會主義現(xiàn)代化建設(shè)新階段
- 2024年幼兒園大班《家》語言教案探析
- 2021年國貿(mào)專業(yè)畢業(yè)論文題目-.10審核結(jié)果
- 地中海風格全解析
- 2024年VB程序設(shè)計課程教案:理論與實踐相結(jié)合
- 人教版 九年級化學(xué)上冊 第六單元 碳和碳的氧化物 課題2 二氧化碳的制取研究 說課稿
- 2023人民音樂出版社招聘7人筆試參考題庫(共500題)答案詳解版
- 第19課《小站》課件(共18張)(五四學(xué)制)語文六年級上冊
- 高中期中考試成績分析主題班會課件
- 智慧醫(yī)療人工智能的應(yīng)用
- 行業(yè)變革下的專業(yè)知識更新與迭代
- 內(nèi)蒙古自治區(qū)2021-2022學(xué)年普通高中學(xué)業(yè)水平考試(高二會考)英語真題
- 《草船借箭》教學(xué)案例(5篇)
- 房屋租賃運營服務(wù)投標方案(技術(shù)方案)
- 第三章地圖數(shù)學(xué)基礎(chǔ)
- 人教部編版語文四年級上冊第四單元同步練習及答案
評論
0/150
提交評論