Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
49
Добавлен:
05.06.2015
Размер:
7 Мб
Скачать
☆

93 Ніяке інше вікно не повинне стати активним перш, ніж користувач завершить переміщення даного вікна. 11еремегцение вікна має на увазі його активізацію.

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

Зміна розмірів вікна

Надайте користувачу можливість змінювати розміри первинного вікна, якщо інформація, відображена у вікні, не повинна фіксуватися (як, наприклад, у стандартній програмі Калькулятор ОС Wіndows). Система підтримує різні угоди, що забезпечують зміну розмірів вікна користувачем.

Калібрування границь вікна

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

Використовуючи клавіатуру, користувач може коректувати розмір вікна, вибравши команду Розмір і використовуючи клавіші переміщення курсору; натискання клавіші <Enter> означає завершення операції.

Ніяке інше вікно не повинне стати активним перш, ніж користувач завершить зміну розмірів даного вікна. Зміна розмірів вікна має на увазі його активізацію, і це вікно залишається активним після завершення операції.

Коли користувач зменшує розміри вікна, варто визначити, як відображати виведену в ньому інформацію. Вибір методу визначається, як правило, що текет ситуацією і типом відображуваної інформації. У загальному випадку скорочення вікна повинне приводити до усікання виведеної інформації. Проте , у тих ситуаціях, коли ви хочете, щоб користувач бачив якнайбільше , ви можете використовувати інші методи, наприклад, масштабирование інформації. Ці зміни повинні бути ретельно продумані і не менш ретельно реалізовані, тому що в багатьох випадках досить складно дотримати відповідність між изме-нением розмірів вікна і зміною масштабу відображуваної в ньому інформації. Крім того, уникайте застосування таких методів, коли важливі удобочитаемость чи збереження структурного представлення виведеної інформації.

Хоча розмір первинного вікна може змінюватися відповідно до переваг користувача, ви можете визначити максимальний розмір вікна. Визначаючи цей розмір, враховуйте необхідність раціонального співвідношення між розмірами вікна і розмірами екрана.

94

Розгортання вікна

Незважаючи на те, що користувач може безпосередньо змінювати розміри вікна (у межах установлених вами обмежень), команда Розгорнути оптимизирует виконання цієї операції. Уключите цю команду в керуюче меню вікна, а також виведіть у виді відповідної кнопки в смузі заголовка.

Розширення вікна приводить до максимально можливого ("оптимальному") збільшенню його розмірів. За замовчуванням максимальний розмір установлюється рівним розміру екрана монітора (крім простору, використовуваний для висновку панелі чи задач інструментальної панелі Робочого столу). Для дочірнього вікна при використанні MDІ максимальним розміром є розмір батьківського вікна. Але в деяких випадках ви можете визначити максимально припустимий розмір і по-іншому.

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

Згортання вікна

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

При згортанні первинного вікна його кнопка входу залишається на Панелі задач. Для згорнутого дочірнього вікна М Dі-приложения створюється кнопка входу, розташована в межах його батьківського вікна (мал. 4.8).


Коли користувач звертає вікно, зробіть недоступної в меню вікна команду Згорнути і дозволите використання команди Відновити.

Відновлення вікна

Команда Відновити забезпечує відновлення попереднього розміру вікна і його розташування на екрані після того, як користувач чи розвертав звертав вікно. Дана команда повинна бути доступна в меню вікна для розгорнутих вікон; у смузі заголовка вікна кнопка Відновити заміняє кнопку Розгорнути.

Для згорнутих вікон команда Відновити також повинна бути доступна в меню вікна.

Користувач може відновити згорнуте первинне вікно до його колишнього розміру й у попередню позицію, або клацнувши ЛКМ на кнопці входу у вікно на Панелі задач, або вибравши команду Відновити в меню вікна, або використовуючи комбінацію клавіш <Alt>+<Tab> (чи <Shіft>+<Alt>+<Tab>).

Регулятор вікна

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

