На прикладі інтегрованого середовища Delphi

Основи візуального об’єктно-орієнтованого програмування

Лекція №7

НЕ 3.6 Проектування графічного інтерфейсу.

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

Об‘єктно-орієнтовані середовища, такі як Delphi, VisualBasic та ін., пропонують розробнику програм широкі можливості для швидкого та якісного створення інтерфейсу. При проектуванні різноманітних кнопок, панелей, вікон програміст може виявити неабиякий політ фантазії. Але такі польоти корисно обмежувати. Існують визначені, сформульовані принципи побудови графічного інтерфейса, і, якщо програміст цими принципами буде нехтувати, його програми будуть виглядати як чужеродне тіло в середовищі Windows.

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

Багатовіконні програми. Скорш за все більш-менш складний додаток не може обмежитись одним вікном (формою для Delphi). Існують дві моделі програм: з інтерфейсом одного документа (SDI) та інтерфейсом багатьоох вікон (MDI).

Перевагу слід віддавати програмам з одним вікном. Цей інтерфейс зовсім не обов‘язково передбачає наявність дійсно тільки одного вікна, як, наприклад, калькулятор в Windows. Такий додаток Windows як «Провідник» також є SDI-додатком, але в необхідний момент ця програма створює вторинні вікна для пошуку файлів або каталогів, завдання вимог для перегляду, перегляду властивостей файлів і таке інше.



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

Випадки, коли доцільним є використання MDI-моделей інтерфейсу, достатньо рідкі. Перш за все такі програми корисно створювати, коли всі вторинні вікна будуть вміщувати однакові об‘єкти, наприклад, як тексти в Word‘і або електронні таблиці в Excel‘і. Якщо ж в декількох вікнах буде заплановано використання різних об‘єктів, наприклад, текстів і електронних таблиць, або текстів і графічних об‘єктів, то гарантовано - цей додаток не буде ні зручним, ні ефективним. Наостаннє в цьому пункті необхідно зауважити, що Microsoft негативно ставиться до MDI-додатків, це може бути пояснено тим, що для попередніх версій Windows було створено дуже багато поганих програм саме з використанням MDI-моделей графічного інтерфейсу.

Кольорове оформлення програми. Колір взагалі є потужним інструментом впливу на психіку людини. Традиційний принцип сполучення кольорів досить простий: для цього необхідно запам‘ятати кольорову кругову діаграму і основні правила підбору кольорових гам (рис. 3.6.1).

Рис. 3.6.1 - Кругова діаграма кольорів

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

Для створення інтерфейсу існує декілька правил вибору кольорової гамми вікна програми:

· Необхідно викоритсовувати обмежений набір кольорів. Не рекомендується використовувати додаткові кольори. Найбільш сприйнятливим для фона вікна є нейтральний колір, такий, наприклад як сірий. Слід зауважити, що яскраві кольори створюють ефект наближення об‘єкта, а темні кольри якби віддаляють об‘єкт.

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

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

· В ООП передбачена стандартна палітра кольорів Windows, це кольори типа clWindows (всього 16 штук). Бажано використовувати при написанні програм саме ці кольори, тому що: по-перше, якщо обрати 256 кольорів, або, що ще гірше, 16 міліонів кольорів, то це може вповільнити роботу додатка, а, по-друге, необхідно подбати про те, як буле виглядати вікно програми на машині користувача з 16 кольорами або взагалі на монохромному дисплеї.

Шрифти текстів. Не рекомендується використувати якісь екзотичні шрифти для надписів при створення програми,тому що у випадку відсутності такого шрифта на комп‘ютері користувача всі підписи будуть виведені з помилками або взагалі будуть незрозумілими. В такому випадку необхідно додавати до програми файли екзотичних шрифтів та писати в специфікації програми ( в Help‘і) пояснення, як їх встановити на комп‘ютер. Або програма повинна перевіряти наявність екзотичного шрифта на комп‘ютері користувача та видавати повідомлення в разі його відсутності. Є ще такий вихід : надати користувачу можливість cамому обирати гарнітуру та параметри шрифта за допомогою системного діалога FontDialog, обрані установки тоді треба запам‘ятати в допоміжному файлі та передбачити загрузку саме цих установок при наступних запусках програми.

Вимоги до меню. Практично всі програми мають меню. Існують декілька різних типів меню: головне меню з випадаючими списками розділів, каскадні меню, в яких пунктам головному меню ставиться у відповідність список підрозділів, і вспливаючі або контекстні меню, які з‘являються, якщо користувач натискає праву кнопку мишки над деяким компонентом.

В Delphi меню створюються компонентами MainMenu - головне меню та PopupMenu - вспливаючі меню, обидва компонента знаходяться на сторінці Standard.

Основна вимога до меню - стандартизація. Ця вимога висувається з метою полегшити користувачу роботу з додатком. Наведемо типове меню текстового процесора Word (рис. 3.6.2).

Рис. 3.6.1 - Приклад типового головного меню.

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

· Назви розділів меню повинні бути звичними для користувача. Якщо навіть програміст не знає, яку саме назву надати тому чи іншому пункту меню, краще не вигадувати нічого оригінального, а пошукати приблизно відповідний пункт в будь-якій програмі під Windows. Назви повинні бути короткими та зрозумілими. Не рекомендується використовувати більше 2 слів для назви пункта меню.

· Групи функціонально (по змісту) пов‘язаних розділів повинні відокремлюватись в випадаючих меню розділювачами (у вигляді горизонтальних тоненьких границь).

