130 likes | 407 Views
Visual Basic 程式設計. 講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所. 第十九章 多重文件介面 (MDI). User Interface. Single-Document Interface EX: 記事本 Multiple-Document Interface EX: Word, Excel, Access. My First MDI Program. Form1 和 Form2 的 MDIChild 屬性設定為 True. My First MDI Program (cont’d).
E N D
Visual Basic 程式設計 講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所
User Interface • Single-Document Interface EX: 記事本 • Multiple-Document Interface EX: Word, Excel, Access
My First MDI Program Form1和Form2 的MDIChild屬性設定為True
My First MDI Program (cont’d) • 在MDIForm1 內建立一MENU Caption name New mNew …Form1 mmf1 …Form2 mmf2
My First MDI Program (cont’d) • Private Sub mmf1_Click() • Dim frm As New Form1 • frm.Show • End Sub • Private Sub mmf2_Click() • Dim frm As New Form2 • frm.Show • End Sub
MDI- 事件 • MDIForm_Load • MDIForm_Unload • 利用unload me 觸發 • QueryUnload Unload Terminate • QU(父)QU(子all)U(子all)U(父)
MDI- QueryUnload • QueryUnload(cancel As Integer, unloadmode As Integer) • cancel : 將此參數設定為 0 以外的任何值,可在所有已載入的表單中停止 QueryUnload 事件,並阻止該表單和應用程式的關閉。 Unloadmode : 如傳回值中所說明的,指示出引起 QueryUnload 事件的原因。
MDI- QueryUnload (cont’d) • vbFormControlMenu 0 使用者從表單上的控制功能表中選取「關閉」指令。 vbFormCode 1 Unload 陳述式被程式碼呼叫。 vbAppWindows 2 目前 Microsoft Windows 作業環境任務結束。 vbAppTaskManager 3 Microsoft Windows 工作管理員正在關閉應用程式。 vbFormMDIForm 4 因為 MDI 表單正在關閉的緣故,MDI 子表單正在關閉。
MDI- QueryUnload (cont’d) • 在關閉一個應用程式之前,用來確認包含在該應用程式中的表單裏沒有任何未完成的工作。 • QueryUnload 事件是發生在所有表單中任何一個釋放前,而 Unload 是在每個單一表單釋放時發生。
MDI- 屬性 • Me.ActiveForm • Me.ActiveControl • If Typeof ActiveControl Is TextBox then • …… • end if
MDI- 方法 • Arrange arg • vbCascade 0 • vbTileHorizontal 1 • vbTileVertical 2 • vbArrangeIcons 3
MDI • 試試 VB應用程式精靈