在 Windows 中,文檔分為單文檔(SDI)和多文檔(MDI)兩種,如我們熟悉的“記事本”就是一個(gè)典型的單文檔程序,它最明顯的特點(diǎn)是一次只能打開一個(gè)文件,當(dāng)新建一個(gè)文件時(shí),當(dāng)前文件自動(dòng)被替換掉。
多文檔界面,如 Word ,允許用戶同時(shí)打開多個(gè)文件進(jìn)行操作。在多文檔界面中,有一個(gè)窗體叫做主窗體(又稱為 MDI 窗體),其他窗體稱為子窗體。子窗體始終處在主窗體內(nèi)部,主窗體的位置移動(dòng)會(huì)導(dǎo)致子窗體的位置發(fā)生相應(yīng)變化。如圖一:
圖一
一、多文檔程序的建立:
多文檔程序至少有兩個(gè)窗體,一個(gè)主窗體和一個(gè)子窗體或多個(gè)子窗體,主窗體是其他窗體的容器。
1、創(chuàng)建一個(gè)新工程,然后選擇工程/工程屬性菜單命令,加入如圖二的主窗體:
圖二
2、在“項(xiàng)目”窗口中雙擊 Form1 切換到 Form1 ,然后將其 MDIChild 屬性設(shè)為 True ,如圖三:
圖三
3、按 F5 鍵運(yùn)行程序,結(jié)果如圖四:
圖四
4、控制程序的打開狀態(tài):
如果要讓程序打開時(shí)自動(dòng)載入 Form1 窗口,那么在如圖五的工程屬性窗口中選擇“啟動(dòng)對(duì)象”為 Form1 ;如果不想顯示子窗體,那么只需在“啟動(dòng)對(duì)象”中選擇 MDIForm1 就行了。
圖五
5、子窗體的顯示:
假設(shè)工程的啟動(dòng)對(duì)象為 MDIForm1 ,那么如何顯示子窗體 Form1 呢?
可以在主窗體中加入菜單,或者直接用 Load 的方法,如下:
Private Sub MDIForm_Load()
Form1.Show 0
End Sub
這段代碼將 Form1 顯示出來,并呈非模態(tài)模式。
二、主窗體與子窗體的標(biāo)題:
當(dāng)主窗體與子窗體都呈顯現(xiàn)狀態(tài)時(shí),把子窗體最大化,你會(huì)發(fā)現(xiàn)窗體的標(biāo)題變成了主窗體標(biāo)題加上子窗體標(biāo)題,如圖六:
圖六
三、主窗體與子窗體的菜單:
在 VB 中,如果子窗體載入,那么主窗體的菜單將被子窗體的菜單替換;只有當(dāng)主窗體中沒有子窗體時(shí)才能顯示主窗體的菜單,如圖七、圖八、圖九、圖十:
圖七
圖八
圖九
聯(lián)系客服