Використання подій елементів керування.

Події об’єктів, зокрема, елементів керування, дають їм можливість реагувати на дії користувача запуском відповідних частин програмного коду, у нашому випадку – макросів. Щодо використання подій, OOo Basic принципово відрізняється від VBA, де критерієм того, що макрос призначений для обслуговування певної події деякого об’єкта є специфічна структура імені макроса: &#60Назва об’єкта&#62_&#60Назва події&#62. Так, наприклад, команди макроса
Sub CommandButton1_Click()

End Sub

виконуватимуться у випадку виникнення події Click (клацання лівою клавішею миші на об’єкті) для елемента CommandButton1 (Кнопка).

У OOo Basic такого впливу назви макроса на обробку подій елементів керування не закладено. Тут доводиться спеціально закріпляти той чи інший макрос за подією. Для цього використовується вікно властивостей (Properties) елемента керування, яке можна викликати подвійним кліком лівої клавіші миші на об’єкті.  події елементів керування Перейшовши у вікні властивостей на вкладку Події (Events) можна переглянути список подій, визначених для елемента керування та закріплених за ними макросів. Щойно створений елемент призначених макросів, очевидно, не матиме.

Задати макрос для обробки події можна за допомогою кнопки “…”, розміщеної справа від назви події та поля для вводу назви макроса. Причому не важливо навпроти якої події була натиснута кнопка, оскільки всі вони виводять на екран одне і те ж вікно “Призначити дію”, в якому продубльовано увесь список подій вибраного елемента.

Далі слід вибрати потрібну подію об’єкта і натиснути кнопку “Макрос…”, яка виводить вікно “Вибір макроса” з деревом котейнерів-бібліотек-модулів та списком доступних макросів. Підтвердження вибру макроса, зрозуміло, завершується натисканням клавіш “Ok” у кожному з вікон. Вікно “Призначити дію” дозволяє також відмінити призначений раніше макрос, для цього використовується кнопка “Видалити”.

 Призначити дію

Штатною ситуацією більшості простих діалогів є запуск програми натисканням клавіші миші на “Кнопці” (CommandButton). Для цього макрос закріплюють за подією “Виконати дію” (Execute action) елемента керування “Кнопка”, хоча подібного результату можна досягнути використовуючи події “Натискання клавіші миші” (Mouse button pressed) або “Відпускання клавіші миші” (Mouse button released). Рідше використовується не менш корисна програмна реакція на внесення змін в текст чи стан об’єкта шляхом призначення макроса для подій “Текст змінено” (Text Modified) чи “Стан змінено” (Status Modified). Питання про обробку інших подій елементів керування може виникнути при створенні складніших динамічних візуальних проектів, що виходить за рамки простого практичного вжитку макросів.