2.2. Використання елементів управління.
Елементи управління та ActiveX
Як вже зазначалось, елементи управління являть собою складові графічного інтерфейсу користувача проекту. Елементи управління можна сприймати як елементи самої графічної операційної системи, але можливості VBA розширюються завдяки можливості доповнення їх елементами ActiveX.
Такі елементи є , взагалі кажучи, програмами, які наділяють проект додатковими можливостями. Вони бувають самого різного виду і можуть виконувати самі різноманітні завдання. Більшість з них має свій графічний інтерфейс, який можна програмувати. Особливістю цих елементів є те, що вони є незалежними від конкретної мови об’єктно-орієнтованого програмування. Елементи ActiveX знайшли широке застосування в розробках для Internet.
Стандартні елементи управління найбільш часто використовуються в проектах VBA. Вони містяться у всіх модифікаціях мови VBA. Вони розташовані на панелі елементів управління. Їх код розташовується в спеціальних файлах, які називаються бібліотеками динамічної компоновки VBA.
Як зазначалось, більшість елементів управління вже розташована на відповідній панелі. Якщо є необхідність її доповнити новим елементом, потрібно подати команду Project – Components (команда з клавіатури Ctrl+T). На екрані з’явиться діалогове вікно з елементами управління (рис 2.1), в якому потрібно встановити прапорець навпроти потрібного об’єкту. Обраний об’єкт з’явиться на панелі елементів управління. .
Важливу роль у розумінні використання елементів управління відіграє поняття контейнера.
Контейнер – це деякий об’єкт, який містить інший об’єкт. Цей інший об’єкт називається дочірнім. Наприклад, якщо кнопка розташована на формі, то форма виконує роль контейнера, а кнопка – дочірнього елементу. В свою чергу по відношенню до додатку (об’єкт Applicatin для версії VBA для офісних додатків, або об’єкт Screen для стандартного VBA) форма є дочірнім елементом. Ця концепція відіграє важливу роль при визначенні координат положення об’єкта. Для кожного об’єкта положення завжди визначається по відношенню до контейнера, що містить цей об’єкт.
Рис 2.1. Вікно компонент елементів управління
Робота з властивостями об’єктів.
Поведінку об’єктів визначають їх властивості. Тому після створення інтерфейсу користувача потрібно задати початкові значення властивостям. Це робиться у вікні властивостей. Вони визначають стан елементів управління проекту при його запуску на виконання. Подальша зміна властивостей (а отже і поведінки елементів управління і виконуваних ними дій) здійснюється лише програмним шляхом.
Рис 2.2. Вікно властивостей об’єктів
На рис 2.2 зображено вікно властивостей форми. Як видно, він складається в свою чергу також з двох частин: ліва містить власне список властивостей, а права – їх значення. Ці значення можна змінювати безпосередньо в цьому вікні. Першим у списку властивостей йде властивість Name . Вона є головною, тому що визначає ім’я об’єкта в проекті.
Властивостей досить багато для кожного об’єкта. Зазвичай програміст задає початкові значення не всім властивостям, а лише тим, які будуть використовуватись в проекті, або які повинні задати початковий вид форми.
Об’єкти мають як спільні, так і унікальні властивості. Всі вони мають значення за умовчанням, тому процедура завдання початкових значень не є необхідною, але присвоєння початкових значень властивостям об’єктів розробником проекту іноді потрібне для правильного розв’язання завдання.
Найбільш часто використовувані властивості подані в табл.2.1.
Властивості елементів управління можна поділити на такі групи:
а) логічні властивості – приймають два значення True(Істина) або False (Хибність) . Як правило, така властивість визначає присутність або відсутність певного атрибута в елемента управління;
б) спискові властивості – містять фіксований набір можливих значень у вигляді списку. Конкретне значення обирається з такого списку;
в) текстові властивості – приймають значення, які задаються користувачем з клавіатури у вигляді текстової величини;
г) шістнадцяткові властивості – містять значення у вигляді чисел. поданих у шістнадцятковій системі числення. Як правило, зміна значень таких властивостей має альтернативний підхід шляхом виклику відповідних графічних аналогів кожного значення;
г) числові властивості – приймають числові цілочисельні значення. Як правило, задають розміри та відносне положення елементів управління.
Таблиця 2.1. Деякі властивості елементів управління VBA
String |
Ім’я, що використовується для посилань на елемент управління в програмі. Під час виконання програми має атрибут “тільки для читання” |
|
Caption |
String |
Задає надпис на об’єкті. |
Text |
String |
Задає вміст текстового поля. |
Left |
Integer |
Позиція елемента управління щодо лівого краю форми або рамки |
Top |
Integer |
Позиція елемента управління щодо верхнього краю контейнера |
Height |
Integer |
Висота елемента управління |
Width |
Integer |
Ширина елемента управління |
Enabled |
Boolean (True/False) |
Визначає, чи є елемент управління доступним (тобто, чи можна виконувати з ним які-небудь дії). |
Visible |
Boolean (True/False) |
Визначає, чи буде елемент управління видимий на екрані під час виконання проекту |
Index |
Integer |
Коли елемент управління входить у масив елементів управління, визначає індекс цього елемента управління в масиві. Під час виконання програми має атрибут “тільки для читання” |
Значення властивостей Top, Left, Height, Width вимірюються у твіпах: 1 дюйм містить 1440 твіпів. 1 піксел (екранна точка) містить 12-15 твіпів. Властивості Visible і Enabled можуть приймати тільки значення True або False і визначають, чи буде об’єкт доступний користувачу і чи зможе користувач взаємодіяти з об’єктом Якщо значенням властивості Visible є False, об’єкт не буде показаний і користувач навіть не дізнається про його наявність. Установка для властивості Visible значення True дозволяє показати об’єкт на екрані. Якщо для властивості Enabled установлене значення False, об’єкт буде видимим (за умови, що значенням властивості Visible є True), але недоступним, тобто користувач не зможе взаємодіяти з цим об’єктом. Звичайно, якщо об’єкт недоступний, на екрані його зображення виглядає блідим, щоб інформувати користувача про те, що даний об’єкт недоступний для використання.
Деякі значення властивостей можуть змінюватись автоматично при маніпулюванні об’єктом в процесі створення інтерфейсу (наприклад, властивості, що визначають його розміри та положення).
3. Використання методів.
Форми й елементи управління VBA - не просто ефектні зображення на екрані, вони спроможні виконувати певні завдання. Як вже відмічалось, властивості об’єкта визначають його зовнішній вигляд і поводження в певних ситуаціях в залежності від дій користувача.. Методи об’єкта визначають ті задачі, що може виконати даний об’єкт. Задачі можуть бути простими, наприклад, переміщення об’єкта в нове положення, і більш складними - наприклад, відновлення інформації в базі даних.
Насправді метод являє собою сегмент коду програми, впроваджений в об’єкт. Внаслідок такого впровадження, об’єкт знає, як виконати ту або іншу задачу, і програмісту не потрібно писати ніяких додаткових інструкцій. Це схоже на те, як завантажується комп’ютер. Користувач просто вмикає живлення комп’ютера. При цьому як правило, не потрібно давати додаткових вказівок на завантаження операційної системи, цей процес здійснюється автоматично завдяки “методу запуску”, який є часткою комп’ютера.
Завдяки властивості інкапсуляції програміст не має прямого доступу до коду, який реалізує той чи інший метод. Але в цьому і немає ніякої потреби. Якщо певні методи об’єкта програміста не влаштовують, він може створити власні процедури для виконання потрібних дій.
Хоча різні об’єкти і мають різні методи, деякі з них властиві багатьом об’єктам.
Drag - опрацьовує операції “перетягнути й відпустити”.
Move - відповідає на запити програми по переміщенню об’єкта.
SetFocus - передає фокус об’єкту, визначеному у виклику методу.
ZOrder - визначає засіб появи об’єкта в його контейнері: перед або за іншими об’єктами.
Практичне використання методів буде розглянуто у подальших матеріалах.
Інтеграція властивостей і методів
Іноді властивості і методи об’єкта надаються пов’язаними в тому сенсі, що виконання деякого методу об’єкта призводить до зміни деяких властивостей цього об’єкта. І частіше усього, використовуючи метод об’єкта або змінюючи властивості об’єкта за допомогою коду, користувач робить це у відповідь на деяку подію.
Зміна деяких властивостей може викликати настання подій. Наприклад, зміна значень властивостей Height або Width форми за допомогою коду викликає подія Resize форми.
Використання методу Move і установка властивостей Left і Top - приклад взаємозалежності методів і властивостей об’єкта. Перемістити об’єкт у нову позицію можна або за допомогою методу Move, або встановлюючи нові значення властивостей Left і Тор.
Додаткові аргументи методу Move дозволяють також змінити і розміри об’єкта. Результат буде такий же, як при установці нових значень для властивостей Height і Width,
Методи Show і Hide форми дають той же результат, що і зміна значення властивості Visible. Коли викликається метод Hide, результат буде таким же, як і при завданні значення False для властивості Visible. (Результат - це зникнення форми з екрана. ) Аналогічно метод Show дає той же результат, що й установка для властивості Visible значення True.
Таким чином, для одержання потрібного результату у відповідь на дію користувача, у програміста є декілька можливостей. Вибір однієї з них – справа програміста. Використання методів має більш простий вигляд відповідних команд. Зміна значень властивостей вимагає більшої кількості операторів, однак є більш наочною і більш гнучкою.
25 26 27 28 Наверх ↑