Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual Basic 6.0~01.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
21.23 Mб
Скачать

Мал. 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]