界面樣式
如果使用過基于 Windows 的應用程序,也許已經(jīng)注意到不是所有用戶界面看上去或操作起來都一樣。用戶界面樣式主要有兩種:單文檔界面 (SDI) 和多文檔界面 (MDI)。SDI 界面的一個示例就是 Microsoft Windows 中的WordPad(記事本)應用程序(圖 6.1)。在 WordPad 中,只能打開一個文檔,想要打開另一個文檔時,必須先關上已打開的文檔。
象 Microsoft Excel 和 Microsoft Word for Windows 這樣的應用程序就是MDI 界面;它們允許同時顯示多個文檔,每一個文檔都顯示在自己的窗口中(圖 6.2)。按照是否包含有能在窗口或文檔之間進行切換的子菜單的Windows 菜單項,就能識別出 MDI 應用程序。
要決定哪種界面樣式,需要看應用程序的目的。一個處理保險索賠的應用程序可能要用多文檔界面 MDI 樣式,一個職員很可能會同時處理一個以上索賠,或者需要對兩個索賠進行比較。另一方面,日歷程序設成 SDI(單文檔界面)樣式,因為不大需要同時打開一個以上日歷;在極少的情況下,可以再打開一個單文檔界面應用程序的實例。
SDI 樣式更常用,《程序員指南》中的大多數(shù)實例都采用 SDI 應用程序。關于創(chuàng)建 MDI 應用程序有一些需要單獨考慮的問題和技巧,放在本章后面“多文檔界面 (MDI) 應用程序”一節(jié)。
除了以上兩個最常用的界面樣式 SDI 與 MDI 外,第三種界面樣式變得越來越流行,這就是資源管理器樣式的界面(圖 6.3)。資源管理器樣式界面是包括有兩個窗格或者區(qū)域的一個單獨的窗口, 通常是由左半部分的一個樹型的或者層次型的視圖和右半部分的一個顯示區(qū)所組成,如在 MicrosoftWindows 的資源管理器中所見到的那樣。這種樣式的界面可用于定位或瀏覽大量的文檔、圖片或文件?! 〕吮菊滤降?MDI 與 SDI 應用程序示例,實用程序向導還提供了一種比較界面樣式差別的方法??梢杂孟驅頌槊恳环N樣式生成一個框架,然后觀察它生成的窗體與代碼。
詳細信息 要了解更多的關于 MDI 應用程序的知識,請參閱“多文檔界面 (MDI) 應用程序”一節(jié)。有關窗體使用的基礎,請參閱第三章“窗體、控件與菜單”。有關訪問實用程序向導的信息,請參閱第四章“工程的管理”中“使用向導和外接程序”一節(jié)。
多文檔界面 (MDI) 應用程序
多文檔界面 (MDI) 允許創(chuàng)建在單個容器窗體中包含多個窗體的應用程序。像Microsoft Excel 與 Microsoft Word for Windows 這樣的應用程序就具有多文檔界面。
MDI 應用程序允許用戶同時顯示多個文檔,每個文檔顯示在它自己的窗口中。文檔或子窗口被包含在父窗口中,父窗口為應用程序中所有的子窗口提供工作空間。例如:Microsoft Excel 允許創(chuàng)建并顯示不同樣式的多文檔窗口。每個子窗口都被限制在 Excel 父窗口的區(qū)域之內(nèi)。當最小化 Excel時,所有的文檔窗口也被最小化,只有父窗口的圖標顯示在任務欄中。子窗體就是 MDIChild 屬性設置為 True 的普通窗體。一個應用程序可以包含許多相似或者不同樣式的 MDI 子窗體。
在運行時,子窗體顯示在 MDI 父窗體工作空間之內(nèi)(其區(qū)域在父窗體邊框以內(nèi)及標題與菜單欄之下)。當子窗體最小化時,它的圖標顯示在 MDI 窗體的工作空間之內(nèi),而不是在任務欄中,如圖 6.4 所示。
注意 一個應用程序也可以包括標準的、不是包含在 MDI 窗體之內(nèi)的非MDI 窗體。 MDI 應用程序中標準窗體的典型用法是顯示 模式的對話框。
MDI 窗體相似于具有一個限制條件的普通窗體。除非控件具有 Align 屬性(如 PictureBox 控件)或者具有不可見界面(如 Timer 控件),否則不能將控件直接放置在 MDI 窗體上。
創(chuàng)建 MDI 應用程序
使用下列步驟來創(chuàng)建 MDI 窗體及其子窗體。
要創(chuàng)建 MDI 應用程序,請按照以下步驟執(zhí)行:
1. 創(chuàng)建 MDI 窗體。
從“工程”菜單中選取“添加 MDI 窗體”。
注意 一個應用程序只能有一個 MDI 窗體。如果工程已經(jīng)有了一個 MDI窗體,則該“工程”菜單上的“添加 MDI 窗體”命令就 不可使用。
2. 創(chuàng)建應用程序的子窗體。
要創(chuàng)建一個 MDI 子窗體,先創(chuàng)建一個新窗體(或者打開一個存在的窗體),然后把它的 MDIChild 屬性設為 True。
設計時使用 MDI 子窗體
在設計時,子窗體不是限制在 MDI 窗體區(qū)域之內(nèi)??梢蕴砑涌丶?、設置屬性、編寫代碼以及設計子窗體功能,就像在其它 Visual Basic 窗體中做的那樣。
通過查看 MDIChild 屬性或者檢查工程資源管理器,可以確定窗體是否是一個 MDI 子窗體。如果該窗體的 MDIChild 屬性設置為 True,則它是一個子窗體。Visual Basic 在“工程資源管理器”中為 MDI 窗體與 MDI 子窗體顯示了特定的圖標,如圖 6.5 所示。
MDI 窗體運行時的特性
在運行時,MDI 窗體及其所有的子窗體都呈現(xiàn)特定的性質:
1.所有子窗體均顯示在 MDI 窗體的工作空間內(nèi)。像其它的窗體一樣,用戶能移動子窗體和改變子窗體的大小,不過,它們被限 制于這一工作空間內(nèi)。
如果使用過基于 Windows 的應用程序,也許已經(jīng)注意到不是所有用戶界面看上去或操作起來都一樣。用戶界面樣式主要有兩種:單文檔界面 (SDI) 和多文檔界面 (MDI)。SDI 界面的一個示例就是 Microsoft Windows 中的WordPad(記事本)應用程序(圖 6.1)。在 WordPad 中,只能打開一個文檔,想要打開另一個文檔時,必須先關上已打開的文檔。
象 Microsoft Excel 和 Microsoft Word for Windows 這樣的應用程序就是MDI 界面;它們允許同時顯示多個文檔,每一個文檔都顯示在自己的窗口中(圖 6.2)。按照是否包含有能在窗口或文檔之間進行切換的子菜單的Windows 菜單項,就能識別出 MDI 應用程序。
要決定哪種界面樣式,需要看應用程序的目的。一個處理保險索賠的應用程序可能要用多文檔界面 MDI 樣式,一個職員很可能會同時處理一個以上索賠,或者需要對兩個索賠進行比較。另一方面,日歷程序設成 SDI(單文檔界面)樣式,因為不大需要同時打開一個以上日歷;在極少的情況下,可以再打開一個單文檔界面應用程序的實例。
SDI 樣式更常用,《程序員指南》中的大多數(shù)實例都采用 SDI 應用程序。關于創(chuàng)建 MDI 應用程序有一些需要單獨考慮的問題和技巧,放在本章后面“多文檔界面 (MDI) 應用程序”一節(jié)。
除了以上兩個最常用的界面樣式 SDI 與 MDI 外,第三種界面樣式變得越來越流行,這就是資源管理器樣式的界面(圖 6.3)。資源管理器樣式界面是包括有兩個窗格或者區(qū)域的一個單獨的窗口, 通常是由左半部分的一個樹型的或者層次型的視圖和右半部分的一個顯示區(qū)所組成,如在 MicrosoftWindows 的資源管理器中所見到的那樣。這種樣式的界面可用于定位或瀏覽大量的文檔、圖片或文件?! 〕吮菊滤降?MDI 與 SDI 應用程序示例,實用程序向導還提供了一種比較界面樣式差別的方法??梢杂孟驅頌槊恳环N樣式生成一個框架,然后觀察它生成的窗體與代碼。
詳細信息 要了解更多的關于 MDI 應用程序的知識,請參閱“多文檔界面 (MDI) 應用程序”一節(jié)。有關窗體使用的基礎,請參閱第三章“窗體、控件與菜單”。有關訪問實用程序向導的信息,請參閱第四章“工程的管理”中“使用向導和外接程序”一節(jié)。
多文檔界面 (MDI) 應用程序
多文檔界面 (MDI) 允許創(chuàng)建在單個容器窗體中包含多個窗體的應用程序。像Microsoft Excel 與 Microsoft Word for Windows 這樣的應用程序就具有多文檔界面。
MDI 應用程序允許用戶同時顯示多個文檔,每個文檔顯示在它自己的窗口中。文檔或子窗口被包含在父窗口中,父窗口為應用程序中所有的子窗口提供工作空間。例如:Microsoft Excel 允許創(chuàng)建并顯示不同樣式的多文檔窗口。每個子窗口都被限制在 Excel 父窗口的區(qū)域之內(nèi)。當最小化 Excel時,所有的文檔窗口也被最小化,只有父窗口的圖標顯示在任務欄中。子窗體就是 MDIChild 屬性設置為 True 的普通窗體。一個應用程序可以包含許多相似或者不同樣式的 MDI 子窗體。
在運行時,子窗體顯示在 MDI 父窗體工作空間之內(nèi)(其區(qū)域在父窗體邊框以內(nèi)及標題與菜單欄之下)。當子窗體最小化時,它的圖標顯示在 MDI 窗體的工作空間之內(nèi),而不是在任務欄中,如圖 6.4 所示。
注意 一個應用程序也可以包括標準的、不是包含在 MDI 窗體之內(nèi)的非MDI 窗體。 MDI 應用程序中標準窗體的典型用法是顯示 模式的對話框。
MDI 窗體相似于具有一個限制條件的普通窗體。除非控件具有 Align 屬性(如 PictureBox 控件)或者具有不可見界面(如 Timer 控件),否則不能將控件直接放置在 MDI 窗體上。
創(chuàng)建 MDI 應用程序
使用下列步驟來創(chuàng)建 MDI 窗體及其子窗體。
要創(chuàng)建 MDI 應用程序,請按照以下步驟執(zhí)行:
1. 創(chuàng)建 MDI 窗體。
從“工程”菜單中選取“添加 MDI 窗體”。
注意 一個應用程序只能有一個 MDI 窗體。如果工程已經(jīng)有了一個 MDI窗體,則該“工程”菜單上的“添加 MDI 窗體”命令就 不可使用。
2. 創(chuàng)建應用程序的子窗體。
要創(chuàng)建一個 MDI 子窗體,先創(chuàng)建一個新窗體(或者打開一個存在的窗體),然后把它的 MDIChild 屬性設為 True。
設計時使用 MDI 子窗體
在設計時,子窗體不是限制在 MDI 窗體區(qū)域之內(nèi)??梢蕴砑涌丶?、設置屬性、編寫代碼以及設計子窗體功能,就像在其它 Visual Basic 窗體中做的那樣。
通過查看 MDIChild 屬性或者檢查工程資源管理器,可以確定窗體是否是一個 MDI 子窗體。如果該窗體的 MDIChild 屬性設置為 True,則它是一個子窗體。Visual Basic 在“工程資源管理器”中為 MDI 窗體與 MDI 子窗體顯示了特定的圖標,如圖 6.5 所示。
MDI 窗體運行時的特性
在運行時,MDI 窗體及其所有的子窗體都呈現(xiàn)特定的性質:
1.所有子窗體均顯示在 MDI 窗體的工作空間內(nèi)。像其它的窗體一樣,用戶能移動子窗體和改變子窗體的大小,不過,它們被限 制于這一工作空間內(nèi)。