Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.