Завжди розташовуйте регулятор у правому нижньому куті вікна. Звичайно ця позиція збігається з правим кінцем горизонтальної смуги чи прокручування з нижнім кінцем вертикальної смуги прокручування. Якщо вікно містить рядок стану, відобразите регулятор вікна в крайній правій позиції цього рядка. Ніколи не відображайте регулятор у двох позиціях вікна одночасно.

ПРОКРУЧУВАННЯ ВІКНА

У тому випадку, коли виведена у вікні інформація перевищує розмір цього вікна, воно повиннео підтримувати можливість прокручування. Прокручування дає користувачу можливість переглядати частини об'єкта, що у даний момент часу не видні у вікні. Ця функція звичайно реалізується за допомогою смуг прокручування. Смуга прокручування являє собою прямокутну область, що містить стрілки, що вказують дозволений напрямок прокручування, і повзунок, величина і положення якого відбивають розмір невидимої частини об'єкта. Як стрілки, так і повзунок є інтерактивними елементами (тобто вони реагують на віз-

96

дія користувача). Стрілка смуги прокручування являє собою кнопку, при натисканні якої інформація у вікні переміщається у відповідному напрямку на одну дискрету; величина кроку прокручування встановлюється розроблювачем додатка.

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

Практика показує, що для тих вікон, де може знадобитися переміщення інформації, смуги прокручування повинні відображатися завжди, навіть якщо вікно стає неактивним чи виведеною інформацією не вимагає прокручування. Це обумовлено наступними обставинами. Видаляючи смуги прокручування, коли вікно стає неактивним, ви збільшуєте вільний простір вікна. Тим самим ви змінюєте раціональне співвідношення між розмірами вікна й обсягом відображуваної інформації. Крім того, у цьому випадку користувач змушений явно активізувати вікно, перш ніж виконати прокручування. І, нарешті, пос-ледовательность у відображенні смуг прокручування забезпечує велику стабільність робітничого середовища користувача.

Докладніше техніка використання смуг прокручування розглядається в розділі "Елементи керування".

Автоматичне прокручування

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

o Коли користувач формує безупинну область вибору й у неї повинні

бути включені об'єкти, не видимі в даний момент у вікні;

o Коли користувач переміщає об'єкт і досягає краю видимої області, але

хоче продовжити переміщення;

o Коли користувач уводить текст із клавіатури в крайню позицію вікна, або

чи переміщає копіює об'єкт у таку позицію;

o Якщо виконання операції закінчується зміною поточної активної позиції

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

варто зробити видимим фрагмент документа, що містить знайдений об'єкт

Автоматичне прокручування можуть викликати й інші види навігації. Напер-мір, при заповненні екранної форми завершення введення інформації в одному полі може зажадати перехід до іншого полю. У тому випадку, якщо нова область уведення не видима, форма може бути відповідним чином переміщена.

4 Задо.747 97

Клавіатурне прокручування

Для виконання операції прокручування за допомогою клавіатури використовуються клавший навігації. Коли користувач натискає клавішу навігації, курсор переходить на відповідну позицію. Додатково до переміщення курсору, натискання кожної з цих клавіш може приводити до переміщення відображуваної області у відповідному напрямку. У свою чергу, використання клавіш <PgUp> і <PgDn> аналогічно щиглику ЛКМ у чуттєвій області смуги прокручування.

4.2.3. ВИКОРИСТАННЯ ПОДОКОН

Рис. 4.9. Вікно, розділене на подокна

98

Вікно може розділятися на двох чи більш відносно незалежних областей, що називаються подокнами. Поділ вікна дозволяє користувачу, наприклад, переглядати одночасно двох частин одного документа. Технологію поділу вікна можна також використовувати для того, щоб відобразити ту саму інформацію в різній формі


Якщо ж навпаки, необхідно одночасно одержати доступ до декількох файлів у рамках виконання одного завдання, варто використовувати іншу техніку керування вікнами, наприклад, MDІ.

