通用對話框、菜單、多文檔界面.ppt_第1頁
通用對話框、菜單、多文檔界面.ppt_第2頁
通用對話框、菜單、多文檔界面.ppt_第3頁
通用對話框、菜單、多文檔界面.ppt_第4頁
通用對話框、菜單、多文檔界面.ppt_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 8 章,多文檔界面,通用對話框,菜單,在VB應用程序中用戶界面設計是必需的,界面設計一般包括通用對話框、菜單、多文檔界面等。 本章主要內容 通用對話框:打開、另存、顏色、字體、打印和幫助 菜單設計:下拉式、彈出式和動態(tài)菜單 界面:單文檔界面和多文檔界面,第8章 通用對話框、菜單、多文檔界面,通用對話框(Common Dialog)控件提供了一組基于Windows的標準對話框界面:打開、保存、顏色、字體、幫助和打印對話框。 這些對話框僅用于返回信息,不能真正實現(xiàn)相關的操作。 如要打開一個文件,打開文件對話框僅僅顯示文件的選擇功能,真正要實現(xiàn)打開文件的功能必須通過用戶編程解決。 8.1.1 添

2、加通用對話框(Common Dialog)控件工具箱 兩種方法: 1、菜單:工程部件,在對話框中選“Microsoft Common Dialog Control 6.0 ” 2、快捷:工具箱單擊鼠標右鍵,在快捷菜單中選“部件”,在對話框中選“Microsoft Common Dialog Control 6.0 ”,8.1 通用對話框,通用對話框控件沒有事件,只有方法和屬性。 通過方法或Action屬性值顯示標準對話框。 通用對話框控件中的每一個標準對話框都有自己的屬性。,8.1.2 通用對話框的使用,格式: .ShowOpen 或 .Action=1 作用:選擇要打開文件的驅動器、文件路徑

3、、文件名及文件擴展名。,8.1.3 “打開文件”對話框,Filter屬性:用來返回或設置在對話框的類型列表框中所顯示的文件類型。設置過濾器的語法格式: .Filter=description1 |filter1 |description2 |filter2. 如:文本文件(*.txt)|*.txt|位圖文件(*.bmp)|*.bmp|圖標文件(*.ico)|*.ico 8.1.4 “另存為”對話框 “另存為”對話框用于對正在操作的文件進行指定文件名保存。 屬性同“打開文件”對話框。 格式為: .ShowSave或 .Action=2 作用:僅僅顯示一個標準對話框,真正要另存文件還要通過編程實現(xiàn)

4、。 例 8-1 編程顯示“打開”和“另存”對話框,并顯示所選文件及路徑。,8.1.3 “打開文件”對話框,程序代碼,顏色對話框通過showColor方法或Action設為3打開。 作用:供用戶選擇顏色,通過Color屬性得到顏色值。 例8-2 在例題8-1的基礎上,添加一個按鈕,命名為Command4,用于選取顏色,并設置文本框的字體顏色。 設置字體顏色 Private Sub Command4_Click() Dlog.ShowColor Text1.ForeColor = Dlog.Color End Sub,8.1.5 “顏色”對話框,程序代碼,字體對話框通過ShowFont方法或Act

5、ion屬性設為4打開。 主要屬性:FontName屬性、 FontSize屬性、 FontBold屬性、 FontItalic屬性、 Color屬性、Flags屬性。 顯示字體對話框之前,必須先設置對話框控件的 Flags 屬性為下列三個常數(shù)或值中的一個: cdlCFBoth 或 &H3, cdlCFPrinterFonts 或 &H2, 以及 cdlCFScreenFonts 或 &H1。 例8-3 在例題8-2的基礎上,讓用戶設置文本框中字體。 Private Sub Command5_Click() 設置字體 用flags屬性來設置是屏幕字體還是打印機字體效果 Dlog.Flags =

6、cdlCFScreenFonts Or cdlCFPrinterFonts Dlog.ShowFont With Text1 .FontName = Dlog.FontName .FontSize = Dlog.FontSize .FontBold = Dlog.FontBold .ForeColor = Dlog.Color End With End Sub,8.1.6 “字體”對話框,程序代碼,打印對話框通過ShowPrint方法或Action屬性設為5打開。 打印對話框僅供用戶對打印參數(shù)進行設置,要實現(xiàn)打印功能還需要通過對Printer對象編程完成。 主要屬性:Copies(復制份數(shù))屬

7、性、 FromPage(起始頁號)屬性、ToPage屬性等屬性。 例8-4 程序代碼 在例題8-3中再添加一個打印輸出的功能,對文本框中的內容打印出來。 打開打印機的設置對話框 ,打印文本框中的內容 Private Sub Command6_Click() 設置打印機的打印屬性 Dlog.ShowPrinter Printer.FontSize = Text1.FontSize 打印的字體用文本框的字體 Printer.Print Text1.Text 送到打印機去打印 Printer.EndDoc 打印結束 End Sub,8.1.7 “打印”對話框,幫助對話框一般用于制作應用程序的聯(lián)機幫助

