VB菜單和窗體PPT課件_第1頁
VB菜單和窗體PPT課件_第2頁
VB菜單和窗體PPT課件_第3頁
VB菜單和窗體PPT課件_第4頁
VB菜單和窗體PPT課件_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.,1,第10章 菜單和工具欄,10.1 菜單設計 10.2 創(chuàng)建工具欄 10.3 Windows界面樣式及創(chuàng)建SDI程序界面 10.4 創(chuàng)建MDI程序界面,.,2,10.1 菜單設計,10.1.1 菜單組成 10.1.2 菜單編輯器 10.1.3 下拉菜單的設計 10.1.4 彈出式菜單 10.1.5 菜單控件數(shù)組,返回目錄,.,3,10.1.1 菜單組成,在Windows環(huán)境下,菜單分為下拉式菜單和彈出式菜單。 下拉式菜單的菜單條顯示在窗體標題欄的下面,它含有一個或者多個菜單標題。當單擊某一菜單標題時,將打開一個含有菜單項的列表。菜單項也可以是子菜單標題,當單擊子菜單標題時,將顯示其下的子

2、菜單項。分隔條用于將菜單項按功能分組。 彈出式菜單又稱為“上下文菜單”或“快捷菜單”,是一種可以顯示在窗體任何位置并獨立于菜單欄的浮動式菜單。一般通過在某一區(qū)域單擊鼠標右鍵的方式激活特定的彈出式菜單。鼠標單擊的區(qū)域不同,彈出的菜單內容一般也不同。,.,4,10.1.2 菜單編輯器,可以通過以下幾種方式啟動菜單編輯器: (1)執(zhí)行“工具”菜單中的“菜單編輯器”命令。 (2)單擊工具欄中的“菜單編輯器”按鈕。 (3)在要建立菜單的窗體空白處右擊鼠標,在快捷菜單中選擇“菜單編輯器”命令。,.,5,10.1.2 菜單編輯器,.,6,10.1.2 菜單編輯器,1. 菜單控件區(qū) 菜單控件區(qū)用來設置菜單控件

3、的屬性。 (1)標題:設置菜單控件的Caption屬性,其值是顯示在菜單中的文本。如果要在菜單中加入一條分隔線,則只需輸入減號(-)即可;如果要為菜單控件指定訪問鍵,則在作為訪問鍵的字符前面加一個“&”字符。程序運行時該字符下端會出現(xiàn)下劃線,使用Alt+字符即可打開菜單或執(zhí)行相應的菜單命令。 (2)名稱:設置菜單控件的Name屬性,在程序代碼中用于訪問該菜單控件。建議使用mnu作為前綴來標識是菜單控件。 (3)索引:設置菜單控件數(shù)組中各元素的下標。,.,7,10.1.2 菜單編輯器,(4)快捷鍵:設置快捷訪問鍵,使用戶在不打開菜單的情況下就可以通過鍵盤操作實現(xiàn)同樣的功能。 (5)復選:設置菜單

4、控件的Checked屬性,決定是否在菜單控件前面出現(xiàn)復選標記(),以便表示菜單控件的開關狀態(tài)。 (6)有效:設置菜單控件的Enabled屬性,決定菜單控件是否可用。如果清除“有效”復選框,則Enabled屬性值為False,此時相應的菜單控件將變成無效,以灰色顯示。它既不能響應Click事件,也無法用快捷鍵訪問。如果某一菜單標題無效,則其下的所有菜單項都將無效。,.,8,10.1.2 菜單編輯器,(7)可見:設置菜單控件的Visible屬性,決定菜單控件是否可見。如果清除“可見”復選框,則Visible屬性值為False,該菜單控件不可見。當菜單控件不可見時,菜單中的其余控件會上移以填補空出的

5、位置;如果控件位于菜單條上,則菜單條上其余的控件會左移以填補相應的空間。菜單控件不可見時,還會導致其無效;如果菜單標題不可見,則其下的所有菜單項均無效。,.,9,10.1.2 菜單編輯器,2. 菜單項顯示區(qū) 菜單項顯示區(qū)列有當前窗體的所有菜單控件,并通過它們所在的位置顯示出對應的層次關系??赏ㄟ^鼠標單擊選中某個菜單控件,此時上端的菜單控件區(qū)顯示的即為該菜單控件的對應屬性。 (1)位于列表框中與左側邊框平齊的菜單控件將作為菜單標題顯示在菜單條中。 (2)前面有一個內縮符號(.)的菜單控件是前導菜單標題的菜單項。 (3)前面有二個內縮符號(.)的菜單控件是前導菜單項的子菜單項,前導菜單項又稱為子菜

