【VB程序設(shè)計(jì)】第10章界面設(shè)計(jì).ppt_第1頁(yè)
【VB程序設(shè)計(jì)】第10章界面設(shè)計(jì).ppt_第2頁(yè)
【VB程序設(shè)計(jì)】第10章界面設(shè)計(jì).ppt_第3頁(yè)
【VB程序設(shè)計(jì)】第10章界面設(shè)計(jì).ppt_第4頁(yè)
【VB程序設(shè)計(jì)】第10章界面設(shè)計(jì).ppt_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1,界 面 設(shè) 計(jì),本章要點(diǎn): 菜單的設(shè)計(jì) 工具欄的設(shè)計(jì) 狀態(tài)欄的設(shè)計(jì) 對(duì)話框的設(shè)計(jì),第10章,2,10.1 菜單的設(shè)計(jì),Windows環(huán)境下幾乎所有的應(yīng)用軟件都通過(guò)菜單實(shí)現(xiàn)各種操作。菜單將應(yīng)用程序的各種操作分組顯示在界面上,用戶可以方便地從菜單中選擇執(zhí)行各種功能。,兩種基本菜單類型: 下拉式菜單 彈出式菜單,3,10.1.1 下拉式菜單,訪問(wèn)鍵,頂級(jí)菜單,快捷鍵,1. 下拉式菜單的結(jié)構(gòu),4,2. 菜單編輯器 菜單項(xiàng): 看成控件,具有其屬性、事件、方法。 菜單項(xiàng)也稱為菜單控件。 菜單設(shè)計(jì): 通過(guò)“菜單編輯器”完成。 首先使窗體成為當(dāng)前窗體 使用以下方法打開(kāi)菜單編輯器: 執(zhí)行“工具”菜單下的“菜

2、單編輯器”命令 單擊標(biāo)準(zhǔn)工具欄的“菜單編輯器”按鈕 從窗體快捷菜單中選擇“菜單編輯器”命令 菜單編輯器結(jié)構(gòu): 屬性區(qū)、編輯區(qū)、菜單列表區(qū),5,6,【例10-1】設(shè)計(jì)菜單界面,如下圖所示。下拉菜單中的子菜單項(xiàng)用于對(duì)文本框Text1設(shè)置字體、字號(hào)、文字顏色和文字效果。其中,效果子菜單下的各菜單項(xiàng)具有復(fù)選功能,設(shè)運(yùn)行初始時(shí)各項(xiàng)前面沒(méi)有符號(hào),與文本框的初始狀態(tài)一致。,各子菜單結(jié)構(gòu)見(jiàn)P194,7,菜單編輯器設(shè)置如下表:,8,9,1) “字體”菜單下的菜單項(xiàng)設(shè)計(jì)成一個(gè)控件數(shù)組AA1,共享以下事件過(guò)程: Private Sub AA1_Click(Index As Integer) Text1.Font =

3、 AA1(Index).Caption End Sub,2) “字號(hào)”菜單下的菜單項(xiàng)設(shè)計(jì)成一個(gè)控件數(shù)組BB1,共享以下事件過(guò)程: Private Sub BB1_Click(Index As Integer) Text1.FontSize = Val(BB1(Index).Caption) End Sub,10,3) “顏色”菜單下的各菜單項(xiàng)為獨(dú)立的菜單控件,因此應(yīng)分別在其單擊事件過(guò)程中編寫代碼,各事件過(guò)程如下: Private Sub CC1_Click() Text1.ForeColor = vbRed End Sub Private Sub CC2_Click() Text1.ForeC

4、olor = vbGreen End Sub Private Sub CC3_Click() Text1.ForeColor = vbBlue End Sub,11,4) “效果”菜單下的各菜單項(xiàng)具有復(fù)選功能,每次單擊時(shí)應(yīng)切換成另一種狀態(tài),因此要判斷當(dāng)前菜單項(xiàng)的Checked屬性,各事件過(guò)程如下: Private Sub DD1_Click() If DD1.Checked = True Then Text1.FontStrikethru = False DD1.Checked = False Else Text1.FontStrikethru = True DD1.Checked = Tru

