VB程序設(shè)計(jì)第十章_第1頁(yè)
VB程序設(shè)計(jì)第十章_第2頁(yè)
VB程序設(shè)計(jì)第十章_第3頁(yè)
VB程序設(shè)計(jì)第十章_第4頁(yè)
VB程序設(shè)計(jì)第十章_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第十章界面設(shè)計(jì)第2頁(yè)目標(biāo)用戶界面是應(yīng)用程序的一個(gè)重要組成部分,它主要負(fù)責(zé)用戶與應(yīng)用程序之間的交互。Visual Basic 提供了一系列的界面設(shè)計(jì)工具和技術(shù)控件對(duì)話框菜單工具欄狀態(tài)欄多重窗體多文檔等熟悉各種界面設(shè)計(jì)工具,掌握界面設(shè)計(jì)技術(shù)和設(shè)計(jì)的原則,為將來(lái)開(kāi)發(fā)應(yīng)用程序奠定良好的基礎(chǔ)。 第3頁(yè)任務(wù)1簡(jiǎn)單文本編輯器利用Visual Basic的菜單編輯器設(shè)計(jì)下拉菜單,利用shell函數(shù)調(diào)用系統(tǒng)應(yīng)用程序,利用CommonDialog控件打開(kāi)通用對(duì)話框設(shè)置相應(yīng)屬性,完成簡(jiǎn)單文本編輯器的設(shè)計(jì)。第4頁(yè)任務(wù)1簡(jiǎn)單文本編輯器 (a) “文件”主菜單 (b) “編輯”主菜單 (c) “格式”主菜單 (d) “附

2、件”主菜單圖10-1 簡(jiǎn)單文本編輯器的執(zhí)行界面第5頁(yè)任務(wù)分析該任務(wù)我們要研究以下內(nèi)容:利用菜單編輯器設(shè)計(jì)菜單。利用Shell函數(shù)調(diào)用系統(tǒng)應(yīng)用程序,如Word文檔、畫圖、游戲程序等。利用CommonDialog控件打開(kāi)通用對(duì)話框,如“打開(kāi)”、“保存”、“字體”、“顏色”、對(duì)話框等,設(shè)置相應(yīng)屬性。因?yàn)橐趦蓚€(gè)Sub塊中完成“復(fù)制”和“粘貼”操作,或“剪切”和“粘貼”操作,所以需要設(shè)置一個(gè)全局變量st存放“選定”文本。利用Text1.SelLength屬性求選定文本的長(zhǎng)度,如果為0,說(shuō)明未選定文本,則“復(fù)制”和“剪切”菜單不可用,否則可用。編寫菜單代碼。第6頁(yè)任務(wù)分析菜單1使應(yīng)用程序可以執(zhí)行多種任務(wù)

3、。2使用戶可以高效地使用應(yīng)用程序。3提供了一種便捷統(tǒng)一的方法,將不同的命令分組排列,使用戶可以方便地訪問(wèn)。第7頁(yè)任務(wù)分析菜單的類型:下拉式菜單 是一種典型的窗口式菜單,一般有一個(gè)主菜單,其中包含若干個(gè)選擇項(xiàng)。主菜單的每一項(xiàng)又可“下拉”出下一級(jí)菜單,這樣逐級(jí)下拉,用一個(gè)窗口的形式彈出在屏幕上,操作完后消失。彈出式菜單又稱快捷菜單,是一種小型的菜單,通常在窗體的某個(gè)區(qū)域通過(guò)單擊鼠標(biāo)右鍵打開(kāi),彈出菜單不會(huì)固定到窗體。這里只介紹下拉式菜單。第8頁(yè)任務(wù)分析子菜單項(xiàng)下級(jí)子菜單標(biāo)記熱鍵快捷鍵分隔線復(fù)選標(biāo)記菜單項(xiàng)主菜單下拉式菜單第9頁(yè)任務(wù)分析菜單編輯器1啟動(dòng)菜單編輯器下拉式菜單和彈出式菜單在菜單編輯器中設(shè)計(jì),