6、單標題。依此類推。,.,10,10.1.2 菜單編輯器,3. 編輯區(qū) 編輯區(qū)用來對當前選中的菜單控件進行編輯。 (1)、:取消或產生內縮符號,從而改變菜單控件在菜單中的層次級別。 (2)、:改變菜單控件在菜單中的位置。 (3)下一個:選中當前菜單控件的下一個菜單控件。 (4)插入:在當前菜單控件的上方加入一個新的菜單控件。 (5)刪除:刪除當前選中的菜單控件。,.,11,10.1.3 下拉菜單的設計,【例10-1-1】 設計一個具有算術運算(、)及清除功能的菜單。通過鍵盤輸入兩個數(shù),利用菜單命令計算出它們的和、差、積、商,并顯示出來。要求每個菜單命令都有對應的快捷鍵。 (1)設計用戶界面 (2

7、)菜單設計:根據(jù)題意,建立兩個菜單標題,分別完成設置和計算功能?!霸O置”菜單中含有清除和退出兩個菜單項;“計算”菜單中含有加法、減法、乘法和除法四個菜單項。,.,12,Private Sub cheng_Click() Label1.Caption = cheng.Caption Text3.Text = Val(Text1.Text) * Val(Text2.Text) End Sub Private Sub chu_Click() Label1.Caption = chu.Caption Text3.Text = Val(Text1.Text) / Val(Text2.Text) End

8、Sub Private Sub jia_Click() Label1.Caption = jia.Caption Text3.Text = Val(Text1.Text) + Val(Text2.Text) End Sub Private Sub jian_Click() Label1.Caption = jian.Caption Text3.Text = Val(Text1.Text) - Val(Text2.Text) End Sub,.,13,10.1.3 下拉菜單的設計,(3)編寫Click事件過程:如果希望單擊某個菜單項就可以執(zhí)行對應的操作,需要編寫菜單控件的Click事件過程,這是

9、除分隔條以外其它菜單控件唯一可以識別的動作。當用戶單擊菜單標題時,通常是將其下的菜單項顯示出來,所以可以不必為菜單標題的Click事件過程編寫代碼。 首先,關閉菜單編輯器,在窗體上顯示所創(chuàng)建的菜單。從窗體上選擇一個菜單控件,將在代碼編輯器中顯示相應的Click事件過程,等待輸入程序代碼。,.,14,10.1.4 彈出式菜單,彈出式菜單可以根據(jù)單擊鼠標右鍵時的位置靈活改變彈出的菜單內容,使用戶操作更快捷,所以彈出式菜單又稱為快捷菜單。任何至少有一個菜單項的菜單,都可以在運行時作為彈出式菜單來顯示,彈出式菜單的設計也是使用菜單編輯器,如果彈出式菜單不需要顯示在菜單條中,則需要將頂級菜單項設置成隱藏

10、。創(chuàng)建彈出式菜單的步驟如下: (1)使用菜單編輯器設計菜單。 (2)設置頂層菜單項為隱藏,即不選中菜單編輯器里的“可見”選項。,.,15,創(chuàng)建彈出式菜單,.,16,創(chuàng)建彈出式菜單,按Ctrl+E鍵,彈出菜單編輯器。在那里面可以編輯菜單。標題:等同于Command的Caption屬性,就是用來顯示菜單上的文字。名稱:等同于Command的Nane屬性,指定菜單的名稱。索引:菜單數(shù)組的下標。復選:以復選框的樣式顯示菜單。有效:Enabled可見:Visible先輸入菜單第一項的標題文件和名稱file,按你的要求,程序運行時不顯示,那么就把它的可見勾上。再輸入菜單第二項的標題打開和名稱open,因為

