全國(guó)二級(jí)VB教程補(bǔ)充內(nèi)容

上傳人:san****019 文檔編號(hào):15759541 上傳時(shí)間:2020-09-03 格式:PPT 頁數(shù):87 大?。?73.10KB
收藏 版權(quán)申訴 舉報(bào) 下載
全國(guó)二級(jí)VB教程補(bǔ)充內(nèi)容_第1頁
第1頁 / 共87頁
全國(guó)二級(jí)VB教程補(bǔ)充內(nèi)容_第2頁
第2頁 / 共87頁
全國(guó)二級(jí)VB教程補(bǔ)充內(nèi)容_第3頁
第3頁 / 共87頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《全國(guó)二級(jí)VB教程補(bǔ)充內(nèi)容》由會(huì)員分享,可在線閱讀,更多相關(guān)《全國(guó)二級(jí)VB教程補(bǔ)充內(nèi)容(87頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、1,對(duì)江蘇版新編Visual Basic程序設(shè)計(jì)教程的補(bǔ)充,全國(guó)計(jì)算機(jī)等級(jí)考試 二級(jí)VB教程,紡織服裝學(xué)院數(shù)字紡織教研室 2010.6.8,2,說明:,本教學(xué)內(nèi)容是對(duì)江蘇省高校新編 Visual Basic程序設(shè)計(jì)教程的補(bǔ)充。 文中表述時(shí)采用的白色文字,表示為已學(xué)過的知識(shí),目的是使新講述的知識(shí)與原有知識(shí)進(jìn)行有機(jī)銜接。 文中表述時(shí)采用的黃色(含其它顏色)文字,表示為新知識(shí)。 程序代碼通常使用白色。,3,一、制作工具欄,工具欄為Windows98 / 2000 / XP 應(yīng)用程序常用的標(biāo)準(zhǔn)功能。它提供菜單命令的快速訪問。,(一) 使用控件創(chuàng)建工具欄,1、首先在工具箱中添加“Toolbar控件”(工

2、具欄控件)與“ImageList控件”(圖象列表控件),方法:將鼠標(biāo)移到工具箱上,單擊鼠標(biāo)右鍵,選擇“部件”。在控件標(biāo)簽下選擇“MicrosoftWindows Common Controls 6.0”, 單擊確定按鈕。,注意:在專業(yè)版和企業(yè)版才有此功能。,下轉(zhuǎn) 創(chuàng)建工具欄 完成的工具欄,4,a,b,c,下轉(zhuǎn) 創(chuàng)建工具欄 需制作的工具欄,5,2、將“Toolbar控件”與“ImageList控件”放到窗體中,Toolbar控件,ImageList控件,Toolbar對(duì)象,ImageList 對(duì)象,6,3、將按鈕圖形文件加到“ImageList控件”中。此控件主要是管理圖像文件。,方法:選中Im

3、ageList控件,單擊鼠標(biāo)右鍵,選擇 “屬性”,出現(xiàn)以下窗口。選擇 “圖像” 標(biāo)簽”。,7,單擊 “插入圖片” 按鈕,在某個(gè)文件夾下找到要使用的圖片,并為每個(gè)圖片指定一 個(gè)關(guān)鍵字。單擊 “確定” 按鈕。,下轉(zhuǎn) 創(chuàng)建工具欄 需制作的工具欄,8,4、使用“Toolbar控件”建立按鈕。方法:選中“Toolbar控件”,單擊鼠標(biāo)右鍵,選擇“屬性”。出現(xiàn)如下窗口。,9,在“通用”標(biāo)簽下,在“圖像列表”下拉列表中選擇 ImageList 1 對(duì)象。,10,在 “按鈕” 標(biāo)簽下,單擊 “插入按鈕”,在關(guān)鍵字處輸入 “new”, 在工具提示文本中輸入 “新建”,在圖像中輸入 “1”,單擊 “確定” 按鈕。

4、這時(shí)在工具欄按鈕上出現(xiàn)圖像。 重復(fù)以上步驟,將能創(chuàng)建多個(gè)工具欄按鈕。,在程序代碼中出現(xiàn)的按鈕名稱。(必須要),注:必要時(shí) 可加標(biāo)題,下轉(zhuǎn) 創(chuàng)建工具欄 需制作的工具欄,11,完成的工具欄,添加了標(biāo)題的工具欄,添加了工具提示文本的效果,12,5、輸入各個(gè)按鈕的程序代碼,在設(shè)計(jì)狀態(tài),雙擊“Toolbar”對(duì)象,出現(xiàn)代碼窗口。,Private Sub Toolbar1_ButtonClick (ByVal Button As MSComctlLib.Button) Select Case Button.Key Case new Label1.Caption = “ 新建一個(gè)文擋! Case open

5、Label1.Caption = “ 打開一個(gè)文擋!” Case ”save” Label1.Caption = ” 保存一個(gè)文擋! Case print Label1.Caption = “ 打印一個(gè)文擋! End Select End Sub,13,(二)補(bǔ)充知識(shí): 創(chuàng)建多窗體界面的二 種情況: 1、在一個(gè)工程中創(chuàng)建 多個(gè)并列窗體。 下轉(zhuǎn)VB開發(fā)環(huán)境作演示 2、在一個(gè)工程中創(chuàng)建 具有父子結(jié)構(gòu)的MDI 多窗體界面。 下轉(zhuǎn)VB開發(fā)環(huán)境作演示,并 列 窗 體,父窗體,子窗體,14,舉例:創(chuàng)建一個(gè)MDI窗體。一個(gè)父窗體,二個(gè) 子窗體。在父窗體上制作一個(gè)菜單欄,菜單名 分別為窗體1、窗體2,并編程。

6、 要求:當(dāng)點(diǎn)擊某菜單項(xiàng)時(shí),相應(yīng)的子窗體在父 窗體中顯示。,15,Option Explicit Private Sub mnu1_Click() Form1.Show Form2.Hide End Sub Private Sub mnu2_Click() Form2.Show Form1.Hide End Sub,菜單項(xiàng)編程:,下轉(zhuǎn) MDI窗體演示,16,二、VB控制結(jié)構(gòu)及其語句,(一)分支結(jié)構(gòu)語句 1、單分支結(jié)構(gòu)語句 If e Then 或: If e Then End If 2、雙分支(標(biāo)準(zhǔn))結(jié)構(gòu)語句 If e Then Else End If,3、多分支結(jié)構(gòu)語句 If e1 Then E

7、lseif e2 Then Elseif e3 Then Else End If,17,4、并列分支結(jié)構(gòu)語句(亦稱情況語句) Select Case e Case c1 Case c2 Case Else End Select,5、IIf 函數(shù) (1) IIf函數(shù)是“If-Then-Else”結(jié)構(gòu)的簡(jiǎn)寫版本,可用來執(zhí)行簡(jiǎn)單的條件判斷操作。 IIf是 “ Immediate If ”的縮略詞。 (2)函數(shù)格式: result=Iif (條件,True部分,F(xiàn)alse部分) 說明:1)result指函數(shù)的返回值 2)“條件”是一個(gè)邏輯表達(dá)式,,18,當(dāng)條件為真時(shí),Iif函數(shù)返回“True部分”,而