4、可通過(guò)四種方式進(jìn)入。(1)執(zhí)行“工具”菜單中的“菜單編輯器”命令。(2)單擊工具欄中的“菜單編輯器”按鈕。(3)在窗體上單擊鼠標(biāo)右鍵,彈出一個(gè)快捷菜單,選擇“菜單編輯器”選項(xiàng)。(4)使用熱鍵Ctrl+E。第10頁(yè)任務(wù)分析圖10-2 “菜單編輯器”窗口第11頁(yè)任務(wù)分析2菜單編輯器的組成(1)上半部分是屬性區(qū),用來(lái)設(shè)置菜單屬性,主要包含下面屬性:標(biāo)題:菜單的名字及菜單中每個(gè)菜單項(xiàng)的標(biāo)題。名稱:用于在代碼中引用菜單控件的名稱。索引:為用戶建立的控件(菜單項(xiàng))數(shù)組設(shè)立下標(biāo)。快捷鍵:是指按下快捷鍵,菜單項(xiàng)功能會(huì)立刻執(zhí)行復(fù)選:決定是否在菜單項(xiàng)旁邊顯示一個(gè)復(fù)選標(biāo)記“”。有效:決定菜單項(xiàng)是否響應(yīng)事件??梢?jiàn):決

5、定菜單項(xiàng)是否可見(jiàn)。第12頁(yè)任務(wù)分析(2)中間部分是編輯區(qū),有七個(gè)按鈕,用來(lái)對(duì)輸入的菜單項(xiàng)進(jìn)行簡(jiǎn)單的編輯按鈕:使選定的菜單上移一層。按鈕:使選定的菜單下移一層。按鈕:使選定的菜單在同一層菜單中上移一個(gè)位置。按鈕:使選定的菜單在同一層菜單中下移一個(gè)位置?!跋乱粋€(gè)”按鈕:選定下一行?!安迦搿卑粹o:在菜單列表框中當(dāng)前行的上方插入一行,用來(lái)插入新的菜單項(xiàng)。 “刪除”按鈕:刪除當(dāng)前選定的行。第13頁(yè)任務(wù)分析(3)下半部分是菜單項(xiàng)顯示區(qū)用來(lái)顯示菜單項(xiàng)的分層列表,子菜單項(xiàng)的縮進(jìn)狀態(tài)表示它們?cè)诓藛螌哟谓Y(jié)構(gòu)中的位置或級(jí)別。第14頁(yè)任務(wù)分析菜單的常用屬性:Visible屬性指定在運(yùn)行時(shí)該菜單項(xiàng)是否可見(jiàn),有兩個(gè)取值,

6、分別為:Ture:表示可見(jiàn),缺省設(shè)置;False:表示不可見(jiàn)。例如:B1. Visible =TureEnabled屬性指定在運(yùn)行時(shí)該菜單項(xiàng)是否可用,有兩個(gè)取值,分別為:Ture:表示可用,缺省設(shè)置;False:表示不可用。例如:B1.Enabled =Ture第15頁(yè)任務(wù)分析菜單的常用事件:菜單或菜單項(xiàng)有且只有Click事件Click事件用于定義在選擇該菜單會(huì)觸發(fā)的操作單擊已經(jīng)定義好的菜單項(xiàng)即可進(jìn)入Click事件過(guò)程的代碼窗口編寫代碼。第16頁(yè)任務(wù)實(shí)施創(chuàng)建新工程在主窗體中,選擇“工具”菜單下的“菜單編輯器”選項(xiàng),進(jìn)入“菜單編輯器”窗口,如圖10-2所示,并按表10-1設(shè)置各菜單項(xiàng)。 圖10-