8、,通過ShowHelp方法或Action屬性設為6打開。 幫助對話框僅適用于Windows98以下版本,即適用幫助文件擴展名為*.hlp;而Windows2000以后的幫助文件已經(jīng)改變,其擴展名為*.chm。,8.1.8 “幫助”對話框,在VB中,每一個菜單項都是一個控件對象,和其它對象一樣,有屬性和事件。 菜單按使用形式有下拉式菜單和彈出式菜單。 下拉式菜單位于窗口的頂部。作為程序的主控系統(tǒng) 彈出式菜單是獨立于窗體菜單欄而顯示在窗體內的浮動菜單,一般用單擊鼠標右鍵來打開。 一個菜單可以有下一級的菜單,稱子菜單,即從一個菜單打開另一個菜單;子菜單也可以有下一級的子菜單,最多可達6級。 一個菜單

9、項可以有熱鍵或快捷鍵。 熱鍵由Alt鍵與字符或與數(shù)字鍵組合而成,也可以單一字符鍵或數(shù)字鍵組成。 快捷鍵則由Ctrl鍵(或與Shift鍵)與字符等組合而成。 頂級菜單如果存在下級子菜單,則頂級菜單只能有熱鍵。 子菜單可以有熱鍵及快捷鍵。,8.2 菜單設計,啟動菜單編輯器: 有三種方法 1. 單擊工具欄菜單圖標 2. 工具/菜單編輯器 (CTRL+E) 3. 窗體上快捷菜單 菜單編輯器,8.2.1 菜單編輯器,菜單的屬性 1.標題(Caption):顯示菜單標題 - :分隔線 熱鍵:& 2.名稱(Name) 3.索引(Index) 4.復選(Checked) 5.有效(Enabled) 6.可見(

10、Visible),例 8-5 把例8-4的功能以菜單的形式實現(xiàn),菜單結構如表所示。,程序代碼,彈出式菜單的設計與下拉式菜單設計相同,如果不想菜單顯示在窗體頂部,只需把頂級菜單的Visible屬性設置為False即可。 在應用程序中,可以用PopuMenu方法實現(xiàn)彈出式菜單的顯示,語法格式: .PopupMenu ,x,y, menuname:頂級菜單名,指定的菜單必須含有至少一個子菜單。 X,Y:可選項,指定顯示彈出式菜單的 X和Y 坐標。省略,則使用鼠標的坐標。 Boldcommand:可選項,指定彈出式菜單中的菜單控件的名字,用以顯示其黑體正文標題。如果該參數(shù)省略,則彈出式菜單中沒有以黑體

11、字出現(xiàn)的控件。,8.2.2 彈出菜單,Flags:可選項,定義彈出菜單的位置和行為。,8.2.2 彈出菜單,如 vbPopupMenuCenterAlign OR vbPopupMenuRightButton或4+2,表示指定彈出式菜單的于x居中位,并且不論使用鼠標右按鈕還是左按鈕, 彈出式菜單中的項目都響應鼠標單擊。,例8-6 在例8-5的文本框中點擊鼠標右鍵時,在鼠標當前位置彈出編輯菜單項。 顯示編輯的彈出菜單 Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 在

12、文本框對象上鼠標彈起事件 If Button = 2 Then Button=2說明按下的是鼠標右鍵 PopupMenu Edit, vbPopupMenuCenterAlign, , , EditColor 彈出“編輯”菜單 End If End Sub. 例8-6的彈出菜單命令代碼中缺省了X,Y坐標。,8.2.2 彈出菜單,程序代碼,上述的例子中,菜單設計好后就不能在應用程序運行中隨時增加或刪除。要實現(xiàn)隨著應用程序的變化動態(tài)地增減菜單項,需要使用菜單控件數(shù)組。 菜單控件與其它控件一樣可以設為控件數(shù)組,然后用Load方法加載,用UnLoad方法刪除。 例8-7 在Word中,最近打開的文件名

13、都會在文件菜單中以菜單的形式出現(xiàn)。對例8-6仿Word,把打開菜單隨選的的文件名也以菜單形式顯示,顯示文件名限定4個,超過4個以后采用先進先出算法更新文件名。,8.2.3 動態(tài)菜單 ,程序代碼,普通窗體 :應用程序的窗體可以在屏幕內任意移動,某一窗體的打開或關閉等操作不會影響其它窗體,這些窗體稱普通窗體 。 父窗體及子窗體 :應用程序的一個窗體(父窗體)中包含多個窗體(子窗體),父窗體一旦關閉子窗體也隨之關閉,父窗體可以在屏幕內任意移動,子窗體只能在父窗體內移動。 應用程序中窗體間的關系: 1、互相獨立。普通窗體間的關系 2、父子關系。 根據(jù)窗體之間的關系,應用程序界面分兩種樣式: 1、單文檔

