9.1 菜單 執(zhí)行菜單編輯器的方法有: ⑴從“工具”菜單上,選取“菜單編輯器”。 ⑵在“工具欄”上單擊“菜單編輯器”按鈕。 1、設計下拉菜單 2、設計子菜單 3、給菜單項分組 一個以連字符(-)作為標題屬性的菜單控件,將以一個分隔條出現(xiàn)。分隔條可把菜單項劃分成若干個邏輯組。 注意:如果菜單控件是一個菜單標題、帶有子菜單項、被復選或無效,或者有一個快捷鍵,那么它就不能作為分隔條。分隔條不能被選取和單擊。 4、給菜單項指定訪問鍵和快捷鍵 “訪問鍵”是指與Alt鍵同時按下的鍵,用于打開菜單、執(zhí)行命令、選擇對象或移向?qū)ο?。在菜單項的標題中,在想要指定為訪問鍵的字符前加一個&符號。在菜單中,該字符會自動加上一條下劃線。 5、菜單標題和名稱的命名基本約定 為了增強菜單項目的可操作性、程序代碼的可讀性和易維護性,可以確定菜單創(chuàng)建時其標題和名稱的命名約定。 (1)標題的命名約定 為菜單項進行標題賦值時,應當盡量遵循下列準則: ① 菜單中菜單控件標題應當惟一,但不同菜單中相似動作菜單控件可以重名。 ② 菜單控件標題可以是單詞、復合詞或者多個詞。 ③ 每一個菜單控件標題都應當有一個用鍵盤選取命令的、一個惟一的記憶訪問字符。訪問字符原則上應當是菜單控件標題的第一個字母,除非別的字符更易記;兩個菜單控件標題不能用同一個訪問字符。 ④ 如果命令在完成之前還需要附加信息,則在其標題后面應當有一個省略號(…),比如顯示一個對話框的命令(“另存為…”,“首選項…”)。 ⑤ 菜單控件標題應盡量簡短。 (2)名稱的命名約定 菜單控件命名約定規(guī)則建議用前綴來標識對象(即,對菜單控件用mnu),其后緊跟頂層菜單的名稱(如File)。對于子菜單,其后再緊跟該子菜單的標題(如mnuFileOpen)。 6、使菜單命令有效或無效 所有的菜單控件都具有Enabled屬性,當這個屬性設為False時,菜單命令無效使它不響應動作?;蛘哌x擇“菜單編輯器”中的“有效”框使菜單命令有效或無效。 7、顯示菜單控件上的復選標志 使用菜單控件的Checked屬性,或者使用菜單編輯器中“復選”框,可以把一個復選標志置于菜單上,表示該菜單項的打開/關閉條件的狀態(tài)。 1、有效性控制 【例9.1】圖9-4所示菜單中有“新建”和“關閉”菜單項。設計程序使在未新建文檔時,“關閉”項無效,“新建”菜單項有效。在新建文檔后,“關閉”項有效,而“新建”菜單項變?yōu)闊o效。 單擊“屬性”窗口上方的對象列表框,從中選擇菜單控件MenClose屬性列表中將Enabled屬性的值設置為False。 打開“代碼”窗口,將“新建”與“關閉”菜單項的Click修改如下: Private Sub MenClose_Click() Text1.Visible = False MenNew.Enabled = True MenClose.Enabled = False End Sub Private Sub MenNew_Click() Text1.Text = "" Text1.Visible = True MenNew.Enabled = False MenClose.Enabled = True End Sub 運行修改后的程序,程序啟動后,打開“文件”菜單,可見“關閉”菜單項無效,單擊“新建”菜單項,則“關閉”有效,而“新建”菜單項變?yōu)闊o效。 2、菜單項標記 【例9.2】為一個菜單項標記實例。如圖9-6所示,通過程序控制,使用戶在單擊“粗體”選項后,該選項的左邊出現(xiàn)一個“√”標記,表明當前文本以粗體顯示。再次單擊“粗體”選項,則“√”標記消失,且文本恢復以標準顯示。在“字號”子菜單中,用戶所選的字號前也會出現(xiàn)一個“√”標記。 打開“代碼”窗口,修改MenFont_Click與MenSize_Click事件過程如下: Private Sub MenFont_Click() If MenFont.Checked = False Then Text1.FontBold = True MenFont.Checked = True Else Text1.FontBold = False MenFont.Checked = False End If End Sub Private Sub MenSize_Click(Index As Integer) Select Case Index Case 0 Text1.FontSize = 14 MenSize(0).Checked = True MenSize(1).Checked = False MenSize(2).Checked = False Case 1 Text1.FontSize = 18 MenSize(1).Checked = True MenSize(0).Checked = False MenSize(2).Checked = False Case 2 Text1.FontSize = 20 MenSize(2).Checked = True MenSize(0).Checked = False MenSize(1).Checked = False End Select End Sub 3、菜單項的隱藏與顯示 【例9.3】設計程序使得只有在字體為粗體時,“字號”子菜單才顯示出來。如圖9-7所示,單擊“屬性”窗口上方的對象列表框,從中選擇菜單控件MenSize1,在屬性列表中將Visible屬性的值設置為False。打開“代碼”窗口,修改MenFont_Click事件過程如下: Private Sub MenFont_Click() If MenFont.Checked = False Then Text1.FontBold = True MenFont.Checked = True MenSize1.Visible = True Else Text1.FontBold = False MenFont.Checked = False MenSize1.Visible = False End If End Sub 運行修改后的程序,單擊“編輯”菜單,可見圖9-7在下拉菜單中沒有出現(xiàn)子菜單。 單擊“粗體”選項,則“字號”子菜單又出現(xiàn),如圖9-8所示。 4、鍵盤選擇 (1) 訪問鍵 在菜單編輯器中給菜單控件設置訪問鍵的步驟: ① 選取要設置訪問鍵菜單項。 ② 在其“標題”文本框中,直接輸入“&+訪問鍵字符”,這樣,“&”符號后的第一個字符將成為訪問鍵。 注意:菜單中不能使用重復的訪問鍵,如果多個菜單項使用同一個訪問鍵,則該鍵將不起作用。 (2) 快捷鍵 菜單項快捷鍵的設置步驟如下: ① 打開“菜單編輯器”。 ② 選取菜單項。 ③ 在“快捷鍵”組合框中選擇功能鍵或者鍵的組合。 要刪除快捷鍵,應選取列表框頂部的None。 注意:快捷鍵將自動出現(xiàn)在菜單上,不需要在菜單編輯器的“標題”框中鍵入Ctrl+Key。通常對于菜單中最低級的菜單項控件,一般需要設定訪問鍵和快捷鍵方式,使之能夠進行簡便操作。 9.2 對話框 1、要將窗體作為模式對話框顯示,請使用Show方法,其style參數(shù)值為vbModal(一個值為1的常數(shù))。例如: '將窗體frmAbout作為模式對話框顯示。 frmAbout.Show vbModal 2、要將窗體作為無模式對話框顯示,請使用不帶style參數(shù)的Show方法。例如: '將窗體frmAbout作為無模式對話框顯示。 frmAbout.Show 3、注意: 如果窗體顯示為模式對話框,則只有當對話框關閉之后,在Show方法后面的代碼才能執(zhí)行。當窗體被顯示為無模式對話框時,在該窗體顯示出來以后,Show方法后面的代碼緊接著就會執(zhí)行。 1、用輸入框來提示輸入 2、用消息對話框顯示信息 1、自定義對話框的創(chuàng)建 創(chuàng)建自定義對話框的方法有: (1) 從普通窗體創(chuàng)建; (2) 使用對話框模板; (3) 如果重復過多,可以建造能在多個應用程序中使用的對話框的集合。 2、自定義對話框的顯示和關閉 自定義對話框的顯示方法與模式或無模式對話框的顯示方法是一致的。 自定義對話框的關閉可以使用Hide方法或Unload語句來實現(xiàn),其格式為 Me.Hide 或 <窗體名>.Hide Unload<窗體名>. 1、“打開”/“另存為”對話框 2、“顏色”對話框 3、“字體”對話框 4、“打印”對話框 5、“幫助”對話框 小結(jié): Visual Basic的應用程序一般給用戶提供三種菜單:窗體控制菜單、下拉菜單與快捷菜單。窗體控制菜單由窗體的ControlBox屬性控制,下拉菜單和快捷菜單則可以由菜單控件(Menu)方便地設計出來。為了創(chuàng)建Menu控件,要使用“菜單編輯器”。 對話框主要可以分為三類:系統(tǒng)預定義對話框、用戶自定義對話框和通用對話框。根據(jù)對話框是否要求用戶必須作出響應,可以分為模式對話框和無模式對話框。 作業(yè): 1、簡述在VB中設計下拉菜單和快捷菜單的方法。 2、模式對話框和無模式對話框有何區(qū)別? 3、自定義對話框的設計步驟有哪些? 4、請說明通用對話框中各種對話框的使用方式。
5、請簡單總結(jié)對話框的類型及其基本作用。
|
|