11、它是在文件菜單的下一級,所以按一下按鈕最后輸入菜單第三項的標題保存和名稱save,不用按按按鈕.確定完成菜單的編輯.,.,17,創(chuàng)建彈出式菜單,調出菜單.Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then PopupMenu file 1為左鍵,2為右鍵 PopupMenu 彈出菜單End Sub 點擊代碼窗口中控件下拉列表,選擇save 或 open 可以對它們進行事件的編程,.,18,10.1.4 彈出式菜單,(3)編寫與彈出式

12、菜單相關聯(lián)的MouseUp(釋放鼠標)或MouseDown(按下鼠標)事件過程。其中必須使用PopupMenu方法,PopupMenu方法語法格式為: 對象名.PopupMenu , flags,x,y,boldcommand 對象名.表示要顯示彈出式菜單的窗體名稱,默認為當前窗體。 參數(shù)是要顯示的彈出式菜單名稱。 參數(shù)flags定義彈出式菜單的位置,可指明位置常數(shù)與行為常數(shù)。位置常數(shù)和行為常數(shù)分別如表10-1-3和表10-1-4所示。如果要同時指定這兩個常數(shù),可用邏輯運算符or進行組合,如4 or 2。,.,19,10.1.4 彈出式菜單,(4)參數(shù)x 與y定義彈出式菜單相對于指定窗體的顯示

13、位置。若省略,則顯示在鼠標指針的當前位置。 (5)參數(shù)boldcommand用于指定在彈出式菜單中要以粗體顯示的菜單控件的名稱。若省略,則菜單中沒有以粗體顯示的菜單控件。 注意:顯示彈出式菜單后,用戶必須從菜單中進行選擇或者取消菜單,否則調用Popupmenu方法后的代碼不會執(zhí)行。,.,20,10.1.5 菜單控件數(shù)組,與控件數(shù)組類似,菜單控件數(shù)組是指同一菜單上共享相同名字與事件過程的一個或者多個菜單項。 菜單控件數(shù)組中的每個元素都由唯一的索引值來標識,索引值由Index屬性確定。 Index屬性值可以從菜單編輯器的“索引”文本框來指定。 當菜單控件數(shù)組的某個元素識別Click事件時,系統(tǒng)將其

14、索引值作為參數(shù)傳遞給Click事件過程。 Click事件過程根據(jù)傳進來的索引值判斷出選中的是哪一個菜單項。 注意:菜單控件數(shù)組中的各個元素在菜單項顯示區(qū)中必須是連續(xù)的,而且必須是在同一縮進級上。若含有分隔條,則它也要作為數(shù)組元素包含到菜單控件數(shù)組中。,.,21,Private Sub js_Click(Index As Integer) Select Case Index Case 1 Label1.Caption = js(Index).Caption Text3.Text = Val(Text1.Text) + Val(Text2.Text) Case 2 Label1.Caption =

15、 js(Index).Caption Text3.Text = Val(Text1.Text) - Val(Text2.Text) Case 3 Label1.Caption = js(Index).Caption Text3.Text = Val(Text1.Text) * Val(Text2.Text) Case 4 Label1.Caption = js(Index).Caption Text3.Text = Val(Text1.Text) / Val(Text2.Text) End Select End Sub,.,22,10.2 創(chuàng)建工具欄,10.2.1 ImageList控件 10

16、.2.2 ToolBar控件,返回目錄,.,23,10.2.1 ImageList控件,要在窗口中加入工具欄,需要用到ToolBar控件和ImageList控件。通常情況下,這兩個控件并沒有顯示在工具箱中,需要用戶手動將它們添加到工具箱中。方法如下: (1)從“工程”菜單中選取“部件”命令,打開“部件”對話框。 (2)在“部件”對話框的“控件”選項卡中,選中“Microsoft Windows Common Controls 6.0”,使它前面的復選框中出現(xiàn)“”,如圖10-2-1所示。 (3)單擊“確定”按鈕,此時一些常用控件就被加入到工具箱中,其中包括ToolBar控件和ImageList控

17、件。,.,24,10.2.1 ImageList控件,ImageList控件用于存放需要在工具欄上顯示的按鈕圖片。使用方法: (1)在窗體中添加一個ImageList控件。其大小固定,運行時不可見。 (2)右擊ImageList控件,選擇“屬性”,打開“屬性頁”對話框。 (3)選擇“圖像”選項卡,單擊“插入圖片”按鈕,逐個向ImageList控件中加入圖片;如果需要刪除多余的圖片,選中后點擊“刪除圖片”按鈕。,.,25,10.2.2 ToolBar控件,使用ToolBar控件具體創(chuàng)建一個工具欄。首先在窗體中添加一個ToolBar控件,右擊后選擇“屬性”,打開“屬性頁”對話框。 1. 設置Too