7、2 “菜單編輯器”窗口第17頁(yè)任務(wù)實(shí)施2. 在主窗體中,選擇“工具”菜單下的“菜單編輯器”選項(xiàng),進(jìn)入“菜單編輯器”窗口,如圖10-2所示,并按表10-1設(shè)置各菜單項(xiàng)。 表10-1 各菜單項(xiàng)的設(shè)置標(biāo)題名稱快捷鍵標(biāo)題名稱快捷鍵文件A格式C新建A1字體C1打開(kāi)A2顏色C2Word文檔A21附件D文本文件A22畫圖D1另存為A3游戲D2關(guān)閉A4紙牌D21編輯B掃雷D22復(fù)制B1Ctrl+C關(guān)于E剪切B2Ctrl+X粘貼B3Ctrl+V第18頁(yè)任務(wù)實(shí)施3在窗體上添加一個(gè)文本框控件TextBox、一個(gè)標(biāo)簽控件Label和一個(gè)通用對(duì)話框控件CommonDialog(事先將該控件加入控件工具箱),在屬性窗口中

8、設(shè)置各控件的屬性,如表10-2所示。表10-2 在屬性窗口中設(shè)置屬性控件名屬性名屬性值文本框Text1Text空MultilineTrueScrollBars3-BothLockedFalse標(biāo)簽Label1Caption空第19頁(yè)任務(wù)實(shí)施在代碼窗口編寫事件代碼并保存、運(yùn)行源代碼Private Sub B_Click() 如果未選定文本,“復(fù)制”和“剪切”菜單不可用 B1.Enabled = IIf(Text1.SelLength = 0, False, True) B2.Enabled = IIf(Text1.SelLength = 0, False, True)End SubPrivate

9、 Sub D1_Click() 畫圖 Shell (c:windowssystem32mspaint.exe), vbNormalFocusEnd SubPrivate Sub D21_Click() 紙牌 Shell (c:windowssystem32sol.exe), vbNormalFocusEnd Sub第20頁(yè)任務(wù)設(shè)計(jì)完成效果 (a) “文件”主菜單 (b) “編輯”主菜單 (c) “格式”主菜單 (d) “附件”主菜單圖10-1 簡(jiǎn)單文本編輯器的執(zhí)行界面第21頁(yè)任務(wù)2帶有工具欄的文本編輯器圖10-4 帶有工具欄的文本編輯器程序的執(zhí)行界面利用工具欄ToolBar和圖像列表Image

10、List控件完成工具欄的設(shè)計(jì)。第22頁(yè)任務(wù)分析該任務(wù)我們要研究以下內(nèi)容工具欄ToolBar和圖象列表ImageList控件。1.將ToolBar和ImageList控件加入到工具箱中。2.利用ImageList控件實(shí)現(xiàn)工具欄按鈕圖片的載入。3.向工具欄添加按鈕對(duì)象,并且設(shè)置ToolBar控件中按鈕的屬性。4.編寫工具欄按鈕代碼。第23頁(yè)任務(wù)分析工具欄包含的按鈕通常與應(yīng)用程序菜單項(xiàng)相對(duì)應(yīng),一般直接位于菜單欄下方在運(yùn)行過(guò)程中,可以使其顯示“工具提示”,即提供工具欄按鈕用途簡(jiǎn)短文本說(shuō)明的小型彈出式窗口。工具欄按鈕的目的:1提供對(duì)應(yīng)用程序中常用菜單命令的快速訪問(wèn)。2提供圖形界面,方便用戶訪問(wèn)常用的應(yīng)用

11、程序功能。第24頁(yè)任務(wù)分析創(chuàng)建工具欄的主要步驟:添加ToolBar控件和ImageList控件。用ImageList控件保存要使用的圖像。創(chuàng)建ToolBar控件,并將ToolBar控件與ImageList控件相關(guān)聯(lián),添加按鈕對(duì)象。把工具欄按鈕的Click事件代碼連接到工具欄的按鈕上。 圖10-8 工具欄(ToolBar)控件和圖像列表(ImageList)控件的圖標(biāo)第25頁(yè)任務(wù)分析工具欄控件的常用屬性:1Align屬性確定工具欄的位置,有五個(gè)取值,分別為04,代表工具欄放置在設(shè)計(jì)時(shí)所放的位置、窗體的上部、窗體的下部、窗體的左邊和窗體的右邊。2Style屬性 確定按鈕對(duì)象的外觀。3ToolAli