5、e End If End Sub,12,Private Sub DD2_Click() If DD2.Checked = True Then Text1.FontUnderline = False DD2.Checked = False Else Text1.FontUnderline = True DD2.Checked = True End If End Sub,13,Private Sub DD3_Click() If DD3.Checked = True Then Text1.FontBold = False DD3.Checked = False Else Text1.FontBol

6、d = True DD3.Checked = True End If End Sub,14,Private Sub DD4_Click() If DD4.Checked = True Then Text1.FontItalic = False DD4.Checked = False Else Text1.FontItalic = True DD4.Checked = True End If End Sub,15,【例10-2】在窗體上設(shè)計(jì)菜單,菜單標(biāo)題為“圖像”,圖像菜單下包括以下4個(gè)菜單項(xiàng): 1) 載入:名稱為L(zhǎng)oadPic,用于向圖片框中裝入一幅圖像,初始的Enabled屬性為True。

7、2) 清除:名稱為ClearPic,用于清除圖片框中的圖像,初始的Enabled屬性為False。 3) 顯示:名稱為ShowPic,用于顯示圖片框中的圖像,初始的Enabled屬性為False。 4) 隱藏:名稱為HidePic,用于隱藏圖片框中的圖像,初始的Enabled屬性為False。,16,運(yùn)行時(shí),界面的初始狀態(tài)如圖a,單擊“載入”命令可以在打開(kāi)的輸入框中輸入要載入的圖像文件名,確定后將指定的圖像顯示在圖片框Picture1中,這時(shí)的“圖像”菜單變成圖b的狀態(tài)。這時(shí)如果選擇“清除”命令,則清除圖片框中的圖片,菜單變成圖a所示;如果選擇“隱藏”命令,則隱藏圖片框,菜單變成圖c所示,而單

8、擊“顯示”命令菜單又回到圖b的狀態(tài)。,17,各菜單項(xiàng)的Click事件過(guò)程如下: Private Sub ClearPic_Click() 清除 Picture1.Picture = LoadPicture() ClearPic.Enabled = False LoadPic.Enabled = True HidePic.Enabled = False ShowPic.Enabled = False End Sub,18,Private Sub Loadpic_Click() 載入 PicName = InputBox(請(qǐng)輸入圖像文件名) On Error GoTo ErrHandler Pic

9、ture1.Picture = LoadPicture(PicName) ClearPic.Enabled = True LoadPic.Enabled = False HidePic.Enabled = True ShowPic.Enabled = False Exit Sub 正常執(zhí)行則到這里結(jié)束 ErrHandler: 錯(cuò)誤處理程序入口 MsgBox 圖像加載錯(cuò)誤 End Sub,19,Private Sub HidePic_Click() 隱藏 Picture1.Visible = False ClearPic.Enabled = False LoadPic.Enabled = Fal

10、se HidePic.Enabled = False ShowPic.Enabled = True End Sub Private Sub ShowPic_Click() 顯示 Picture1.Visible = True ClearPic.Enabled = True LoadPic.Enabled = False HidePic.Enabled = True ShowPic.Enabled = False End Sub,20,將本例對(duì)Enabled屬性的設(shè)置改成對(duì)Visible屬性的設(shè)置可以修改成將無(wú)效的菜單項(xiàng)隱藏起來(lái),只顯示可用的菜單項(xiàng)。 用前面的方法建立的菜單,菜單項(xiàng)是固定的,菜單

