Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Мал. 3.22. Форма Object Explorer в режимі конструювання.
31. Включіть наступний код в процедуру події Form_Resize: Private Sub Form_Resize()
Dim mid1 As Integer Dim mid2 As Integer
Mid1 = (ScaleWidth / 2) - 50 mid2 = (ScaleWidth / 2) + 50
If WindowState < > vbMinimized Then tvwCategories.Move 0, 0, mid1, ScaleHeight Ivwltems.Move mid2, 0, ScaleWidth - mid2, ScaleHeight End If End Sub
Приведений фрагмент коду варто розглянути детальніше. В перших двох рядках оголошуються дві змінні, mid1 і mid2. Два наступні рядки привласнюють їм значення, що означають відстань від центру форми до лівої і правої меж. Додаючи і віднімаючи 50, ми створюємо акуратну межу між двома елементами. Рядок If..Then говорить про те, що програма повинна виконати наступний фрагмент лише у тому випадку, якщо форма не знаходиться в згорнутому стані. Якщо форма згорнута, при спробі переміщення і зміни розмірів елементів виникне помилка. Оператор If..Then детально розглядається в уроці 6, «Логіка і послідовність виконання програми». У процедуру події Form_Load() вставте наступний фрагмент:
Private Sub Form_Load() Dim cat As Node
включити в дерево нові вузли With tvwCategories.Nodes Set cat =.Add(«root», «Об'єкти», 1) Set cat =.Add(«root», tvwChild,, «Вбудовані», 1) Set cat =.Add(«root», tvwChild,, «Провідник», 1) Set cat =.AddC'root», tvwChild,, «Internet», 1) End With End Sub У першому рядку створюється змінна типу Node. Вона дозволить нам працювати з колекцією Nodes в табличному списку. Наступний рядок (With..) повідомляє компілятор Visual Basic про те, що він повинен працювати з колекцією Nodes елементу tvwCategories. Перший рядок усередині оператора With додає вузол на кореневому рівні дерева. Ми привласнюємо йому текстове значення «Об'єкти», оскільки в дереві виводитиметься ієрархічний список об'єктів. Три наступні рядки додають в кореневий об'єкт вузли наступного рівня (tvwChild). Кожен вузол має власний опис: в одному містяться вбудовані елементи, в іншому - елементи в стилі Провідника і в третьому - елементи для роботи з Інтернетом. Пам'ятаєте про те, що кожен вузол насправді є категорією - це означає, що в нім можуть «міститися» інші об'єкти. Додайте наступний фрагмент в секцію(Declarations) форми frmMain: Option Explicit Private Sub ListExplorer() Dim itm As Listltem With Ivwltems.Listltems.Clear Set itm =, Add(«Дерево», 1) Set itm =.Add(«Табличний список», 1) Set itm =.Add(«Список зображень», 1) Set itm =.Add(«Панель інструментів», 1) Set itm =.Add(«Рядок стану», 1) End With
End Sub
Private Sub Listlnternet() Dim itm As Listltem
With Ivwltems.Listltems ..Clear Set itm =.Add(«Web-браузер», 1) Set itm =.Add(«ShellFolderView», 1) Set itm =, Add(«Inet», 1) Set itm =.Add(«Winsock», 1) End With End Sub
Private Sub Listlntrinsics() Dim itm As Listltem
With Ivwltems.Listltems ..Clear Set itm =, Add(«Графічне поле», 1) Set itm =, Add(«Напис», 1) Set itm =.Add(«Текстове поле», 1) Set itm =.Add(«Рамка», 1) Set itm =, Add(«Кнопка», 1) Set itm =, Add(«Прапорець», 1) Set itm =.Add(«Перемикач», 1) Set itm =.Add(«Комбіноване поле», 1) Set itm =, Add(«Список», 1) Set itm =.Add(«Горизонтальна смуга прокрутки», 1) Set itm =.Add(«Вертикальна смуга прокрутки», 1) Set itm =, Add(«Таймер», 1) Set itm =.Add(«Список дисків», 1) Set itm =.Add(«Список каталогів», 1) Set itm =.Add(«Список файлів», 1) Set itm =.Add(«Фігура», 1) Set itm =, Add(«Лінія», 1) Set itm =.Add(«Малюнок», 1) Set itm =.Add(«Дані», 1) Set itm =, Add(«OLE», 1) End With End Sub
Перший рядок, Option Explicit, вводить обов'язкове оголошення змінних в проекті. Три наступні процедури дуже схожі. У кожній оголошується змінна типу Listltem з ім'ям itm. Ця змінна використовується для роботи з колекцією List Items елементу Ivwltems. Оператор With.. повідомляє компілятор про те, що для наступного фрагмента використовується колекція Listltems табличного списку. Наступна команда,. Clear, очищає колекцію Listltems і видаляє з неї усі занесені раніше елементи. Наступні команди включають в колекцію нові об'єкти типу Listltem. Нарешті, включите наступний фрагмент в процедуру події NodeClick() елементу tvwCategories:
Private Sub tvwCategories_NodeClick(ByVal Node As ComctlLib.Node) Select Case Node Case Is = «Вбудовані» Listlntrinsics Case Is = «Провідник» ListExplorer Case Is = «Internet» Listlnternet End Select End Sub
Збережіть проект командою File > Save і Запустіть програму клавішею F5.
|