界面樣式
如果使用過基於 Windows 的應用程序,也許已經注意到不是所有用戶界面看上去或操作起來都一樣。用戶界面樣式主要有兩種:單文檔界面 (SDI) 和多文檔界面 (MDI)。SDI 界面的一個示例就是 Microsoft Windows 中的WordPad(記事本)應用程序(圖 6.1)。在 WordPad 中,只能打開一個文檔,想要打開另一個文檔時,必須先關上已打開的文檔。
象 Microsoft Excel 和 Microsoft Word for Windows 這樣的應用程序就是MDI 界面;它們允許同時顯示多個文檔,每一個文檔都顯示在自己的窗口中(圖 6.2)。按照是否包含有能在窗口或文檔之間進行切換的子菜單的Windows 菜單項,就能識別出 MDI 應用程序。
要決定哪種界面樣式最好,需要看應用程序的目的。一個處理保險索賠的應用程序可能要用多文檔界面 MDI 樣式,一個職員很可能會同時處理一個以上索賠,或者需要對兩個索賠進行比較。另一方面,日歷程序最好設成 SDI(單文檔界面)樣式,因為不大需要同時打開一個以上日歷;在極少的情況下,可以再打開一個單文檔界面應用程序的實例。
SDI 樣式更常用,《程序員指南》中的大多數實例都采用 SDI 應用程序。關於創建 MDI 應用程序有一些需要單獨考慮的問題和技巧,放在本章後面“多文檔界面 (MDI) 應用程序”一節。
除了以上兩個最常用的界面樣式 SDI 與 MDI 外,第三種界面樣式變得越來越流行,這就是資源管理器樣式的界面(圖 6.3)。資源管理器樣式界面是包括有兩個窗格或者區域的一個單獨的窗口, 通常是由左半部分的一個樹型的或者層次型的視圖和右半部分的一個顯示區所組成,如在 MicrosoftWindows 的資源管理器中所見到的那樣。這種樣式的界面可用於定位或浏覽大量的文檔、圖片或文件。除了本章所附的 MDI 與 SDI 應用程序示例,實用程序向導還提供了一種比較界面樣式差別的方法。可以用向導來為每一種樣式生成一個框架,然後觀察它生成的窗體與代碼。
詳細信息 要了解更多的關於 MDI 應用程序的知識,請參閱“多文檔界面 (MDI) 應用程序”一節。有關窗體使用的基礎,請參閱第三章“窗體、控件與菜單”。有關訪問實用程序向導的信息,請參閱第四章“工程的管理”中“使用向導和外接程序”一節。
多文檔界面 (MDI) 應用程序
多文檔界面 (MDI) 允許創建在單個容器窗體中包含多個窗體的應用程序。像Microsoft Excel 與 Microsoft Word for Windows 這樣的應用程序就具有多文檔界面。
MDI 應用程序允許用戶同時顯示多個文檔,每個文檔顯示在它自己的窗口中。文檔或子窗口被包含在父窗口中,父窗口為應用程序中所有的子窗口提供工作空間。例如:Microsoft Excel 允許創建並顯示不同樣式的多文檔窗口。每個子窗口都被限制在 Excel 父窗口的區域之內。當最小化 Excel時,所有的文檔窗口也被最小化,只有父窗口的圖標顯示在任務欄中。子窗體就是 MDIChild 屬性設置為 True 的普通窗體。一個應用程序可以包含許多相似或者不同樣式的 MDI 子窗體。
在運行時,子窗體顯示在 MDI 父窗體工作空間之內(其區域在父窗體邊框以內及標題與菜單欄之下)。當子窗體最小化時,它的圖標顯示在 MDI 窗體的工作空間之內,而不是在任務欄中,如圖 6.4 所示。
注意 一個應用程序也可以包括標准的、不是包含在 MDI 窗體之內的非MDI 窗體。 MDI 應用程序中標准窗體的典型用法是顯示 模式的對話框。
MDI 窗體相似於具有一個限制條件的普通窗體。除非控件具有 Align 屬性(如 PictureBox 控件)或者具有不可見界面(如 Timer 控件),否則不能將控件直接放置在 MDI 窗體上。
創建 MDI 應用程序
使用下列步驟來創建 MDI 窗體及其子窗體。
要創建 MDI 應用程序,請按照以下步驟執行:
1. 創建 MDI 窗體。
從“工程”菜單中選取“添加 MDI 窗體”。