11、項(xiàng)不能自動(dòng)增減。盡管可以通過(guò)設(shè)置菜單項(xiàng)的Visible屬性使某些菜單項(xiàng)暫時(shí)隱藏起來(lái),在必要的時(shí)候再將其顯示出來(lái),但也必須首先在菜單編輯器中設(shè)計(jì)所有的菜單項(xiàng)。在某些情況下,菜單項(xiàng)的個(gè)數(shù)在設(shè)計(jì)時(shí)是不可預(yù)測(cè)的,只能在程序運(yùn)行時(shí)動(dòng)態(tài)增減,用前面的方法就難以實(shí)現(xiàn)。 要實(shí)現(xiàn)菜單項(xiàng)的動(dòng)態(tài)增減,可以通過(guò)菜單數(shù)組來(lái)實(shí)現(xiàn)。通常,首先設(shè)計(jì)一個(gè)菜單項(xiàng),定義該菜單項(xiàng)為菜單數(shù)組的第一項(xiàng),即在菜單編輯器中,設(shè)置其“索引”屬性值為0,“可見(jiàn)”屬性為False(不可見(jiàn))。在需要增加菜單項(xiàng)時(shí),使用Load方法向該菜單數(shù)組增加新的菜單項(xiàng),并對(duì)新增的菜單項(xiàng)設(shè)置標(biāo)題(Caption)和可見(jiàn)(Visible)屬性;在需要減少菜單項(xiàng)時(shí),使

12、用Unload方法從該菜單數(shù)組中刪除一項(xiàng)。,21,【例10-3】設(shè)計(jì)菜單,使得運(yùn)行時(shí)初始界面如下圖a所示。主菜單項(xiàng)“文件”下有兩個(gè)固定的子菜單項(xiàng)“打開(kāi)”和“關(guān)閉”及分隔線。要求:運(yùn)行時(shí)單擊“打開(kāi)”菜單項(xiàng)在分隔線下面增加一個(gè)新的菜單項(xiàng),單擊“關(guān)閉”命令時(shí)刪除分隔線下面一個(gè)指定的菜單項(xiàng)。單擊新增的菜單項(xiàng)可以執(zhí)行相應(yīng)的應(yīng)用程序。,a),b),22,主要設(shè)計(jì)步驟: 1)執(zhí)行“工具”菜單中的“菜單編輯器”命令,打開(kāi)菜單編輯器,按下表設(shè)計(jì)菜單。,23,2)在窗體模塊中定義模塊級(jí)變量MenuNum,用于保存當(dāng)前SubMenu菜單數(shù)組的最大下標(biāo): Dim MenuNum As Integer 3)編寫“打開(kāi)”

13、菜單項(xiàng)的Click事件過(guò)程如下: Private Sub SubOpen_Click() OpenFileName = InputBox(請(qǐng)輸入文件名稱) If Trim(OpenFileName) Then MenuNum = MenuNum + 1 Load SubMenu(MenuNum) SubMenu(MenuNum).Caption = OpenFileName SubMenu(MenuNum).Visible = True End If End Sub,24,4)編寫“關(guān)閉”菜單項(xiàng)的Click事件過(guò)程如下: Private Sub SubClose_Click() N = Val

14、(InputBox(請(qǐng)指定關(guān)閉第幾個(gè)文件) If N MenuNum Or N 1 Then MsgBox 超出范圍! Else For I = N To MenuNum - 1 SubMenu(I).Caption = SubMenu(I + 1).Caption Next I Unload SubMenu(MenuNum) MenuNum = MenuNum - 1 End If End Sub,25,5)新增加的菜單項(xiàng)是一些應(yīng)用程序的名字(包括路徑)。要實(shí)現(xiàn)單擊這些菜單項(xiàng)時(shí)能夠執(zhí)行相應(yīng)的文件名指定的應(yīng)用程序,需要在菜單數(shù)組的Click事件過(guò)程中應(yīng)編寫如下代碼: Private Sub S