8、當(dāng)條件為假時(shí),返回“False部分”。 3)“True”或“False部分”可以是表達(dá)式、變量或其他函數(shù)。 4)Iif函數(shù)中的3個(gè)參數(shù)都不能省略。 舉例1 : 相當(dāng)于: r=Iif(a5,1,2) If a5 Then Print r r=1 Else r=2 End if Print r,下轉(zhuǎn):二VB控制結(jié)構(gòu)及其語句-1,19,舉例2:使用IIF函數(shù)判斷D的值,試直接采用Print語句輸出結(jié)果。,下轉(zhuǎn):二VB控制結(jié)構(gòu)及其語句-2,Private Sub Form_Click() Dim d As Integer d = InputBox(請(qǐng)輸入D值, 直接采用Print, 0) Print

9、IIf(d 12, D大于12, D小于12) End Sub,舉例3:試求分段函數(shù) y=,4 + 3x x=0,下轉(zhuǎn):二VB控制結(jié)構(gòu)及其語句-3,Private Sub Command1_Click() Dim x As Integer, y As Integer x = InputBox(, , 0) y = IIf(x 0, 4 + 3 * x, 10 - x) Text1.Text = y End Sub,20,(二)無條件轉(zhuǎn)向語句GoTo 1、概念:Goto語句用于無條件改變程序執(zhí)行的順序。例如跳過程序的某一部分去執(zhí)行另一部分,或返回已經(jīng)執(zhí)行過的某語句使之重復(fù)執(zhí)行。 2、語句格式:

10、GoTo 標(biāo)號(hào) | 行號(hào) 說明:1)標(biāo)號(hào) | 行號(hào)用于指明程序?qū)⑥D(zhuǎn)移至的目標(biāo) 語句的邏輯位置。 2)標(biāo)號(hào)是一個(gè)以字母開頭的標(biāo)識(shí)符,其后必 帶冒號(hào)。例如 again: ,start: 。行號(hào)是以數(shù)字表示的。 例如:10,20,258等。在程序中標(biāo)號(hào)、行號(hào)必須是 惟一的。 3)GoTo語句總是在一個(gè)過程中使用。,21,舉例4:從鍵盤輸入a,b,c三個(gè)值,判斷a+b是否小于c,若 滿足則結(jié)束程序。試采用GoTo語句,且僅使用行號(hào)。,下轉(zhuǎn):二VB控制結(jié)構(gòu)及其語句-4,Private Sub Form_Click() Dim a As Single, b As Single, c As Single 1