14、界面(Single Document Interface,簡稱SDI) 2、多文檔界面(Multiple Document Interface,簡稱MDI),8.3 單文檔界面和多文檔界面,單文檔界面應用程序中可以只有一個普通窗體,也可以有多個普通窗體 ,窗體間互相獨立,窗體可以在屏幕內任意移動。如果單文檔界面的應用程序中有多個窗體,稱多重窗體。 單文檔界面的設計無須特別申明。 如果應用程序中需要多個普通窗體,在程序設計時,需要考慮多重窗體的有關操作:添加窗體,設置啟動對象,窗體的調用等。 在程序運行時,同一時刻只能有一個活動窗體。,8.3.1 單文檔界面 ,1添加窗體 三種方法: A.選擇“

15、工程”菜單的“添加窗體”子菜單 B.選擇工具欄的添加窗體按鈕 C.在工程資源管理窗口單擊鼠標右鍵,在出現(xiàn)的快捷菜單中選擇“添加”菜單中的“添加窗體”菜單 選擇“添加窗體”菜單后,會出現(xiàn)一個“添加窗體”對話框,在對話框中有“新建”和“現(xiàn)存”兩個選項卡,通過“新建”選項卡可以選擇需要的窗體樣式創(chuàng)建到工程中;通過“現(xiàn)存”選項卡可以把已存在的窗體文件(擴展名為frm)添加到工程中。,8.3.1 單文檔界面 ,2設置啟動對象 在程序運行時,首先執(zhí)行的對象稱啟動對象。每一個工程都需要且只能有一個啟動對象,啟動對象可以是一個窗體,也可以是Sub Main子過程。缺省情況下,創(chuàng)建的第一個窗體被指定為啟動對象,

16、又稱啟動窗體。 如果啟動對象要設為Sub Main子過程,Main子過程必須放在標準模塊中,不能放在窗體模塊中。在Main子過程中可以先加載其它信息,如數(shù)據(jù)文件,然后再根據(jù)數(shù)據(jù)文件的內容決定加載哪一個窗體。,8.3.1 單文檔界面,改變啟動對象,可以通過選擇“工程”菜單中的“工程屬性”子菜單,3有關窗體的語句和方法 加載窗體:Load (窗體裝入內存,觸發(fā)相應事件) 卸載窗體:Unload (從內存中釋放) 顯示窗體:.Show style Style:窗體顯示模式, 0:無模式 1:模式 模式窗體:指該窗體一旦顯示就不能與其它窗體互相切換,所有的操作只能針對該窗體;要操作其它窗體,必須關閉該

17、窗體。 無模式窗體:指該窗體顯示后仍可以與其它窗體互相切換。 隱藏窗體:.Hide (沒有從內存中釋放),8.3.1 單文檔界面,例8-8 編一應用程序,功能上要求一個主界面,一個輸入學生5門課程成績的窗體,一個顯示平均分和總分的窗體。要求用戶名、密碼輸入正確后才能進入使用。 實現(xiàn)思路:程序運行時,首先執(zhí)行登陸界面,判斷輸入的用戶名、密碼是否正確,如果三次輸入不正確,則結束程序;如果輸入正確,則顯示主界面。主界面可以用菜單或按鈕顯示輸入成績、計算和退出功能。初始化或當輸入成績窗體有一門課程成績?yōu)榭諘r,不能進行計算功能,計算菜單或按鈕為無效狀態(tài)。用模式窗體顯示輸入成績窗體。計算平均分時,數(shù)據(jù)是從

18、輸入成績窗體中取得,因此輸入成績窗體不能從內存中釋放。,8.3.1 單文檔界面,程序代碼,一個多文檔界面應用程序中父窗體(MDI窗體)只能有一個,子窗體(Child,文檔窗體)和普通窗體可有多個。 子窗體只能在父窗體內移動,用于顯示各自的文檔,且只能用無模式窗體顯示。當子窗體最小化時,其圖標顯示在父窗體中而不是在任務欄中。 父窗體和子窗體可以有各自的菜單,但當子窗體加載時,子窗體的菜單將覆蓋父窗體的菜單。 父窗體只能放置菜單和具有Align屬性的控件,如圖像(PictureBox)控件 ,或程序運行后不可視的控件,如定時器(Timer)控件、普通對話框(CommonDialog)控件等。,8.3.2 多文檔界面,1創(chuàng)建MDI窗體 三種方法: A.選擇“工程”菜單的“添加MDI窗體”子菜單 B.選擇工具欄的添加MDI窗體按鈕 C.在工程資源管理窗口單擊鼠標右鍵,在出現(xiàn)的快捷菜單中選擇“添加”菜單中的“添加MDI窗體”菜單,8.3.2 多文檔界面,常用屬性,2創(chuàng)建子窗體 把普通窗體的MDIChild屬性為True, 則該窗體即為MDI的子窗體。 3子窗體的交互 MDI窗體提供了ActiveForm、ActiveControl兩個屬性來處理子窗體的數(shù)據(jù)

溫馨提示

  • 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

提交評論