Розбивка вікна на подокна може бути встановлено або розроблювачем додатка (як основна форма вікна), або користувачем, за допомогою завдання відповідного параметра. Для того щоб підтримувати розбивка вікна, що не визначено заздалегідь, уключите до складу створюваної програми так називаний блок поділу. Блок поділу є спеціальним елементом керування, що відображається наприкінці смуги прокручування вікна і позначає регульовану границю між подокнами. Розмір блоку поділу повинний бути досить великим, щоб користувач міг працювати з ним, використовуючи покажчик миші.

11ользователь може змінювати розміри подокон, переміщаючи блок поділу в потрібну позицію. Коли покажчик миші знаходиться над блоком поділу, доцільно змінити його образ, щоб забезпечити зворотний зв'язок і допомогти користувачу правильно установити блок поділу. З тією же метою рекомендується відображати контури переміщуваного блоку поділу і смуги поділу (границі подокон) доти , поки користувач не закінчить операцію (мал. 4.10).

Ви можете дозволити переміщення смуги поділу (чи блоку поділу) у кінець смуги прокручування. При цьому одне з подокон виявиться закритим. Додатково ви можете визначити подвійного щиглика Л'КМ у деякій позиції, заданої за замовчуванням (наприклад, у середині вікна) як прискорений спосіб розбивки чи вікна для видалення поділу. Такий спосіб найбільш зручний у тих випадках, коли результуючі подокна повинні бути одного розміру.

Для того, щоб забезпечити клавіатурний інтерфейс для розбивки вікна, уключите у всплывающеем меню вікна (чи в розділ меню Vіew) команду Розділити. Коли користувач вибирає цю команду, розділите вікно посередине чи в контекстно-определенной позиції.

Для переміщення блоку поділи можуть бути використані клавіші керування курсором; натискання клавіші <Enter> установлює поділ у поточній позиції, а натискання клавіші <Esc> скасовує режим поділу.

Для поділу вікна можуть застосовуватися й інші засоби. Наприклад, ви можете визначити спеціальні режими відображення вікна, що дозволяють користувачу вибирати фіксоване чи змінюване розташування подокон, або видаляти поділ вікна, закриваючи подокно (чи використовуючи яку-небудь іншу команду керування форматом вікна).

Коли користувач розділяє вікно, доповните його смугами прокручування для тих подокон, що цього вимагають. Крім того, варто розмістити інформацію в подокнах таким чином, щоб смуга поділу не закривала уміст вікна, над яким вона з'являється. Використовуйте одну загальну смугу прокручування для тих подокон, що переміщаються разом; якщо ж кожне з подокон вимагає незалежне прокручування, смуга прокручування повинна створюватися в кожнім з них. Наприклад, якщо основне вікно розділене на подокна по горизонта™, те, мабуть, кожне з них повинно мати власну вертикальну смугу прокручування, керовану окремо.

При використанні подокон кожне з них повинно мати власні значення атрибутів, таких наприклад, як тип шрифту і стан вибору. При цьому область вибору варто відображати тільки в активному подокне. Проте , якщо стан вибору поширюється через подокна, відобразите вибір у всіх подокнах.

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

4.2.4. МНОГОДОКУМЕНТНЫЙ ІНТЕРФЕЙС (MDІ)

У процесі роботи з тим самим додатком користувачу може знадобитися мати на екрані кілька відкритих вікон, що містять інформацію різних типів, або представляющих собою різне зображення тих самих

100

даних. Для створення таких вікон і керування ними існує спеціальна технологія - многодокументный інтерфейс, скорочено MDІ (Multіple Document Іnterface). У цьому розділі описані особливості її застосування з погляду реалізації користувальницького інтерфейсу.

СТАНДАРТНА РЕАЛІЗАЦІЯ MDІ

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

Деякі типи об'єктів, наприклад, пристрою, можуть навіть не вимагати створення власного первинного вікна і використовувати тільки вторинне вікно для перегляду і редагування їхніх властивостей. У дуже рідких випадках єдиним засобом візуального представлення об'єкта є його піктограма.

Разом з тим, для виконання деяких завдань може виявитися недостатнім наявність одного первинного вікна. У таких ситуаціях робота додатка повинна бути побудована на основі многодокументного інтерфейсу.