11、0 a = Val(InputBox(請(qǐng)輸入A值) b = Val(InputBox(請(qǐng)輸入B值) c = Val(InputBox(請(qǐng)輸入C值) If a + b =c,繼續(xù)輸入! GoTo 10 50 Print a; b; c; a+bc,結(jié)束! End Sub,行號(hào),22,舉例5:仍為上題,試采用GoTo語句,且將行號(hào)與標(biāo) 號(hào)復(fù)合使用。,下轉(zhuǎn):二VB控制結(jié)構(gòu)及其語句-5,Private Sub Form_Click() Dim a As Single, b As Single, c As Single Start: a = Val(InputBox(請(qǐng)輸入A值) b = Val(Inp

12、utBox(請(qǐng)輸入B值) c = Val(InputBox(請(qǐng)輸入C值) If a + b =c,繼續(xù)輸入! GoTo Start 50 Print a; b; c; a+bc,結(jié)束! End Sub,行號(hào),標(biāo)號(hào),23,舉例6:試采用GoTo語句設(shè)計(jì)一個(gè)計(jì)算 n! 階乘。 Private Sub Command1_Click() Dim k As Integer, i As Integer, n As Integer n = Val(InputBox(請(qǐng)輸入 n 的值, 求N的階乘, 2) k = 1: i = 1 Again: k = k * i i = i + 1 If i = n The

13、n GoTo Again Else GoTo 500 End If 500 Print n; ! = ; k End Sub,下轉(zhuǎn):二VB控制結(jié)構(gòu)及其語句-6,求n階乘的值 求次數(shù) 判斷I值,24,(三)具有并列分支結(jié)構(gòu)功能的 On - GoTo語句 1)功能:實(shí)現(xiàn)并列分支功能,依據(jù)條件判斷從多種處 理方案中選擇一種。 2)格式: On 數(shù)值表達(dá)式 GoTo 行號(hào)表列 | 標(biāo)號(hào)表列 3)On - GoTo 語句執(zhí)行過程: 首先計(jì)算“數(shù)值表達(dá)式”的值,若為小數(shù)則自動(dòng)四舍 五入求整,之后依據(jù)該值決定轉(zhuǎn)移到第幾行號(hào)或標(biāo)號(hào)。 On k GoTo 行/標(biāo)1, 行/標(biāo)2, 行/標(biāo)3, 行號(hào)/標(biāo)號(hào)4 k=1

14、 k=2 k=3 k=4,25,舉例7:設(shè)某時(shí)期的銀行存款年利率如下: 1-活期 2.5% 2-定期一年 5% 3-定期二年 7.5% 4-定期三年 9% 5-定期五年 11% 6-定期八年 13% 以上1、2 6代表存款類別,從鍵盤輸入存款類別, 計(jì)算出一年后所得的本利之和。試應(yīng)用 on-GoTo語句 編寫程序。 令:存款額為 A 存款類別為 k 利率為 P 解:,26,A、用戶界面:,27,Private Sub Command1_Click() Dim a As Single, k As Integer, p As Single Text1.SetFocus a = Val(Text1.

15、Text) Text2.SetFocus k = Val(Text2.Text) If k 6 Then k = 6 On k GoTo 10, start, 30, 40, 50, 60 10 p = 0.025 GoTo 100 start: p = 0.05 :GoTo 100 30 p = 0.075 : GoTo 100 40 p = 0.09 : GoTo 100 50 p = 0.11 : GoTo 100 60 p = 0.13 : GoTo 100 100 Text3 = Str(Format(a * p, 00#,#.#) Text4 = Str(Format(a * (1

16、 + p), 00#,#,#.#) End Sub,B、用戶程序:,A - 存款額 K - 存款類別 P - 利率,28,Private Sub Command2_Click() Text1 = Text2 = Text3 = Text4 = Text1.SetFocus End Sub Private Sub Command3_Click() Unload Me End Sub,下轉(zhuǎn):二VB控制結(jié)構(gòu)及其語句-7,注意:在實(shí)際編程時(shí),無特別的必要,請(qǐng)不要使用 GoTo 語句與 On - GoTo 語句,因?yàn)樵诔绦蜉^長(zhǎng)時(shí)易使程序走向紊亂,造成編程錯(cuò)誤!僅在考試時(shí)試題要求時(shí)才應(yīng)用!,29,三、鍵盤

17、 KeyAscii Print End Sub,32,舉例:設(shè)計(jì)一個(gè)能對(duì)輸入值進(jìn)行限止、分流的應(yīng)用程序。其中阿拉伯?dāng)?shù)字0(ASCII碼 48)- 9(ASCII碼 57)在Text1中回顯。除此不充許,僅在Text2中顯示。,下轉(zhuǎn):第三部分 鍵盤與鼠標(biāo)事件 - 3,Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii 57 Then MsgBox “不充許!在Text2中顯示, 16 Text2.Text = Text2 KeyAscii End Sub Private Sub Command1_Click() Text1 =

18、學(xué)習(xí)VB” End Sub Private Sub Command2_Click() End End Sub,無法顯示,34,7、KeyPress事件可作用的對(duì)象有: 窗體、文本框、滾動(dòng)條、列表框、圖片框、復(fù)選框 組合框、命令按鈕以及與文件有關(guān)的控件。 不能響應(yīng)該事件(即無鍵盤焦點(diǎn))的有:標(biāo)簽框、框架、圖像框、時(shí)鐘等。,35,(二)鍵盤的KeyDown(按下)和KeyUp(抬起)事件,1、 KeyDown、KeyUp事件的一般格式: Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer) End Sub Private Sub

19、 Form_KeyUp(KeyCode As Integer,Shift As Integer) End Sub,2、事件參數(shù):二種形式 1)KeyCode As Integer, Shift As Integer 用于單個(gè)控件(常 用) 2)Index As Integer 用于控件數(shù)組(不常用),3、參數(shù)含義: 復(fù)習(xí):我們已經(jīng)學(xué)過 KeyPress (KeyAscii) 返回“字符”的Ascii碼的值 例鍵 A:若鍵入的是大寫的 A,則值為 65 若鍵入的是小寫的 a,則值為 97,36,KeyDown (KeyCode) 返回“鍵”的值 KeyUp,“鍵”的值以大寫的字母的Ascii碼為