18、lBar控件的通用屬性 點擊“通用”選項卡:將“圖像列表”屬性設置為前面已創(chuàng)建的ImageList控件,這樣可以使用ImageList控件中的圖片作為ToolBar控件上按鈕的圖標來使用;“外觀”決定了創(chuàng)建的工具欄是平面還是立體的效果;“樣式”控制工具欄上按鈕的外觀。其他屬性可根據(jù)需要進行設置。,.,26,10.2.2 ToolBar控件,2. 設置ToolBar控件中的按鈕 點擊“按鈕”選項卡:使用“插入按鈕”和“刪除按鈕”,可以增加或減少工具欄中的按鈕;每個按鈕需要使用ImageList控件中的哪個圖片作為外觀顯示,在“圖像”中進行設置;“關鍵字”用于在程序代碼中引用該按鈕。,.,27,1

19、0.2.2 ToolBar控件,工具欄上按鈕的類型包括六種,通過“樣式”進行選擇 (1)0-tbrDefault:默認的按鈕類型。 (2)1-tbrCheck:復選類型的按鈕。同一組按鈕可選中多項,如設置字體的加粗、傾斜、加下劃線等。 (3)2-tbrButtonGroup:單選類型的按鈕。同一組按鈕只能選中一項,如設置段落的靠左、靠右、居中等對齊方式。 (4)3-tbrSeparator:分隔符類型的按鈕。此時不必指定“圖像”,該類按鈕會以一個分隔條的形式出現(xiàn)。 (5)4-tbrPlaceholder:作為占據(jù)空間的按鈕。 (6)5-tbrDropdown:具有下拉菜單的按鈕。下拉菜單中包括

20、的內容可在對話框下端的“按鈕菜單”區(qū)域進行詳細設置。,.,28,10.2.2 ToolBar控件,3. 在ToolBar控件中加入代碼 ToolBar控件最常用的是ButtonClick事件,該事件的格式如下: Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 其中的Button對應程序運行時用戶用鼠標單擊的工具欄上的按鈕,該按鈕可用它的Button.Key屬性值(關鍵字)來表示。,.,29,10.3 Windows界面樣式及創(chuàng)建SDI程序界面,10.3.1 Windows界面樣式 10.3.2 創(chuàng)建SDI

21、程序界面,返回目錄,.,30,10.3.1 Windows界面樣式,單文檔界面(SDI) 多文檔界面(MDI) 資源管理器界面,.,31,10.3.2 創(chuàng)建SDI程序界面,1. 新建一個Visual Basic工程 新建一個Visual Basic工程,把它作為SDI應用程序的主界面。如果需要在程序啟動時顯示一個啟動畫面,那么需要另外添加一個窗體作為啟動畫面。 有時,在程序的幫助菜單中,需要有一個“關于”的信息窗口,那么還要添加一個窗體,用來顯示一些相應的信息。 2. 添加菜單 菜單是用戶和程序交互的主要工具,是應用程序中可以讓用戶發(fā)布的命令的集合,所以在一般的應用程序中都有菜單。在菜單中可以

22、定義一些相應的命令來完成需要的操作。可以利用前面講過的方法為程序添加菜單。,.,32,創(chuàng)建SDI程序界面實例,2. Imagelist1控件-右鍵屬性-插入圖片,1. Ctrl+E添加菜單項,插入圖片路徑 C:Program FilesMicrosoft Visual StudioGraphicsbitmapsOFFCTLBRlargecolor C:Program FilesMicrosoft Visual StudioGraphicsbitmapstlbr_w95,.,33,創(chuàng)建SDI程序界面實例,3.添加toolbars控件,設置“通用”,4.修改按鈕選項卡,填寫關鍵字、圖像數(shù)字,.,3