12、gnment屬性確定文本相對(duì)于按鈕的位置。4ToolTipText設(shè)置工具欄按鈕的提示文本。程序運(yùn)行時(shí),當(dāng)鼠標(biāo)在控件上暫停時(shí)顯示的文本。5ShowTips屬性確定是否顯示工具欄按鈕上的提示文本。第26頁(yè)任務(wù)分析工具欄控件的常用事件:1ButtonClick事件當(dāng)單擊工具欄中的一個(gè)按鈕時(shí)觸發(fā)。2Click事件當(dāng)單擊工具欄控件時(shí)觸發(fā)。第27頁(yè)任務(wù)實(shí)施1.打開(kāi)任務(wù)1簡(jiǎn)單文本編輯器程序的窗體,選擇“工程”菜單下的“部件”選項(xiàng),在“控件”選項(xiàng)卡中選中“Microsoft Windows Common Controls 6.0”復(fù)選框,單擊“確定”。2.在窗體上添加工具欄ToolBar和圖像列表Image

13、List控件。第28頁(yè)任務(wù)實(shí)施3.利用ImageList控件實(shí)現(xiàn)工具欄按鈕圖片的載入。在ImageList1控件上單擊鼠標(biāo)右鍵,單擊“屬性”選項(xiàng),進(jìn)入“屬性頁(yè)”窗口選擇“圖像”選項(xiàng)卡,單擊“插入圖片”按鈕,依次從“c:program filesMicrosoft visual studiocommongraphicsbitmapstlbr_w95”目錄中選取圖片NEW.bmp等圖片。 圖10-5 “屬性頁(yè)”窗口中的“圖像”選項(xiàng)卡第29頁(yè)任務(wù)實(shí)施圖10-6 “屬性頁(yè)”窗口中的“通用”選項(xiàng)卡4.建立ToolBar1和ImageList1的關(guān)聯(lián)。在ToolBar1控件上單擊鼠標(biāo)右鍵,選擇“屬性”選項(xiàng)

14、,打開(kāi)“屬性頁(yè)”窗口,選擇“通用”選項(xiàng)卡,在“圖像列表”中選擇“ImageList1”。第30頁(yè)任務(wù)實(shí)施5.在“屬性頁(yè)”窗口中,再選擇“按鈕”選項(xiàng)卡,進(jìn)入工具欄按鈕屬性的設(shè)置窗口,并按照表10-3所示設(shè)置工具欄中按鈕的屬性。 圖10-7 “屬性頁(yè)”窗口中的“按鈕”選項(xiàng)卡第31頁(yè)任務(wù)實(shí)施表10-3 工具欄中按鈕的屬性索引關(guān)鍵字工具提示文本圖像1A1新建12A2打開(kāi)23A3另存為34B1復(fù)制45B2剪切56B3粘貼67C1粗體7第32頁(yè)任務(wù)實(shí)施6.在窗體上雙擊Toolbar1控件,在Click事件Sub塊中編寫代碼并保存、運(yùn)行 源代碼Private Sub Toolbar1_ButtonClick