20、準(zhǔn)。例鍵“A”,無論是“A”還是“a”,值只有65。也就是說:KeyCode只認(rèn)“鍵”(不分大小寫)。 注意:大鍵盤上的數(shù)字鍵與小鍵盤(數(shù)字鍵盤)上相同的數(shù)字鍵的 KeyCode 是不一樣的。對(duì)于有上檔字符和下檔字符的鍵,其 KeyCode 均為下檔字符的Ascii碼值。以下是 KeyCode 與 KeyAscii 比較:,鍵(字符) KeyCode KeyAscii 鍵(字符) KeyCode KeyAscii A -; Hex(KeyCode); ; Print ElseIf KeyCode = 13 Then i = 0 Print: Print Else Print Chr(KeyCo

21、de); -; Hex(KeyCode); ; End If End Sub,1) 程序,38,下轉(zhuǎn):第三部分 鍵盤與鼠標(biāo)事件 - 5,2)用戶界面 鍵盤 KeyCode 碼表(十六進(jìn)制),A:41H = ( 4 * 16 1 +1 * 16 0 ) D= (64 + 1)D = 65D,AZ,1 0,F1F10,39,KeyDown (Shift) 返回3個(gè)轉(zhuǎn)換鍵(Shift、 KeyUp Ctrl、Alt)的二進(jìn)制值。,按下Shift鍵 001B 1D 按下Ctrl 鍵 010B 2D 按下 Alt 鍵 100B 4D 若以組合的形式同時(shí)按下以上二個(gè)或三個(gè)鍵,則Shift 參數(shù)返回的是二者

22、或三者之和值。,十進(jìn)制數(shù) 二進(jìn)制數(shù) 作用 十進(jìn)制數(shù) 二進(jìn)制數(shù) 作用 0 000 末按轉(zhuǎn)換鍵 4 100 按下Alt鍵 1 001 按下Shift鍵 5 101 按下Alt+Shift鍵 2 010 按下Ctrl鍵 6 110 按下Alt+Ctrl鍵 3 011 按下Ctrl+Shift鍵 7 111 按下Alt+Ctrl+Shift鍵,Shift參數(shù)表(三個(gè)轉(zhuǎn)換鍵編碼表),40,舉例6:在窗體上建立一個(gè)標(biāo)簽,將按鍵產(chǎn)生的KeyCode參數(shù)的值賦予標(biāo)簽的 Caption。以演示KeyCode的值,并驗(yàn)證 KeyDown(壓下)與 KeyUp(抬起)事件,下轉(zhuǎn):第三部分 鍵盤與鼠標(biāo)事件 - 6,O

23、ption Explicit Private Sub Form_KeyDown(KeyCode As_ Integer, Shift As Integer) Label1.Caption = Str(KeyCode) End Sub Private Sub Form_KeyUp(KeyCode As_ Integer, Shift As Integer) Label1.Caption = End Sub,按下A,抬起A,41,舉例7:在窗體上建立一個(gè)標(biāo)簽,將按鍵產(chǎn)生的 Shift參數(shù)的值賦予標(biāo)簽的 Caption。以演示 Shift 的值。并驗(yàn)證 KeyDown(壓下)事件,KeyUp(抬起)

24、事件,下轉(zhuǎn):第三部分 鍵盤與鼠標(biāo)事件 - 7,Option Explicit Private Sub Form_KeyDown(KeyCode As_ Integer, Shift As Integer) Label1.Caption = Str(Shift) End Sub Private Sub Form_KeyUp(KeyCode As_ Integer, Shift As Integer) Label1.Caption = “” End Sub,壓下Alt,42,舉例8:設(shè)計(jì)組合鍵( Shift +Ctrl)用于文本框Text1顯示“我愛中華”的功能 設(shè)計(jì)組合鍵(Shift+F2)用于