23、4,創(chuàng)建SDI程序界面實例,5.添加StatusBar控件并修改StatusBar控件屬性,.,35,10.3.2 創(chuàng)建SDI程序界面,3. 添加工具欄 工具欄也是用戶和程序交互的主要工具,由于它具有圖形化的外觀,比菜單更直觀明了、操作簡單,因此工具欄的使用更為普遍,在沒有菜單欄的地方也可以放置工具欄。 可利用前面講過的方法為程序添加工具欄。如果程序中既有菜單,又有工具欄,應注意它們之間的對應關系。 4. 添加工作區(qū)域 工作區(qū)域放置的是應用程序操作的對象。例如,可以放置一個文本框,來輸入處理的文本。,.,36,10.3.2 創(chuàng)建SDI程序界面,5. 添加狀態(tài)欄 在比較專業(yè)的程序中,一般都需要有

24、狀態(tài)欄,用來顯示一些相關的程序狀態(tài)信息。狀態(tài)欄可使用狀態(tài)條控件(StatusBar)來實現(xiàn),該控件和ToolBar控件、ImageList控件一樣,也是“Microsoft Windows Common Controls 6.0”中的一個控件。 6. 編寫代碼 界面設置完成以后,還要編寫相關命令的代碼,從而來實現(xiàn)應用程序的相關功能。通過以上這些操作,便建立了一個簡單的SDI程序界面。,.,37,10.4 創(chuàng)建MDI程序界面,10.4.1 MDI窗體與MDI子窗體 10.4.2 創(chuàng)建MDI應用程序,返回目錄,.,38,10.4.1 MDI窗體與MDI子窗體,在MDI應用程序中,可以同時顯示多個文

25、檔,每個文檔顯示在自己的窗口中。文檔窗口包含在父窗口內,父窗口為應用程序中所有的文檔子窗口提供操作的空間。可見,一個MDI應用程序可以包含三類窗體,即普通窗體(標準窗體)、MDI父窗體和MDI子窗體。 一個應用程序當然可以包含許多相似或者不同樣式的MDI子窗體。在設計階段,子窗體是獨立的,并不被限制在MDI父窗體的區(qū)域內,可以在子窗體上增加控件、設置屬性、編寫代碼。也就是說,設計階段的MDI子窗體和標準窗體沒有區(qū)別。,.,39,10.4.1 MDI窗體與MDI子窗體,那么,又怎樣確定一個窗體是否為子窗體呢?如果一個窗體的MDIChild屬性被設置為True,那么該窗體就是子窗體。另外,在工程資

26、源管理器的窗口中MDI窗體、MDI子窗體和標準窗體使用不同的圖標來顯示。,.,40,創(chuàng)建MDI應用程序實例,1.創(chuàng)建MDI父窗體,2.創(chuàng)建MDI子窗體:創(chuàng)建一個標準窗體,修改窗體屬性MDIchild=true,.,41,創(chuàng)建MDI應用程序實例,3.修改MDI父窗體為啟動窗體:工程-屬性-通用-啟動,4.完成窗體菜單、按鈕的添加。 添加如下代碼: Private Sub MDIForm_Load() Form2.Show Form3.Show Form4.Show End Sub,.,42,10.4.2 創(chuàng)建MDI應用程序,創(chuàng)建MDI應用程序,首先要創(chuàng)建MDI父窗體及其子窗體,然后再對它們進行必

27、要的設置。 1. 創(chuàng)建MDI父窗體 MDI父窗體是MDI應用程序的前提和基礎。從“工程”菜單中選取“添加MDI窗體”命令,這時,屏幕上就會出現(xiàn)一個新窗體,該窗體的標題是“MDIForm1”,它就是新建的MDI父窗體。 需要注意的是,一個應用程序只能有一個MDI窗體,如果工程中已經(jīng)有了一個MDI窗體,那么“工程”菜單中的“添加MDI窗體”的命令就不可用。,.,43,10.4.2 創(chuàng)建MDI應用程序,2. 創(chuàng)建MDI子窗體 執(zhí)行“添加窗體”命令會新建一個標準窗體,這時候,在該窗體的屬性窗口中找到MDIChild屬性,并把它的值由False改為True,則該窗體即成為MDI父窗體的一個子窗體。子窗體上的操作和標準窗體的操作是一樣的。 3. 將MDI父窗體設置為啟動窗體 從“工程”菜單中選取當前工程的屬性命令,打開“通用”選項卡,從其“啟動對象

溫馨提示

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

評論

0/150

提交評論