Техніка MDІ полягає у використанні одного первинного вікна, називаного батьківським вікном, що може містити набір зв'язаних з ним дочірніх вікон (мал. 4.11). Кожне дочірнє вікно - це, власне кажучи, також первинне вікно, єдиним обмеженням для який є те, що воно може з'явитися тільки в межах батьківського вікна. Батьківське вікно забезпечує як візуальне, так і "операщ юн-ное" простір для своїх дочірніх вікон. Наприклад, на дочірнє вікно звичайно поширюється область дії меню батьківського вікна і, можливо, інших елементів його інтерфейсу (панелі інструментів, рядка стану і т.д.). Їхній вид може змінюватися, якщо необхідно відбити команди й атрибути активного дочірнього вікна.

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

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

Як для батьківського вікна, так і для всіх його дочірніх вікон повинні підтримуватися спливаючі меню; перелік команд у такому меню аналогічний розглянутому вище стосовно до первинних вікон.

Користувач може активізувати MDі-приложение або безпосередньо відкривши його, або відкривши документ (файл даних) того типу, що підтримується цим додатком. Якщо MDі-приложение активізовано за допомогою відкриття документа, спочатку відкривається батьківське вікно, а потім усередині його робочої області - дочірнє вікно, що відображає обраний чи документ файл. Для того, щоб спростити користувачу відкриття інших документів, зв'язаних з цим додатком, включите в його інтерфейс діалогову панель ВІДКРИТИ.

У тому випадку, коли користувач безпосередньо відкриває документ за межами батьківського вікна MDі-ириложения (наприклад, за допомогою подвійного щиглика ЛКМ на піктограмі файлу), те якщо батьківське вікно уже відкрите, варто створити другий екземпляр додатка (тобто ще одне батьківське вікно), а не вікно документа (дочірнє) в існуючому батьківському вікні. Хоча відкриття нового дочірнього вікна може бути більш ефективним, його поява може порушити середовище завдання, вже установ-ленную в цьому батьківському вікні. Наприклад, якщо знову відкритий файл є мак-

102

росом, його відкриття у вже відкритому батьківському вікні може вплинути на інші документи, відкриті в цьому вікні. Щоб користувач міг відкрити файл у конкретному батьківському вікні, варто визначити команди, що підтримують таку можливість.

Оскільки дочірні вікна MDІ є різновидом первинних вікон, при їхньому закритті варто дотримувати тих же угод, що були розглянуті раніше для первинних вікон. Коли користувач закриває дочірнє вікно, будь-які не збережені зміни повинні бути оброблені відповідно до загальних угод для всіх первинних вікон.

Додаток не повинний дозволити користувачу закрити дочірнє вікно, якщо це не дозволить йому продовжити роботу з додатком.

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

MDІ дозволяє користувачу чи переміщати звертати дочірнє вікно в такий же спосіб, як і батьківське вікно. Коли користувач переміщає батьківське вікно, збережете відносні позиції відкритих дочірніх вікон у робочій області батьківського вікна. Переміщення дочірнього вікна обмежується розмірами його батьківського вікна; у деяких випадках це може привести до усікання дочірнього вікна (мал. 4.12). У зв'язку з цим додатково може бути опре-

ділено можливість автоматичної зміни розмірів батьківського вікна при чи переміщенні зміні розмірів дочірнього вікна.

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

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

Коли користувач розвертає батьківське вікно, воно повиннео здобувати свій максимальний (полноэкранный) розмір, подібно будь-якому іншому первинному вікну. Це ж правило повинне виконуватися і для дочірнього вікна. Якщо його полноэкранный розмір перевищує розмір батьківського вікна, об'єднаєте дочірнє вікно з батьківським. При цьому піктограма заголовка дочірнього вікна, кнопки Відновити, Закрити, і Згорнути (якщо вони підтримуються) повинні розташовуватися в смузі меню батьківського вікна в тих же позиціях, у яких вони знаходилися в смузі заголовка дочірнього вікна (мал. 4.13). Крім того, текст назви дочірнього вікна додається до заголовка батьківського вікна.

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