· Розділи, до яких відносяться каскадні меню, повинні закінчуватись стрілкою (трикутничек), це вказівка на наявність дочірнього меню в даному розділі.

· Існує традиція підкреслювати символ, що відповідає клавіші швидкого доступу до команди, хоча такими клавішамі дуже рідко хтось користується. Наприклад, Копировать - підкреслена літера К, в сполученні з натисканням клавіші Alt можливий швидкий виклик команди копіювання.

· Назви розділів меню, які викликають відповідні діалогові вікна, закінчуються трьома крапками.

· Багатьом розділам меню ставляться у відповідність «гарячі клавіші», що дозволяють реалізувати команду, навіть не зоходячи в меню.Приклад - сполучення Ctrl-V здійснює копіювання.

· Не всі розділи меню доцільно робити доступними в даний момент, наприклад, якщо в Word‘і ще не відкритий жоден документ, то команда «Редагувати» взагалі не може бути виконана.Розділи, які на даний момент недоступні користувачу, в меню показуються сірим кольором.Якщо цей розділ вже є доступним, колір назви цього розділу стає синім (команда активна).

Проектування екрана. Основні вимоги до проектування екрана висуваються знов таки із міркувань зручності роботи користувача з програмою:

· Керуючі елементи та функціонально пов‘язані з ними компоненти екрана повинні бути візуально об‘єднані в групи. Це досягається за допомогою, наприклад, розташування цих пов‘язаних елементів в панелях.

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

· Стилістична єдність всіх вікон в програмі. Неприпустимим є, наприклад, розташування в різних вікнах одних і тих самих по змісту команд в різних місцях.

Підказки та контекстно-залежні довідки. Система підказок складається із:

· Ярлички, що з‘являються, коли користувач затримає курсор мишки над будь-яким компонентом програми. Реалізуються в Delphi властивістю Hint. Бажано написати такі підказки для всіх кнопок, панелей, тобто для всіх елементів в вікні програми.

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

· Вбудована система контекстно-залежних оперативних довідок, викливається при натисканні клавіші F1.

· Розділ меню «Довідка» (Help), дозволяє користувачу відкрити стандартний файл довідки.

НЕ 3.7 Обробка подій клавіатури та мишки. Всі дії користувача при роботі з програмою зводяться до переміщення мишки, натискання кнопок мишки та натискання клавіш клавіатури.

3.7.1 Обробка подій мишки. В Delphi визначений ряд подій, що пов‘язані з мишкою.

· OnClick -натискання мишки на компоненті

· OnDblClick -подвійне натискання мишки на компоненті

· OnMouseDown -натискання мишки над компонентом. Можливо розрізнити, яка саме кнопка мишки була натиснута.

· OnMouseMove -рух курсора над компонентом. Ця подія відбувається постійно в процесі переміщення курсора мишки над елементами в вікні. Приклад - при події OnMouseMove над кнопкою з надписом «Закрити» можна поміняти колір текста надпису на цій кнопці.

· OnMouseUp -відпускання раніш натиснутої кнопки мишки. Можливо розрізнити, яка саме кнопка мишки була раніше натиснута.

· OnStartDrag -початок процесу перетягування об‘єкта. Можливе розпізнавання, який саме об‘єкт перетягується.

· OnDragDrop -відпускання раніше натиснутої кнопки при перетягуванні об‘єкта.

· OnEnter -подія настає в момент отримання елементом фокуса в результаті натискання кнопок миші або клавіші табуляції.

· OnExit -подія настає в момент втрачення даним елементом фокуса в результаті натискання кнопок миші або клавіші табуляції.

3.7.2 Події клавіатури. Визначені всього три події, що повязані з клавіатурою.

· OnKeyDown -подія настає при натисканні користувачем будь-якої клавіші. Можна розрізнювати: натиснуті клавіші, включно до функціональних, або натиснуті кнопки мишки, але неможливо розрізнити - які саме клавіші натиснуті, тобто неможливо розрізнити символ клавіші.

· OnKeyPress -подія настає при натискання користувачем клавіші символа. Можна розрізнити тільки натиснуту клавішу символа, розрізнити символ в верхньому або нижньому регістрі, розрізнити символи кіріліци або латинські, але неможливо розрізнити функціональні клавіші та кнопки.

· OnKeyUp -подія настає при відпусканні користувачем будь-якої клавіші.

3.7.3 - Довідкові відомості про процеси Drag&Drop і Drag&Doc. Процес перетягування за допомогою мишки інформації із одного об‘єкта в інший Drag&Drop дуже широко використовується в Windows. Наприклад, можливо перетягувати файли між папками, перетягувати самі папки, включати їх в інші папки і т.і..

Технологія перетягування та вбудовування віконних об‘єктів носить назву Drag&Doc . Це дає користувачу повну свободу в перебудові інтерфейсу та налаштуванню його по власному бажанню. Приклад такої технології - процес проектування графічного інтерфейса в Delphi.

Контрольні запитання.

1. В чому полягає різниця між одновіконним та багатовіконним графічним інтерфейсом?

2. Назвіть основні вимоги до вибору кольорів при проектуванні програми.

3. Чому не рекомендується вибирати красиві, але незагальноприйняті, шрифти для підписів на елементах вікна?

4. Що таке стандартизація вимог при проектуванні інтерфейсу?

5. Основні вимоги до проектуванню меню в програмі.

6. Основні події мишки та клавіатури?

7. Що таке технології Drag&Drop і Drag&Doc?


8775960918541218.html
8776023574094016.html
    PR.RU™