Вивчаємо програмування в Gupta Team Developer. Крок 3 – меню

Частина 2

Зміст




Дана стаття є третьою в циклі статей під загальною назвою "Вивчаємо програмування в Team Developer / Gupta", в якому ми постараємося дати початківцю програмних продуктів Gupta всю необхідну інформацію для вивчення програмування і отримання навичок створення інформаційних систем. У ній ми розглянемо роботу з меню, лінійками прокрутки і вікнами діалогу для об'єктів TD. До кожного досліджуваному розділу докладено спеціальне налагоджене програмне додаток, що дозволити перевірити успішність освоєння матеріалу. Для успішного засвоєння матеріалу читачеві бажано познайомитися з попередніми статтями з цього циклу, які розміщені на нашому сайті.


Введення


Якщо Ви познайомилися з першими двома статтями даної серії, то, безсумнівно, зверніть увагу на те, що ми змінимо стиль викладу матеріалу. По-перше, Ви вже багато знаєте для подальшої роботи, а по-друге, ми постараємося висловлювати матеріал більш інтенсивно, що дозволить нам разом рухатися швидше. Для успішного освоєння цього матеріалу, який, ми дуже сподіваємося, може служити своєрідним самовчителем програмування на Gupta Team Developer, бажано познайомитися і виконати завдання статей "Крок 1" та "Крок 2".


Тепер ми будемо спочатку позначати мету (у вигляді готового вікна програми), до якої будемо прагнути, а потім будемо показувати, як досягається ця запланована мета, тобто по кроках розповімо, що потрібно зробити в програмі для виконання прийомів програмування з конкретними об'єктами інтерфейсу.


Розглянемо спільно два питання: як працювати з віконними меню і як викликати вікна діалогу.


Меню і діалоги TD


Робота з віконними меню. Редактор меню і ручний спосіб налаштування


Нижче представлено головне вікно програми для вивчення принципів побудови меню і роботи з вікнами діалогу. Назвемо його (додаток) step3_dialog.app. Дане вікно типу – Form Window. Меню в TD можна створювати для вікон будь-якого класу, крім вікон діалогу (Dialog Box).

Рис. 1. Вікно програми для вивчення меню і вікон діалогу в TD


Для створення меню можна використовувати асистент кодування або візуальний редактор меню (Component->Menu Editor або "Права кнопка" -> Menu Editor). Редактор меню, його вікно показано на малюнку нижче, дозволяє ввести та налаштувати пункти меню, побудувати вкладене меню (POPUP), Задати порядок пунктів меню, роздільники, налаштувати текст підказки (Status Text) І визначити гарячі клавіші для пункту (Accelerator). Крім цього Ви можете визначити стан пункту меню (чи доступний, позначений або не позначено) за допомогою констант, змінних і функцій, а також задати спричинюється функцію або запускається вікно додатки. Робота з редактором меню інтуїтивно зрозуміла, а результат налаштувань відображається автоматично в OUTLINE вікна і може надалі редагуватися вручну.

Рис. 2. Візуальний редактор меню TD


Результат конструювання меню буде занесений в текст програми, що розробляється, який зображений на малюнку нижче. Для наочності тут наведено дерево вікна (ліворуч), в якому для головного вікна (frmFirst) Виділена позиція віконного меню (Windows Menu), А праворуч зображений текст побудованого меню.

Рис. 3. Текстове редагування меню в режимі OUTLINE


Для наочності не всі пункти меню розгорнуті (ми їх розглянемо далі) і наведено фрагмент вікна асистента кодування в режимі додавання нових позицій меню. Можна додати: нову позицію меню (Menu Item), Вкладене меню (Popup Menu), Пойменоване меню (Named Menu), Стандартне меню управління вікнами (Windows Menu), Рядки меню (Menu Row) І колонки меню (Menu Collumn). Останні дві позиції дозволяють організувати рядкове меню у вигляді кількох рядків, а спадаюче меню з декількох колонок. Крім того, можна в спадаючому меню вставити роздільники (Menu Separator).

