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

Open Office org Basic, так само як і VBA, має вбудований набір елементів керування. Використовуючи цей набір і редактор діалогів можна створити практично будь-який інтерфейс користувача для власного проекту. Більшість елементів керування можна використовувати як для створення вікон діалогу так і безпосередньо на робочих листах та сторінках документів. Якщо потрібно розмістити керуючі елементи в робочій області документа, то для цього використовують панель інструментів Елементи керування (Form Control). На цій панелі знаходяться кнопки, що дозволяють вибирати елементи керування, а також кнопка виклику вікна їх властивостей.

 елементи керуванняРозташовують елементи керування на заготовці діалога, як правило, на початковому етапі його створення, але іноді використовується і програмне їх створення під час виконання процедур проекту. Основні керуючі елементи OOo Basic:

  • Button (Кнопка) – найчастіше використовується для запуску того чи іншого макроса, який призначають на вкладці Події вікна властивостей;
  • Label (Напис) – статичний текст на формі, дозволяє створювати заголовки елементів, котрі не мають власних вбудованих заголовків;
  • TextField (Текстове поле) вікно з текстом довільної форми, може використовуватися для вводу даних. Є також інші види полів для вводу дати, часу, валюти, тощо;
  • FrameControl (Рамка або група) – візуально і логічно об’єднує у групу ті чи інші керуючі елементи;
  • ImageControl (Малюнок) – дозволяє розташовувати на форми графічні зображення;
  • ScrollBar (Смуга прокрутки) – зазвичай використовується для переміщення в області з даними текстових вікон та списків;
  • ListBox (Список) – відображає список значень, серед яких користувач може зробити вибір;
  • ComboBox (Поле зі списком) – поєднує в собі вікно редагування та прихований список, використовується для вибору значень зі списку з можливістю їх редагування;
  • CheckBox (Прапорець) – стандартний прапорець використовується для вибору елементів (квадратне вікно, що помічене галочкою, якщо елемент вибрано);
  • OptionButton (Перемикач) – використовується для вибору одного з декількох варіантів, кнопки-перемикачі об’єднуються в групу за допомогою рамки;
  • FileControl (Вибір файлу) – можна використовувати для визначення шляху до вибраного файлу.

Елементи керування є об’єктами, тому, як і будь-які об’єкти, вони мають властивості, методи і події, використання яких дозволяє макросам підтримувати діалог з користувачем: отримувати від нього дані, вказівки, реагувати на його дії, виконувати потрібні йому команди, тощо. Програмно доступ до елемента керування на діалоговому вікні можна отримати з використанням методу getControl(<імя елемента>). Наприклад:

Sub SquareOfCircle
r = CSng(MyDlg.GetControl(“TextField1″).Text)
MyDlg.GetControl(“TextField2″).Text = Pi()*r^2
End Sub

 властивості елементів керування
Макрос SpaceOfCircle читає заданий радіус кола з текстового поля TextField1, обчислює площу обмеженого колом круга і отриманий результат виводить у текстове поле TextField2. Для успішного виконання інструкцій макроса з цього прикладу необхідно мати діалог, урухомлений за допомогою методу CreateUnoDialog і присвоєний об’єктній змінній з іменем MyDlg. На діалозі повинні бути присутні текстові поля з іменами TextField1 та TextField2, які задаються на етапі проектування діалога у вікні властивостей елементів керування. Крім цього, оскільки запуск діалога блокує роботу редактора OOo Basic, то для виконання процедури SquareOfCircle не можна скористатися командою Run – її запуск доводиться призначати для якої-небудь події котрогось з елементів діалога у тому ж вікні властивостей.