15、ubMenu_Click(Index As Integer) Shell SubMenu(Index).Caption, vbNormalFocus End Sub,26,10.1.2 彈出式菜單,彈出式菜單:上下文菜單、快捷菜單、右鍵菜單 為某對(duì)象設(shè)計(jì)彈出式菜單的步驟: 1) 在菜單編輯器中設(shè)計(jì)各菜單項(xiàng),然后將頂級(jí)菜單設(shè)置為不可見(jiàn)。 2) 在對(duì)象的MouseDown事件過(guò)程中編寫代碼,用以下的PopupMenu方法顯示彈出式菜單: .PopupMenu ,flags,x,y,boldcommand 功能: 在當(dāng)前鼠標(biāo)位置或指定的坐標(biāo)位置顯示彈出式菜單。,27,參數(shù): :指菜單所在的位置,如果

16、省略,則默認(rèn)為是當(dāng)前窗體。 :指在菜單編輯器中設(shè)計(jì)的菜單項(xiàng)(至少有一個(gè)子菜單)的名稱。 Flags:可選項(xiàng),可以是一個(gè)數(shù)值或常量,用于指定彈出式菜單的位置和行為,取值見(jiàn)P199表10-3和表10-4。如果要同時(shí)指定位置和行為時(shí),則將兩個(gè)參數(shù)值用Or連接,如: 4 Or 2 x、y:指定顯示彈出式菜單的x坐標(biāo)和y坐標(biāo)。省略時(shí)為鼠標(biāo)坐標(biāo)。 boldcommand:指定彈出式菜單中要顯示為黑體的菜單控件的名稱。如果該省略參數(shù),則彈出式菜單中沒(méi)有以黑體字出現(xiàn)的菜單項(xiàng)。,28,【例10-4】在例10-1的基礎(chǔ)上設(shè)計(jì)窗體和文本框的彈出式菜單。如下圖所示。,窗體的 彈出式菜單,文本框的 彈出式菜單,29,設(shè)

17、計(jì)步驟: 1) 在菜單編輯器上增加以下設(shè)置:,30,2) 在文本框的MouseDown事件過(guò)程中編寫代碼 Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu EE, 0 Or 0 End If End Sub,參數(shù)Button: 1 按下鼠標(biāo)的左按鈕 2 按下鼠標(biāo)的右按鈕 4 按下鼠標(biāo)的中間按鈕,左上角位于坐標(biāo)處,只接受左鍵單擊,31,3) 在窗體的MouseDown事件過(guò)程中編寫代碼 Private Sub

18、 Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu FF,8 Or 0, , ,FF3 End If End Sub,右上角位于坐標(biāo)處,FF3菜單項(xiàng)顯示為粗體,只接受左鍵單擊,x,y省略,但要保留逗號(hào),32,4) 在窗體模塊的通用聲明段聲明變量Fcolor,用于保存窗體的初始顏色: Dim Fcolor As Long 5) 在窗體的Load事件過(guò)程中保存窗體的初始背景顏色: Private Sub Form_Load() Fcol

19、or = Form1.BackColor End Sub,33,6) 編寫實(shí)現(xiàn)菜單命令功能的代碼 Private Sub EE1_Click() Text1.FontSize = Text1.FontSize + 1 End Sub Private Sub EE2_Click() Text1.FontSize = Text1.FontSize 1 End Sub Private Sub EE3_Click() If EE3.Caption = 鎖定 Then EE3.Caption = 取消鎖定 Text1.Locked = True Else EE3.Caption = 鎖定 Text1.L

20、ocked = False End If End Sub,34,Private Sub FF1_Click() Form1.BackColor = vbRed End Sub Private Sub FF2_Click() Form1.BackColor = vbGreen End Sub Private Sub FF3_Click() Form1.BackColor = Fcolor End Sub,35,10.2 工具欄的設(shè)計(jì),作用: 常用于提供對(duì)最常用的菜單命令的快速訪問(wèn) 設(shè)計(jì): 手工方式;使用工具欄控件 10.2.1 用手工方式制作工具欄 1) 在窗體上放置一個(gè)圖片框,設(shè)置其Align