25、工程“退出”功能 預(yù)備知識(shí): VB規(guī)定:可用以下語句判斷是否操作了Shift、Ctrl、Alt 若按下了Shift鍵 則 Shift And Shift 0 若按下了Ctrl 鍵 則 Shift And Ctrl 0 若按下了 Alt 鍵 則 Shift And Alt 0,1)用戶界面:,1)用戶程序:,按下Shift+Ctrl,43,下轉(zhuǎn):第三部分 鍵盤與鼠標(biāo)事件 - 8,Option Explicit Private Const Shift = 1 Const用于定義符號(hào)常量Shift,以下同 Private Const ctrl = 2 Private Const key_F2 = x

26、 Form1.MousePointer = x x = x + 1 If x = 16 Then x = 0 End Sub,57,2、在屬性窗口中設(shè)置屬性,下轉(zhuǎn):第三部分 鍵盤與鼠標(biāo)事件 - 18,1)在設(shè)計(jì)態(tài)時(shí),選中某對(duì)象(窗體、控件)。 2)在屬性窗口中找到 MousePointer 屬性條,之后 在下拉菜單中選擇某屬性。,58,(五)鼠標(biāo)對(duì)對(duì)象的拖放,一、與拖放有關(guān)的屬性、事件和方法 1、DragMode 屬性 設(shè)置為人工拖放:屬性值 = 0(默認(rèn)) 設(shè)置為自動(dòng)拖放:屬性值 = 1 設(shè)置方法: (1)設(shè)計(jì)態(tài)時(shí)在屬性窗口中設(shè)置 (2)程序代碼中設(shè)置 例:pictuer1.DragMode

27、 = 1 注意:當(dāng)一個(gè)對(duì)象的 DragMode 屬性設(shè)置為1時(shí),該 對(duì)象不再響應(yīng) Click 和 MouseDown 事件。 2、DragIcon 屬性 在拖放對(duì)象時(shí)用于代表對(duì)象的圖標(biāo),59,二、事件 1、DragDrop事件 當(dāng)把對(duì)象拖放到目標(biāo)后,若抬起鼠標(biāo)鍵,則產(chǎn)生該事 件。 2、DragOver事件 當(dāng)拖動(dòng)對(duì)象越過一個(gè)控件時(shí),產(chǎn)生DragOver事件。 3、事件過程格式:,Private Sub Picture1_DragDrop(Source As Control, X As_ Single, Y As Single) End Sub,Private Sub Picture1_Drag

28、Over(Source As Control, X As_ Single, Y As Single,State As Intrger) End Sub,4、事件過程參數(shù): Source: 對(duì)象變量,類型為控件。該參數(shù)含有被拖,60,動(dòng)對(duì)象的屬性,例:if Source.Name=“Folder” Then 用來判斷被拖動(dòng)對(duì)象的 Name 屬性是否為“Folder”. X , y 參數(shù)是抬起鼠標(biāo)鍵放下對(duì)象時(shí)鼠標(biāo)光標(biāo)的位置。 State:有三個(gè)值。 0 鼠標(biāo)光標(biāo)正進(jìn)入目標(biāo)對(duì)象的區(qū)域 1 鼠標(biāo)光標(biāo)正退出目標(biāo)對(duì)象的區(qū)域 2 鼠標(biāo)光標(biāo)正位于目標(biāo)對(duì)象的區(qū)域之內(nèi) 三、方法: 方法有 Move 和 Drag,

29、 Drag 用于手動(dòng)拖放操作。 Drag 格式: 控件 . Drag 整數(shù) 0 取消指定控件的拖放 1 當(dāng)Drag方法出現(xiàn)在控件的事件過程中時(shí), 啟動(dòng)控件的拖放,61,2 結(jié)束控件的拖放,并發(fā)出一個(gè)DragDrop事件,四、鼠標(biāo)對(duì)對(duì)象的拖放 1、自動(dòng)拖放 舉例17:設(shè)計(jì)一個(gè)簡(jiǎn)單的自動(dòng)拖放實(shí)例 (不使用 Drag ) 1)在窗體上建立一個(gè)圖片框,框中裝入圖標(biāo)文件(在 設(shè)計(jì)態(tài)時(shí)于屬性窗口的 Picture 屬性中選取圖標(biāo)) 2)將屬性窗口的 DragMode 屬性設(shè)置為1-Automatic (即自動(dòng)拖放模式) 3)設(shè)計(jì)DragDrop事件過程,(一)用戶界面:,(二)用戶程序:,下轉(zhuǎn):第三部分

30、鍵盤與鼠標(biāo)事件 - 19,Private Sub Form_DragDrop(Source_ As Control, X As Single, Y As Single) Picture1.Move X, Y End Sub,圖標(biāo)可見,62,舉例18:設(shè)計(jì)一個(gè)簡(jiǎn)單的自動(dòng)拖放實(shí)例。要求:平時(shí) 圖標(biāo)不可見,運(yùn)行時(shí)圖標(biāo)才顯現(xiàn)。 1)在窗體上建立一個(gè)圖片框,框中裝入圖標(biāo)文件(在 設(shè)計(jì)態(tài)時(shí)于屬性窗口的 DragIcon 屬性中選取圖標(biāo),或 在程序代碼中指明裝入的圖標(biāo)的路徑) 2)將屬性窗口的DragMode屬性設(shè)計(jì)為1-Automatic (即自動(dòng)拖放模式) 3)設(shè)計(jì)DragDrop事件過程,(一)用戶界