Рис. 4. Вікно програми для вивчення меню і вікон діалогу в TD


На малюнку, представленому нижче подано перелік основних об'єктів вікна додатка, що ми будемо використовувати для вивчення режимів меню і роботи з вікнами діалогу. Ці об'єкти відповідають візуальним об'єктам вікна.

Рис. 5. Об'єкти вікна програми для вивчення меню і вікон діалогу в TD


Кнопка pbClose, Забезпечує закриття вікна. Поле dfNumMain служить для введення цілочисельного параметра, переданого в діалог. Поле mlStrMain (Типу Multiline Field) Служить для введення багаторядкового параметра, переданого в діалог. Поле dfIndic, недоступне для редагування, використовується для індикації зміни рядка переданої в діалог.


Меню. Деактивація і позначка пунктів меню


Станом меню можна легко управляти в процесі виконання програми. Для цього можуть бути задані змінні чи функції для описувачів меню, що містяться в розділі Menu Settings: Enadled when ("Доступно, якщо") і Checked when ("Позначено якщо"). У цих розділах OUTLINE можна:



  1. Нічого не задавати (за умовчанням "є" і "не позначений");
  2. Поставити константу (TRUE і FALSE);
  3. Поставити змінну (див. у прикладах нижче – bQuit) Або
  4. Виконати виклик функції (див. нижче – MenuCheck).

Результат такого управління пунктами меню показаний на малюнках, розташованих нижче. Позначка меню представлена "галочкою" розташованої перед рядком меню, а недоступність позначається блідим кольором.

Рис. 6. Головне вікно з підменю.
Пункт "Виклик діалогу" позначено і пункт "Діалог" недоступний.


Нижче дан фрагмент тексту програми, що містить код обробки пункту меню "Діалог". Реакція на активізацію пункту меню приводить до виконання підпрограми на мові SAL визначеному в розділі Menu Actions. У даному пункті:



  1. Настроюються поля вікна і параметри для виклику діалогу,
  2. Відключається пункт меню зміною змінної bQuit на FALSE,
  3. Перевіряються і встановлюються значення параметрів (приховано для стислості) і
  4. Викликається вікно діалогу.

Рис. 7. Опис меню виклику вікна діалогу


Після повернення з вікна діалогу:



  1. Перевіряється код повернення (nCount), Що передається з діалогу.
  2. Аналізується повертається параметр (strCommon) І
  3. Виводяться повідомлення на екран зі значенням коду повернення (приховано в if) І Значення повертається параметра (strCommon – Останній рядок).

Установки меню для іншого вкладеного пункту меню "Виклик діалогу" зроблені так, що цей пункт завжди доступний (Enabled when – TRUE) І позначка управляється спеціальною функцією (MenuCheck), Фрагмент якої наведено нижче. Функція працює в режимі тригера (змінює поперемінно повертає значення з TRUE на FALSE і назад). Функція управляє зовнішнім параметром bCheck. Таким чином, "галочка" з'являється поперемінно в пункті вкладеного меню.

Рис. 40. Фрагмент тексту маніпулювання режимами з індикацією кольором


Це тільки один з варіантів роботи з кнопками режимів. Далі, перевірити роботу з іншими варіантами і пофантазувати на тему побудови оригінального програмного інтерфейсу ми надаємо читачеві самому.


У результаті вивчення лінійок прокрутки та режимів Ви отримаєте додаток step3_scroll.app, Яке для перевірки успішності засвоєння матеріалу можна завантажити тут.


Висновок


У наступній статті цього циклу ми розглянемо роботу зі списками і таблицями, а також почнемо освоювати основи роботи з БД в рамках TD. Для цього ми ознайомимося з роботою вбудованого в TD програми DataBase Explorer і утиліти адміністратора БД SQLTalk.

Частина 4

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*