21、屬性為: 1 - Align Top,調(diào)整好圖片框的高度。 2) 在圖片框中放置控件。 3) 給控件裝入一定的圖片。 4) 設(shè)置控件的ToolTipText屬性,添加適當(dāng)?shù)奶崾尽?5) 為各工具欄控件編寫代碼。 如果工具欄控件的功能已經(jīng)包括在某菜單項(xiàng)中,則可以直接調(diào)用菜單項(xiàng)的相應(yīng)事件過(guò)程 。,36,【例10-5】在例10-4的基礎(chǔ)上添加工具欄。如下圖。 放置4個(gè)復(fù)選框控件,分別用于完成“效果”菜單 下的四個(gè)功能。 給復(fù)選框的ToolTipText屬性分別設(shè)置功能提示: 刪除線、下劃線、粗體、斜體。,37,分別在復(fù)選框控件的Click事件過(guò)程中編寫代碼: Private Sub Check1_C

22、lick() Text1.FontStrikethru = Check1.Value End Sub Private Sub Check2_Click() Text1.FontUnderline = Check2.Value End Sub Private Sub Check3_Click() Text1.FontBold = Check3.Value End Sub Private Sub Check4_Click() Text1.FontItalic = Check4.Value End Sub,38,10.2.2 使用ToolBar控件制作工具欄,設(shè)計(jì)步驟: 1) 向工具箱添加ToolB

23、ar控件、 ImageList控件。 工程部件 選擇 “Microsoft Windows Common Controls 6.0” 2) 向窗體上添加ToolBar控件、ImageList控件, 常用ImageList控件提供工具欄所需的圖片。 3) 設(shè)置ImageList控件的“屬性頁(yè)” ,定義圖像集。 4) 設(shè)置ToolBar控件的“屬性頁(yè)”。定義按鈕對(duì)象集。引用索引號(hào)為n的按鈕: Buttons(n) 例:設(shè)置Toolbar1中索引號(hào)為3的按鈕的標(biāo)題。 Toolbar1.Buttons(3).Caption = 顯示 5) 編寫代碼: 在ButtonClick事件過(guò)程或ButtonMe

24、nuClick事件過(guò)程中編寫。,39,【例10-6】用Toolbar控件設(shè)計(jì)工具欄,界面如下圖所示,運(yùn)行時(shí),當(dāng)按下箭頭按鈕時(shí),圖形將沿著箭頭指定的方向移動(dòng),當(dāng)按下形狀按鈕組中的任何一個(gè)按鈕時(shí),圖形將變成相應(yīng)的形狀。按“Stop”按鈕停止移動(dòng)。,40,設(shè)置ToolBar控件的屬性頁(yè):,41,Dim Direction As Integer Direction做為移動(dòng)方向的標(biāo)志 Private Sub Timer1_Timer() 根據(jù)箭頭按鈕決定移動(dòng)方向 設(shè)每次移動(dòng)步長(zhǎng)為50Twips,當(dāng)移動(dòng)到窗體邊緣時(shí)不再移動(dòng) Select Case Direction Case 1 如果選擇向上移動(dòng) If

25、Shape1.Top-50Toolbar1.Height _ Then Shape1.Top= Shape1.Top - 50 Case 2 如果選擇向下移動(dòng) If Shape1.Top+Shape1.Height+50 0 Then Shape1.Left=Shape1.Left - 50 Case 4 如果選擇向右移動(dòng) If Shape1.Left+Shape1.Width+50 Form1.ScaleWidth _ Then Shape1.Left = Shape1.Left + 50 End Select End Sub,代碼如下:,42,Private Sub Toolbar1_Bu

26、ttonClick _ (ByVal Button As MSComctlLib.Button) 根據(jù)按下的形狀按鈕分情況進(jìn)行處理 Select Case Button.Index Case 1 Shape1.Shape = 3 設(shè)圖形形狀為圓形 Case 2 Shape1.Shape = 2 設(shè)圖形形狀為橢圓 Case 3 Shape1.Shape = 4 設(shè)圖形形狀為圓角矩形 Case 4 Shape1.Shape = 0 設(shè)圖形形狀為矩形,43,Case 6 Direction = 1 Direction為1表示上移 Timer1.Enabled = True Case 7 Direct