31、面:,圖標(biāo)不可見,Private Sub Form_DragDrop(Source As Control, X As_ Single, Y As Single) Picture1.DragIcon = LoadPicture(d:tangClient.ico) Picture1.Move X, Y End Sub,(二)用戶程序:,下轉(zhuǎn):第三部分 鍵盤與鼠標(biāo)事件 - 20,63,2、手動(dòng)拖放,舉例19:一個(gè)手動(dòng)拖放實(shí)例,(一)用戶界面:,(二)用戶程序:,為實(shí)現(xiàn)手動(dòng)拖放,1)屬性窗口的 DragMode 屬性保持 為默認(rèn)值 “0 - Manual”(即人工方式),方法 Drag 為默認(rèn)值,64

32、,Private Sub Form_Load() Picture1.DragIcon = Picture1.Picture End Sub Private Sub Picture1_MouseDown(Button As Integer, Shift_ As Integer, X As Single, Y As Single) Picture1.Drag 1 End Sub Private Sub Picture1_MouseUp(Button As Integer, Shift As_ Integer, X As Single, Y As Single) Picture1.Drag 2 En

33、d Sub Private Sub Form_DragDrop(Source As Control, X As_ Single, Y As Single) Source.Move X, Y Source.Move (X - Source.Width / 2), (Y - Source.Height / 2) End Sub,下轉(zhuǎn):第三部分 鍵盤與鼠標(biāo)事件 - 21,65,四、VB通用對(duì)話框,一、對(duì)話框的定義與分類: 1、 對(duì)話框的定義: 具有顯示信息并接收用戶信息的功能框(實(shí)際上是一種特殊的窗體)稱對(duì)話框。 我們已學(xué)習(xí)過 InputBox 鍵盤輸入信息對(duì)話框與MsgBox 簡(jiǎn)單信息消息框,這二

34、種對(duì)話框僅具極簡(jiǎn)單的功能。若對(duì)話功能較為復(fù)雜,怎么辦?這就需要用到通用對(duì)話框。 2、對(duì)話框的分類: 1)預(yù)定義對(duì)話框:,66,即VB提供的 InputBox 與MsgBox 。 2)自定義對(duì)話框(或稱定制對(duì)話框): 用戶通過創(chuàng)建用戶界面與編寫程序來獲得。例如教材第二章介紹的用于改變文字風(fēng)格的單選按鈕、復(fù)選框、框架等控件的使用,實(shí)際上就是一種自定義對(duì)話框。這種對(duì)話框由于要求用戶自己定制,比較繁。,3)通用對(duì)話框: 用戶自己定制對(duì)話框比較繁,為此VB考慮到這種需求,已為用戶設(shè)置了專用控件:通用對(duì)話框控件。使用該控件能夠方便地設(shè)計(jì)出功,能較為復(fù)雜的對(duì)話框。,67,二、通用對(duì)話框: 1、通用對(duì)話框控件

35、: 工具箱 部件 控件 Microsoft Common Dialog Control 6.0 確定 2、通用對(duì)話框的類型: 為方便用戶的使用,VB提供了幾種不同類型的通用對(duì)話框。,控件圖標(biāo),對(duì)話框類型 方法 Action屬性 打開文件 對(duì)象名. ShowOpen 對(duì)象名.Action= 1 保存文件 對(duì)象名. ShowSave 對(duì)象名.Action= 2 選擇顏色 對(duì)象名. ShowColor 對(duì)象名.Action= 3 選擇字體 對(duì)象名. ShowFont 對(duì)象名.Action= 4 打印 對(duì)象名. ShowPrinter 對(duì)象名.Action= 5 調(diào)用Help文件 對(duì)象名. ShowH

36、elp 對(duì)象名.Action= 6,對(duì)象名:CommonDialog1,68,3、通用對(duì)話框類型的舉例(基本特征): 1)文件對(duì)話框 (1)打開文件對(duì)話框:,下轉(zhuǎn):第四部分 通用對(duì)話框 - 1,Private Sub Command1_Click() CommonDialog1. ShowOpen End Sub,Private Sub Command1_Click() CommonDialog1. ShowSave End Sub,(2)保存文件對(duì)話框:,下轉(zhuǎn):第四部分 通用對(duì)話框 - 1,69,Private Sub Command1_Click() CommonDialog1. Acti