відновлює одне з дочірніх вікон у його номінальний стан, відновите всі інші дочірні вікна в їхніх номінальних розмірах.

Для активізації дочірніх вікон і навігації між ними за допомогою миші використовуються ті ж загальні угоди, що і для первинних вікон. Для швидкого клавіатурного доступу і переключення між дочірніми вікнами рекомендується використовувати комбінації клавіш <Ctrl>+F6 і <Ctrl>+<Tab> (і <Shіft>+ моди-фицирующая комбінація для циклічного повторення). Крім того, доцільно включити в меню Вікно батьківського вікна команди для переключення між дочірніми вікнами і команди керування розміщенням вікон у межах батьківського вікна (наприклад, Мозаїкою илн Каскадом).

Коли користувач переключається на дочірнє вікно, додаток може змінити інтерфейс батьківського вікна, наприклад, видозмінити меню, панель чи інструментів рядок стану, щоб відбити перелік дій, застосовних до цього дочірнього вікна. Проте , намагайтеся забезпечити погодженість між інтерфейсом батьківського і дочірнього вікон, зокрема , збережете незмінними меню, що забезпечують роботу з файлами і керування чи додатком загальним середовищем батьківською вікна (наприклад, меню чи Файл меню Вікно).

АЛЬТЕРНАТИВНИЙ ПІДХІД ДО РЕАЛІЗАЦІЇ MDІ

Технологія MDІ має свої обмеження. Зокрема , MDі-приложение постійно знаходиться в центрі уваги користувача, порушуючи тим самим принцип роботи, керованої даними. Мається на увазі наступне. Хоча користувач може запустити додаток MDІ безпосередно відкриттям одного зі своїх чи документів файлів даних, проте щоб працювати з декількома документами в тому самому батьківському вікні, він повинний використовувати інтерфейс додатка для відкриття цих документів.

Коли користувач відкриває кілька файлів у межах одного батьківського вікна, порушується погодженість зв'язку між дочірніми вікнами і між відображуваними в них об'єктами. Непогодженість полягає в тім, що хоча батьківське вікно візуальне поєднує дочірні вікна (як би відіграє роль кон-тейнера), це не приводить до аналогічного об'єднання відображуваних файлів. Це робить відносини між файлами і їх вікнами більш абстрактними, утрудняючи з'ясування принципів MDІ починаючими користувачами.

Унаслідок того, що батьківське вікно в дійсності не містить об'єкти, представлені в дочірніх вікнах, технологія MDІ не може забезпечити ефект безупинної роботи користувача. Мова йде про те, що коли користувач закриває батьківське вікно і потім знову відкриває його, створена раніше робітниче середовище не відновлюється і користувач змушений знову виконувати операції, зв'язані з відкриттям файлів, з яким він працював востаннє .

105