15、(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case A1 Call A1_ClickCase B1 Call B1_ClickCase C1 Text1.FontBold = True End SelectEnd Sub第33頁(yè)任務(wù)設(shè)計(jì)完成效果第34頁(yè)任務(wù)3多窗體的設(shè)計(jì)程序運(yùn)行啟動(dòng)第一個(gè)窗體,如圖10-9所示,提供了“抽取試題”和“查詢成績(jī)”功能。單擊“抽取試題”按鈕,打開(kāi)“抽取試題”窗體,然后單擊“開(kāi)始”按鈕,隨機(jī)產(chǎn)生五道試題,用戶回答完成后,單擊“提交”按鈕,自動(dòng)計(jì)算成績(jī),如圖10-10所示。單擊“查詢成績(jī)”按鈕

16、,打開(kāi)“查詢成績(jī)”窗體,如圖10-11所示。圖10-9 “啟動(dòng)”窗體 圖10-10 “抽取試題”窗體圖10-11 “查詢成績(jī)”窗體第35頁(yè)任務(wù)分析該任務(wù)我們要研究以下內(nèi)容每個(gè)窗體實(shí)現(xiàn)自己的功能通過(guò)Hide、Show方法完成多個(gè)窗體之間的切換利用標(biāo)準(zhǔn)模塊實(shí)現(xiàn)多個(gè)窗體之間的數(shù)據(jù)訪問(wèn)第36頁(yè)任務(wù)分析本任務(wù)中涉及的主要問(wèn)題和解決方法有:在一個(gè)工程中添加三個(gè)普通窗體,并分別設(shè)計(jì)每個(gè)窗體的界面和程序代碼。在工程中添加標(biāo)準(zhǔn)模塊,并在標(biāo)準(zhǔn)模塊中定義公共變量s,以實(shí)現(xiàn)多個(gè)窗體之間的互相訪問(wèn)。 通過(guò)Hide、Show方法完成多個(gè)窗體之間的切換。第37頁(yè)任務(wù)分析添加窗體:選擇“工程”菜單下的“添加窗體”選擇項(xiàng),可以

17、新建一個(gè)窗體,也可以將一個(gè)屬于其它工程的窗體添加到當(dāng)前工程中,實(shí)現(xiàn)多個(gè)工程共享此窗體。一個(gè)工程中的所有窗體不能重名。第38頁(yè)任務(wù)分析保存窗體: 一個(gè)工程中若有多個(gè)窗體,應(yīng)分別取不同的文件名保存在磁盤上,通常需要下面兩個(gè)步驟。1選擇“文件”菜單下的“保存”或“另存為”菜單項(xiàng),分別保存工程管理器窗口中列出的每個(gè)窗體或標(biāo)準(zhǔn)模塊,窗體文件的擴(kuò)展名為“.frm”,標(biāo)準(zhǔn)模塊文件的擴(kuò)展名為“.bas”。2選擇“文件”菜單下的“保存工程”或“工程另存為”菜單項(xiàng),將整個(gè)工程保存到磁盤上,擴(kuò)展名為“.vbp”。第39頁(yè)任務(wù)分析設(shè)置啟動(dòng)窗體多窗體程序需要指定從哪個(gè)窗體開(kāi)始執(zhí)行,即指定啟動(dòng)窗體,默認(rèn)情況下Visual

18、 Basic將設(shè)計(jì)時(shí)的第一個(gè)窗體作為啟動(dòng)窗體。設(shè)置過(guò)程為:選擇“工程”菜單下的“工程1屬性”菜單項(xiàng),進(jìn)入“工程屬性”窗口如圖10-12 在“工程屬性”窗口中指定啟動(dòng)窗體第40頁(yè)任務(wù)分析在多窗體程序中,需要通過(guò)相應(yīng)的語(yǔ)句和方法來(lái)實(shí)現(xiàn)打開(kāi)、關(guān)閉、隱藏或顯示指定的窗體。1Load語(yǔ)句把一個(gè)窗體裝入內(nèi)存,但不顯示窗體。格式為:Load 窗體名稱2Unload語(yǔ)句清除內(nèi)存中指定的窗體。格式為:Unload 窗體名稱一種常見(jiàn)的用法是 Unload Me第41頁(yè)任務(wù)分析3Show方法顯示一個(gè)窗體。格式為:窗體名稱.Show 模式 如果缺省“窗體名稱”,則顯示當(dāng)前窗體。0 Modal:不用關(guān)閉該窗體就可以對(duì)其

19、它窗體進(jìn)行操作,缺省設(shè)置;1 Modeless:鼠標(biāo)只在該窗體內(nèi)有效,不能到其它窗體操作,只有關(guān)閉該窗體后才能對(duì)其它窗體進(jìn)行操作。該方法兼有裝入和顯示窗體兩種功能4Hide方法隱藏窗體,即不在屏幕上顯示,但仍在內(nèi)存。格式為:窗體名稱. Hide如果缺省“窗體名稱”,則隱藏當(dāng)前窗體。第42頁(yè)任務(wù)實(shí)施1.新建一個(gè)工程。2.設(shè)計(jì)“啟動(dòng)” 窗體Form1 (1)在窗體上添加三個(gè)命令按鈕控件CommandButton和一個(gè)標(biāo)簽控件Label,并按圖10-8布局,在屬性窗口中設(shè)置控件的屬性,如表10-4所示。表10-4 在屬性窗口中設(shè)置屬性控件名屬性名屬性值窗體Form1Caption多窗體應(yīng)用命令按鈕C

20、ommand1Caption抽取試題Command2Caption查詢成績(jī)Command3Caption結(jié)束標(biāo)簽Label1Caption選擇操作第43頁(yè)任務(wù)實(shí)施(2)進(jìn)入Form1代碼窗口,在相應(yīng)的Sub塊中編寫如下代碼 Private Sub Command1_Click() Form1.Hide Form2.ShowEnd SubPrivate Sub Command2_Click() Form1.Hide Form3.ShowEnd SubPrivate Sub Command3_Click() EndEnd Sub源代碼第44頁(yè)任務(wù)實(shí)施3.設(shè)計(jì)“抽取試題”窗體Form2(1)選擇“工

21、程”菜單下的“添加窗體”選項(xiàng),可以添加一個(gè)新窗體Form2。在Form2窗體上添加三個(gè)TextBox控件數(shù)組、五個(gè)標(biāo)簽控件Label、三個(gè)Label控件數(shù)組和三個(gè)命令按鈕控件CommandButton,在屬性窗口中設(shè)置控件的屬性 表10-5 在屬性窗口中設(shè)置屬性控件名屬性名屬性值窗體Form2Caption抽取試題TextBox數(shù)組Text1(0)Text1(4)Text2(0)Text2(4)Text空LockedTrueText3(0)Text3(4)Text空Label數(shù)組Label6(0)Label6(4)Caption空Label7(0)Label7(4)Caption空Label8

22、(0)Label8(4)Caption“=”命令按鈕Command1Caption開(kāi)始Command2Caption提交Command3Caption返回第45頁(yè)任務(wù)實(shí)施Private Sub Command1_Click() For i = 0 To 4 Label6(i).Caption = i + 1 Next Randomize For i = 0 To 4 Text1(i).Text = Int(100 * Rnd(1)n = Int(7 * Rnd(1)Text3(0).SetFocusEnd Sub(2)進(jìn)入Form2代碼窗口,在相應(yīng)的Sub塊中編寫代碼源代碼第46頁(yè)任務(wù)實(shí)施4設(shè)

23、計(jì)“查詢成績(jī)”窗體Form3(1)選擇“工程”菜單下的“添加窗體”選項(xiàng),可以添加一個(gè)新窗體Form3。在Form3窗體上添加一個(gè)標(biāo)簽控件Label和一個(gè)命令按鈕控件CommandButton,在屬性窗口中設(shè)置控件的屬性。表10-6 在屬性窗口中設(shè)置屬性控件名屬性名屬性值窗體Form3Caption查詢成績(jī)命令按鈕Command1Caption返回第47頁(yè)任務(wù)實(shí)施(2)進(jìn)入Form3代碼窗口,在相應(yīng)的Sub塊中編寫如下代碼源代碼Private Sub Form_Load() Dim str As String If s = 80 Then str = 很好,繼續(xù)努力! Else str = 需要

24、加油??! End If Label1.Caption = 你的成績(jī)是: & s & 分, & strEnd Sub第48頁(yè)任務(wù)實(shí)施5設(shè)計(jì)模塊選擇“工程”菜單下的“添加模塊”選項(xiàng),打開(kāi)“添加模塊”窗口,單擊“打開(kāi)”按鈕,編寫下面代碼: Public s As Integer6.運(yùn)行程序。 第49頁(yè)任務(wù)設(shè)計(jì)完成效果圖10-9 “啟動(dòng)”窗體 圖10-10 “抽取試題”窗體圖10-11 “查詢成績(jī)”窗體第50頁(yè)任務(wù)4多文檔界面創(chuàng)建一個(gè)多文檔界面(MDI)程序,包含一個(gè)父窗體和兩個(gè)子窗體。通過(guò)設(shè)置Form的“MDChild”屬性來(lái)定義窗體為子窗體,利用MDIForm1.Arrange方法設(shè)置多個(gè)子窗體的

25、排列方式。 圖10-13 “顯示”主菜單項(xiàng)的下拉菜單圖10-15 窗口的“水平平鋪”排列方式圖10-14 “窗口” 主菜單項(xiàng)的下拉菜單項(xiàng)第51頁(yè)任務(wù)分析本任務(wù)中涉及的主要問(wèn)題和解決方法有:1.需要添加一個(gè)MDI窗體。2.創(chuàng)建兩個(gè)子窗體,通過(guò)設(shè)置Form的“MDChild”屬性來(lái)定義窗體為子窗體。3.通過(guò)調(diào)用MDIForm1.Arrange方法設(shè)置兩個(gè)子窗體的排列方式。第52頁(yè)任務(wù)分析單文檔界面(SDI)一次只允許打開(kāi)一個(gè)文檔,當(dāng)打開(kāi)一個(gè)新文檔時(shí),上一個(gè)打開(kāi)的文檔就被關(guān)閉。如Windows中的記事本、寫字板、畫圖。多文檔界面(MDI) 在實(shí)際應(yīng)用中經(jīng)常需要一個(gè)能同時(shí)處理多個(gè)窗體的應(yīng)用程序,并且多

26、個(gè)窗體可以有機(jī)地結(jié)合為一體。大多數(shù)的流行軟件都采用了多文檔界面(MDI),如我們經(jīng)常使用的Word、Excel、Access等第53頁(yè)任務(wù)分析一個(gè)MDI應(yīng)用程序,只能有一個(gè)MDI窗體,但可以有多個(gè)MDI子窗體。窗體包括普通窗體、MDI窗體和MDI子窗體三類,如果將一個(gè)窗體的MDIChild屬性設(shè)置為True時(shí),該窗體為子窗體,否則為普通窗體。圖10-17 三種類型窗體的圖標(biāo)形態(tài)第54頁(yè)任務(wù)分析MDI的特性1MDI窗體可以看成是一個(gè)“窗體容器”,在MDI窗體中只能添加具有Align屬性的控件或不可見(jiàn)控件,如PictureBox、CommonDialog、Timer等。2MDI應(yīng)用程序中的各個(gè)子窗

27、體可以以不同的方式排列在父窗體中。3在多文檔界面中,當(dāng)父窗體打開(kāi)時(shí),子窗體隨之調(diào)入內(nèi)存;當(dāng)父窗體關(guān)閉時(shí),子窗體隨之關(guān)閉;當(dāng)父窗體最小化時(shí),所有的子窗體也隨之最小化,只剩父窗體的圖標(biāo)顯示在Windows任務(wù)欄中;當(dāng)子窗體最小化時(shí),其圖標(biāo)顯示在父窗體中。第55頁(yè)任務(wù)分析MDI的常用屬性和方法:1MDIChild屬性確定窗體是否為子窗體。有兩個(gè)取值,True為子窗體,F(xiàn)alse為普通窗體。2WindowState屬性該屬性用于MDI或子窗體,設(shè)置一個(gè)窗體窗口運(yùn)行時(shí)的可見(jiàn)狀態(tài),有三個(gè)取值,分別為:0 Normal:被包圍,即被別的窗體包圍;1 Minimized:最小化,窗體縮成一個(gè)圖標(biāo);2 Maximiz

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論