37、on = 3 End Sub,2)選擇顏色對(duì)話框:,下轉(zhuǎn):第四部分 通用對(duì)話框 - 1,Private Sub Command1_Click() CommonDialog1. Action = 5 End Sub,3)打印對(duì)話框:,下轉(zhuǎn):第四部分 通用對(duì)話框 - 1,70,4、文件對(duì)話框的屬性設(shè)置(功能擴(kuò)展):,1)DialogTitle 屬性 設(shè)置對(duì)話框的標(biāo)題。默認(rèn)值:“打開”、“保存”、“顏色”等;,1,2,3,4,2)FileTitle - 設(shè)置當(dāng)前文件的文件名; 3)FileName - 設(shè)置當(dāng)前文件的文件名與路徑; 4)Filter - 設(shè)置文件類型,可設(shè)置多個(gè)文件類型,以供用戶在下

38、拉列表中選擇;,上面介紹了通用對(duì)話框的最基本的特征與最簡(jiǎn)功能。 在實(shí)際使用中,VB還提供了有關(guān)的屬性設(shè)置,以滿 足用戶的需要。,71,格式: 窗體. 對(duì)話框名. Filter = 描述符1 | 過濾器1 | 描述符2 | 過濾器2 | 例如: CommonDialog1.Filter = (*.*)|*.*|(*.txt)|*.txt|(*.frm)|*.frm|(*.doc)|*.doc 5)FilterIndex 指定對(duì)話框啟動(dòng)后默認(rèn)的過濾器,上 例中若需選擇擴(kuò)展名為(.txt)的文件,則: CommonDialog1.FilterIndex = 2,6)Flags 設(shè)置對(duì)話框的外觀。 格

39、式: 對(duì)象名.Flags = 值 ,72,文件對(duì)話框 Flags 取值表(部分):,符號(hào)常量 十六進(jìn)制數(shù) 十進(jìn)制數(shù) vbOFNReadOnly &H1& 1 在對(duì)話框中顯示“只讀檢查”復(fù)選框 vbOFNOverwritePrompt &H2& 2 保存文件時(shí),若用磁盤上已有的文件名保存,則顯示一個(gè)信息框,詢問用 戶是否以當(dāng)前文件覆蓋原有文件 vbOFNHideReadOnly &H4& 4 取消“只讀檢查”復(fù)選框 vbOFNNoChangeDir &H8& 8 保留當(dāng)前目錄 vbOFNShowHelp &H10& 16 顯示一個(gè)“Help”按鈕 vbOFNNoReadOnlyReturn &H

40、8000& 32768 選擇的文件不是只讀文件,并且不在一個(gè)寫保護(hù)的目錄內(nèi) 共計(jì)13項(xiàng),73,Flags 值在代碼中的表達(dá)形式: CommonDialog1.Flags = vbOFNReadOnly (符號(hào)常量) CommonDialog1.Flags = &H1& (十六進(jìn)制數(shù)) CommonDialog1.Flags = 1 (十進(jìn)制數(shù)) CommonDialog1.Flags = vbOFNReadOnly Or vbOFNShowHelp CommonDialog1.Flags = &H1& Or 16 CommonDialog1.Flags = 17 (1 + 16),舉例: 編寫

41、一個(gè)標(biāo)題為“打開文件對(duì)話框示例”的應(yīng)用程序: (1)創(chuàng)建用戶界面,Command1,CommonDialog1,(2)編寫程序:,74,Option Explicit Private Sub Command1_Click() Dim a As String CommonDialog1.DialogTitle = 打開文件對(duì)話框示例! CommonDialog1.FileName = CommonDialog1.Filter = (*.*)|*.*|(*.txt)|*.txt|(*.frm)|*.frm|(*.doc)|*.doc CommonDialog1.FilterIndex = 2 Co

42、mmonDialog1.Action = 1 If CommonDialog1.FileName = Then MsgBox 無文件名, 37, 檢查 Else Open CommonDialog1.FileName For Input As #1 Do While Not EOF(1) 文件路徑:d:tst1.txt 或 d:tst2.txt Input #1, a Print a Loop End If End Sub,下轉(zhuǎn):第四部分 通用對(duì)話框 - 2,75,5、顏色(Color)對(duì)話框: 本對(duì)話框的屬性較簡(jiǎn)單(除有少量的與文件對(duì)話框相同的屬性外),主要屬性是Color 設(shè)置初始顏色。

43、顏色對(duì)話框的Flags取值表:,符號(hào)常量 十六進(jìn)制數(shù) 十進(jìn)制數(shù) vbCCRGBInit &H1& 1 使Color屬性定義的顏色在首次顯示對(duì)話框時(shí)隨著顯示出來,必須使用 vbCCFullOpen &H2& 2 打開完整的顏色對(duì)話框(包括“規(guī)定自定義顏色”窗口) vbCCPreventFullOpen &H4& 4 禁用“規(guī)定自定義顏色”按鈕 vbCCShowHelp &H8& 8 顯示一個(gè)“Help”按鈕,76,Flags使用說明: 程序代碼中必須使用: 對(duì)象名.Flags= vbCCRGBInit,其作用是打開顏色對(duì)話框,并可設(shè)置或讀取 Color 的屬性。 Flags在代碼中的表達(dá)形式:,