27、ion = 2 Direction為2表示下移 Timer1.Enabled = True Case 8 Direction = 3 Direction為3表示左移 Timer1.Enabled = True Case 9 Direction = 4 Direction為4表示右移 Timer1.Enabled = True Case 11 單擊“停止”按鈕關(guān)閉定時(shí)器,停止移動(dòng) Timer1.Enabled = False End Select End Sub,44,10.3 對(duì)話框的設(shè)計(jì),對(duì)話框: 特殊類型的窗體對(duì)象。 作用: 是用戶和應(yīng)用程序交互的主要途徑。 建立方法: 使用預(yù)定義對(duì)話框,

28、即輸入框、消息框。 定義對(duì)話框。 使用CommonDialog控件創(chuàng)建通用對(duì)話框。,45,10.3.1 自定義對(duì)話框,設(shè)計(jì)步驟 : 1) 添加窗體: 工程添加窗體。 2) 將窗體定義成對(duì)話框風(fēng)格。 如:不能移動(dòng)、改變尺寸、最大或最小化 例: BorderStyle設(shè)置為1單邊框,不能改變大小 ControlBox設(shè)置為False刪除控制菜單框 MaxButton設(shè)置為False刪除最大化按鈕 MinButton設(shè)置為False刪除最小化按鈕 3) 在對(duì)話框上添加按鈕,如“確定”與“取消”按鈕。 4) 在對(duì)話框上添加其它控件。 5) 在適當(dāng)?shù)奈恢镁帉戯@示對(duì)話框的代碼。,46,兩種顯示方式: 模式

29、對(duì)話框與無(wú)模式對(duì)話框 。 顯示模式對(duì)話框 窗體名.Show vbModal 或 窗體名.Show 1 例如: Form2.Show vbModal 顯示無(wú)模式對(duì)話框 窗體名.Show vbModeless 或 窗體名.Show 0 或 窗體名.Show 例如: Form2.Show vbModeless 為確保對(duì)話框可以隨其父窗體的最小化而最小化,隨其父窗體的關(guān)閉而關(guān)閉,需要在Show方法中定義父窗體。 例如: Private Sub Command1_Click() Form2.Show vbModeless, Form1 End Sub,47,6) 編寫實(shí)現(xiàn)對(duì)話框功能的的代碼,如“確定”按

30、鈕和“取消”按鈕的單擊事件過(guò)程。不同的對(duì)話框所完成的功能不同,因此應(yīng)根據(jù)實(shí)際要求編寫代碼 7) 編寫從對(duì)話框退出的代碼 例如: Unload Form2 或: Form2.Hide,Unload語(yǔ)句把對(duì)話框從內(nèi)存中刪除,該對(duì)話框本身以及它的控件都從內(nèi)存中卸載。而Hide方法只是通過(guò)設(shè)置對(duì)話框的Visible屬性為False將其從視窗中刪除。該對(duì)話框以及它的控件仍留在內(nèi)存中。,48,【例10-7】設(shè)計(jì)應(yīng)用程序,包含一個(gè)主菜單界面和一個(gè)對(duì)話框,在主菜單界面單擊某“運(yùn)行”菜單項(xiàng),將打開(kāi)一個(gè)模式對(duì)話框,在對(duì)話框中指定要運(yùn)行的文件名及其運(yùn)行方式(正常、最大化、最小化),單擊“確定”按鈕按指定的方式運(yùn)行指