І [^обходжено також мати на увазі, що технологія MDІ може ускладнити деякі аспекти використання OLE. Наприклад, якщо користувач відкриває текстовий документ у MD [-додатку і потім відкриває (за допомогою іншого додатка) електронну таблицю, вставлений у цей текстовий документ, те візуальний зв'язок між текстовим документом і таблицею порушується, оскільки вікно з електронною таблицею не стає дочірнім для того ж батьківського вікна MUІ.

І, нарешті, ще одна обставина. Обмеження, що накладаються технологією М DІ на розміщення дочірніх вікон у батьківському вікні, можуть виявитися критичними для деяких завдань, наприклад, при проектуванні чи вікон виборі формату інструментальних засобів. Крім того, іноді користувач може не відрізнити дочірні вікна, "вкладені" у батьківське вікно, від первинних вікон, розташованих поверх нього.

Перераховані недоліки MDІ можуть бути в значній мірі переборені за рахунок застосування альтернативних засобів, таких як Робочі області (Workspaces), Робочі книги (Workbooks) і Проекти (Projects). Хоча ці засоби реалізують одновіконну модель інтерфейсу, проте вони виявляють цілий ряд достоїнств, властиві технології MDІ. Зокрема , з їхньою допомогою можна одержати різні форми представлення тих самих даних. Ці засоби забезпечують також велику гнучкість щодо типів об'єктів, що включаються в них. Проте , як і будь-який контейнер, вони можуть бути набудовані на збереження і керування тільки визначеним типом об'єктів.

Розглянуті нижче приклади тільки ілюструють деякі альтернативні підходи до реалізації MDі-технологии і не виключають можливості використання інших підходів. Крім того, тут опущені деякі специфічні деталі, реалізація яких залежить від розроблювача додатка.

РОБОЧА ОБЛАСТЬ

Робоча область має многими характеристики MDІ, у тому числі можливістю керування набором взаємозалежних вікон, відображуваних у межах батьківського вікна, а також використання ними елементів інтерфейсу батьківського вікна, таких як меню, панель інструментів і рядок стану (мал. 4.14).

Використання Робочої області як контейнер

Основна відмінність Робочої області від MDІ полягає у використанні концепції об'єднання відображуваних об'єктів. Це означає, що об'єкти, відображувані в Робочій області, можуть відповідати файлам, що містяться в тому самому контейнері. Зовні ж відповідні їм вікна виглядають як дочірні вікна, розташовані в межах батьківського вікна. Таким чином, концепція

Рис. 4.14. Приклад Робочої області

використання Робочої області подібнаі концепції використання Робочого столу, за винятком того, що вона сама є об'єктом, що може бути представлений у виді піктограми і відображений у виді відкритого вікна. Щоб вікно об'єкта могло з'явитися в Робочій області, сам об'єкт повинний входити до складу відповідного контейнера.

В даний час реалізація механізму збереження об'єктів залежить від типу використовуваного контейнера. Уміст батьківського вікна може представляти або єдиний файл, або ви можете розробити ваш власний механізм, що дозволяє відобразити уміст файлової системи. Продумайте можливість використання технології OLE, щоб полегшити взаємодія між вашою Робочою областю, оболонкою й іншими додатками. Надайте користувачу можливість переміщати об'єкти з Робочої області в інші контейнери, наприклад, на Робочий чи стіл у довільний каталог. Разом з тим, користувач повинний мати можливість, відкрити об'єкт у його індивідуальному вікні, що не входить у вікно Робочої області й обладающем власним інтерфейсом.

Оскільки Робоча область є об'єктом, то для неї необхідно визначити набір властивостей і перелік дозволених команд, у тому числі команди створення нових об'єктів у межах Робочої області і команду Зберегти всі, що дозволяє запам'ятати стан всіх об'єктів, відкритих у робочій області.

107

Використання Робочої області для групування завдань

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

Робоча область аналогічна також M.DІ в тім, що інтерфейс батьківського вікна може поширюватися на його дочірні вікна. Наприклад, якщо Робоча область містить меню, те вхідні в нього команди можуть бути використані для всіх його дочірніх вікон. Якщо ж Робоча область не має меню, чи якщо ви надаєте користувачу право сховати його, меню повинне з'являтися в дочірнім вікні. Продумайте також варіант спільного використання дочірніми вікнами панелі інструментів і рядка стану батьківського вікна.

Керування вікнами в Робочій області

При керуванні вікнами в Робочій області використовуються ті ж угоди, що й у М Dі-приложениях. Коли Робоча область закривається, усі дочірні вікна також закриваються. Варто зберегти стан цих вікон (зокрема , їхній розмір і розташування), щоб його можна було відновити при наступному відкритті Робочої області.

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

Робоча область повинна забезпечити засобу керування дочірніми вікнами в межах Робочої області. Зокрема , меню Вікно і спливаюче меню батьківського вікна повинні додатково містити команди, призначені для прямої активізації і переміщення відкритих дочірніх вікон.

РОБОЧА КНИГА

Робоча книга - це ще один альтернативний варіант керування формою представлення відображуваних даних, в основі якого лежить метафора чи книги записної книжки. У Робочій книзі різні форми даних представляються як окремі розділи в межах одного первинного вікна. Рис. 4.15 ілюструє один з можливих способів реалізації Робочої книги.

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

Рис. 4.15. Приклад Робочої книги

тримання й організації відображуваної інформації. Кожен розділ представляє дані, що могли б бути окремим документом. На відміну від чи папки Робочої області, Робоча книга краще підходить для представлення таких даних, що можуть бути певним чином упорядкований і цей порядок має істотне значення. Крім того, ви можете додатково включити спеціальний розділ, що перелічує зміст Робочої книги подібно змісту звичайної книги. Він може також бути використаний як частина навігаційного інтерфейсу Робочої книги.

Для Робочої книги дійсні ті ж угоди, що регламентують взаємозв'язок батьківського і дочірнього вікон у MDі-приложении. Зокрема , розділи можуть використовувати елементи інтерфейсу батьківського вікна, наприклад, меню і рядок стану. Коли користувач переключає розділи, меню може змінюватися таким чином, щоб найбільшою мірою відповідати поточному об'єкту. Якщо користувач закриває Робочу книгу, повинні дотримуватися загальні правила обробки не збережених змін, у тому числі повинна існувати можливість їхнього скасування.

Доцільно також підтримати для Робочої книги технологію OLE, щоб забезпечити можливість виконання операцій пересилання, копіювання і зв'язування об'єктів. Може бути також реалізована команда Помістити {Іnsert), щоб дозволити користувачу створювати нові об'єкти, у тому числі нові розділи Робочої книги. І, нарешті, для Робочої книги, як і для Робочої області, застосовна команда Зберегти всі, що зберігає перед закриттям книги внесені чи зміни уточнює в користувача, потрібно чи ці зміни чи зберегти відкинути.

109

ПРОЕКТ

Проект реалізує ще один альтернативний спосіб керування вікном, що передбачає можливість відображення в одному вікні взаємозалежних об'єктів, представлених їхніми піктограмами. У цьому змісті Проект подібний каталогу: для обраного об'єкта відкривається вікно, що відноситься до того ж рівню, що і батьківське вікно. У результаті, кожне дочірнє вікно Проекту може також мати власну кнопку входу на Панелі задач. На відміну від каталогу, Проект забезпечує керування з батьківського вікна вікнами вхідних у нього об'єктів. Наприклад, коли користувач, відкривши документ, закриває вікно каталогу, це ніяк не відбивається на вікні відкритого документа. І навпроти, коли користувач закриває вікно Проекту, усі вікна його об'єктів також закриваються. Крім того, коли користувач відкриває вікно Проекту, ця дія повинна відновлювати вікна об'єктів у їхній попереднім стані.

Щоб полегшити керування вікном, коли користувач звертає вікно Проекту, доцільно згорнути також відкриті вікна вхідних у Проект об'єктів. При цьому на Панелі задач залишаються кнопки входу для цих вікон. Дозволите користувачу відновлювати конкретне дочірнє вікно, не відновлюючи вікно чи Проекту інші дочірні вікна Проекту. Крім того, забезпечте користувачу можливість звертати будь-яке дочірнє вікно, не впливаючи на вікно Проекту. На мал. 4.16 показаний приклад Проекту.

Вікна об'єктів, що входять у Проект, не можуть використовувати чи меню елементи керування вікна Проекту. Тому вікно кожного об'єкта необхідно уключити власні елементи інтерфейсу Проте , ви можете створити вікно упав гри, що містить і габор інструментів, що можуть спільно використовуватися вікнами об'єктів Проекту.

За аналогією з Робочою областю і Робочою книгою, Проект повинний мати команди для створення нових об'єктів, для їхнього пересилання в 11роект і з нього, а також для збереження будь-яких змін об'єктів, що входять у Проект. Крім того, окпо Проекту повинне містити засобу для роботи із самим 1 [роектом як з об'єктом (у тому числі для зміни його властивостей).

Соседние файлы в папке перевод