44、CommonDialog1.Flags = vbCCRGBInit (符號(hào)常量) CommonDialog1.Flags = &H1& (十六進(jìn)制數(shù)) CommonDialog1.Flags = 1 (十進(jìn)制數(shù)) CommonDialog1.Flags = &H1& CommonDialog1.Flags = 2 (打開完整的顏色對(duì)話框) CommonDialog1.Flags = 1 CommonDialog1.Flags = 4 (“規(guī)定自定義顏色”按鈕無效) CommonDialog1.Flags = 1 CommonDialog1.Flags = 8 (顏色對(duì)話框上顯示“Help”按鈕

45、),77,舉例:建立一個(gè)顏色對(duì)話框,編寫應(yīng)用程序,把對(duì)話框中選定的顏色賦予窗體作背景色: (1)創(chuàng)建用戶界面 (2)編程:,圖形框,Option Explicit Private Sub Command1_Click() CommonDialog1.Flags = 1 CommonDialog1.Flags = 2 CommonDialog1.Flags = 4 CommonDialog1.Flags = 8 CommonDialog1.Color = BackColor CommonDialog1.ShowColor Picture1.BackColor = CommonDialog1.Co

46、lor End Sub,下轉(zhuǎn):第四部分 通用對(duì)話框 - 3,通用對(duì)話框控件,78,6、字體(Font)對(duì)話框: 本對(duì)話框除有少量屬性與前面對(duì)話框相同外,主要屬性是 Flags 的取值與Font屬性。 字體對(duì)話框Flags 取值表:,符號(hào)常量 十六進(jìn)制數(shù) 十進(jìn)制數(shù) vbCFScreenFonts &H1& 1 只顯示屏幕字體 vbCFPrinterFonts &H2& 2 只列出打印機(jī)字體 vbCFBoth &H3& 3 列出打印機(jī)和屏幕字體 vbCFShowHelp &H4& 4 顯示一個(gè)“Help”按鈕 共計(jì)15項(xiàng),79,字體對(duì)話框 Font 的主要屬性:,FontName 字體名稱 Fon

47、tSize 字體尺寸 FontBold 粗體 FontItaLic 斜體,FontStrikeThru 刪除線 FontUnderLine 下劃線 其它,舉例:用字體對(duì)話框設(shè)置文本框中顯示的字體 (1)創(chuàng)建用戶界面,文本框,通用對(duì)話框控件,80,(2)編程:,Option Explicit Private Sub Command1_Click() CommonDialog1.Flags = 3 CommonDialog1.ShowFont Text1.FontItalic = CommonDialog1.FontItalic 注:各Font屬性也可以在控件屬性窗口中預(yù)選 Text1.FontB

48、old = CommonDialog1.FontBold Text1.FontName = CommonDialog1.FontName Text1.FontSize = CommonDialog1.FontSize Text1.FontStrikethru = CommonDialog1.FontStrikethru Text1.FontUnderline = CommonDialog1.FontUnderline End Sub,(3)程序運(yùn)行效果:,81,2,1,下轉(zhuǎn):第四部分 通用對(duì)話框 - 4,82,7、打?。≒rinter)對(duì)話框: 本對(duì)話框除有少量屬性與前面對(duì)話框相同外,主要屬性

49、是 Flags、FromPage、ToPage、Max、Min、等屬性。 1)打印對(duì)話框 Flags 取值表:,符號(hào)常量 十六進(jìn)制數(shù) 十進(jìn)制數(shù) vbPDSelection &H1& 1 只顯示屏幕字體 vbPDPageNums &H2& 2 只列出打印機(jī)字體 vbPDNoSelection &H4& 4 列出打印機(jī)和屏幕字體 vbPDNoPageNume &H8& 8 取消頁碼計(jì)數(shù) vbPDShowHelp &H800& 2048 顯示一個(gè)“Help”按鈕 vbPDUseDevModeCopies &H4000& 262144 若打印機(jī)驅(qū)動(dòng)程序不支持多份拷貝,則設(shè)置這個(gè)值將禁止拷貝 共計(jì)15項(xiàng)

50、,83,2)FromPage、ToPage屬性:指定要打印文擋的頁碼范圍; 3)Max、Min屬性:用來限止FromPage、ToPage的范圍,其中Min指定所充許的起始頁碼, Max指定所充許的最后頁碼。,舉例:建立打印對(duì)話框 (1)創(chuàng)建用戶界面,通用對(duì)話框控件,84,(2)編程:,Option Explicit Private Sub Form_Load() CommonDialog1.Min = 1 CommonDialog1.Max = 10 CommonDialog1.Flags = &H1& Or &H4000& CommonDialog1.CancelError = True 以上代碼用于單擊“取消”按鈕時(shí)給出出錯(cuò)信息 CommonDialog1.Action = 5 End Sub,(3)程序運(yùn)行效果:,85,輸入15,1,2,3,當(dāng)輸入的頁碼正確時(shí),按下“打印”按鈕,下轉(zhuǎn):第四部分 通用對(duì)話框 - 5,86,87,END !,2010.6.8修改,補(bǔ)充內(nèi)容結(jié)束 謝謝大家,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!