31、定的文件,如果輸入文件名錯(cuò)誤,將給出警告并返回該對(duì)話框;單擊“取消”按鈕返回主菜單界面。,a),b),49,設(shè)計(jì)步驟: 1) 新建一個(gè)空白工程,將當(dāng)前窗體Form1作為主菜單界面,按設(shè)計(jì)下拉式菜單的方法設(shè)計(jì)菜單(如圖a)。設(shè)“運(yùn)行”菜單項(xiàng)的名稱為RunFile 2) 使用“工程”菜單下的“添加窗體”命令,在工程中添加一個(gè)窗體Form2,設(shè)置Form2的BorderStyle屬性值為1,使其具有對(duì)話框風(fēng)格。如圖b所示在對(duì)話框上添加各控件。將“確定”按鈕的Defalut屬性設(shè)置為True,將“取消”按鈕的Cancel屬性設(shè)置為True。 3) 編寫窗體Form1的“運(yùn)行”菜單項(xiàng)的Click事件過(guò)程

32、,以顯示對(duì)話框Form2,代碼如下: Private Sub RunFile_Click() Form2.Show 1 End Sub,50,4) 編寫對(duì)話框Form2的“確定”按鈕的事件過(guò)程: Private Sub Command1_Click() “確定”按鈕 On Error GoTo ErrorHandler FName = Trim(Text1.Text) If Option1.Value = True Then Shell FName, 1 If Option2.Value = True Then Shell FName, 3 If Option3.Value = True Th

33、en Shell FName, 2 Exit Sub ErrorHandler: 錯(cuò)誤處理程序入口 MsgBox 不能運(yùn)行該文件, , 注意 End Sub,51,5)編寫對(duì)話框Form2的“取消”按鈕的事件過(guò)程: Private Sub Command2_Click() Unload Me End Sub,52,10.3.2 通用對(duì)話框,使用通用對(duì)話框控件(CommonDialog)可以創(chuàng)建多種標(biāo)準(zhǔn)對(duì)話框。設(shè)計(jì)步驟如下: 1) 添加: 工程部件選擇 “Microsoft Common Dialog Controls 6.0” 2) 在窗體的任意位置添加通用對(duì)話框控件。 3) 設(shè)置通用對(duì)話框控

34、件的“屬性頁(yè)”。 4) 在代碼中使用以下方法打開(kāi)對(duì)話框 。 ShowOpen: 顯示“打開(kāi)文件”對(duì)話框 ShowSave: 顯示“文件存儲(chǔ)”對(duì)話框 ShowColor: 顯示“顏色”對(duì)話框 ShowFont: 顯示“字體”對(duì)話框 ShowPrinter: 顯示“打印”對(duì)話框 ShowHelp: 顯示“幫助”對(duì)話框,53,1.文件對(duì)話框 屬性頁(yè):,54,【例10-8】使用打開(kāi)文件對(duì)話框,在運(yùn)行時(shí)打開(kāi)一幅圖像。 在窗體Form1上放置一個(gè)圖像控件、一個(gè)通用對(duì)話框控件、一個(gè)命令按鈕。,設(shè)計(jì)界面:,55,其中, CommonDialog1的屬性頁(yè)設(shè)置如下:,All files|*.*|Bmp File

35、s|*.bmp|Icon Files|*.ico,指文件名,56,如果通過(guò)編寫代碼設(shè)置屬性,可以在窗體的Load事件過(guò)程中編寫以下代碼: Private Sub Form_Load() CommonDialog1.DialogTitle = 請(qǐng)選擇圖像文件 CommonDialog1.InitDir = C:winnt CommonDialog1.FileName = Greenstone.bmp CommonDialog1.Filter = All Files|*.*|Bmp Files|*.bmp|Icon Files|*.ico CommonDialog1.CancelError = T

36、rue End Sub,57,“裝入圖像”按鈕代碼如下: Private Sub Command1_Click() CommonDialog1.ShowOpen Image1.Picture = _ LoadPicture(CommonDialog1.FileName) End Sub,58,在對(duì)話框中單擊“取消”按鈕的處理: 不處理: 不設(shè)置“取消引發(fā)錯(cuò)誤” 處理: 設(shè)置“取消引發(fā)錯(cuò)誤”,編寫代碼如下: Private Sub Command1_Click() On Error GoTo ErrHandler CommonDialog1.ShowOpen Image1.Picture = _ LoadPicture(CommonDialog1.FileName) Exit S

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論