АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Створення графічного інтерфейсу Windows

Читайте также:
  1. How to: Create a Shaped Windows Form
  2. Microsoft Word для Windows
  3. OC Windows NT Server пайдаланылады
  4. Windows
  5. Windows 9x/Me
  6. Автоматичне створення форм
  7. Аппаратные и программные неисправности, выявляемые при загрузке Windows
  8. Архітектура та робота ОС Windows Linux
  9. Аутентификация в Windows 2000
  10. Банківська система. Процес «створення» банківських грошей.
  11. бІблІографІЧного опису у списку джерел
  12. Бібліографічного опису у списку джерел

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

Життєвий цикл віконної програми для ОС Windows складається з початкового створення вікон, ініціалізації необхідних даних, і головного циклу, в якому оброблюються повідомлення, що надходять до вікна програми.

Створення графічного інтерфейсу Windows-програми і забезпечення обробки повідомлень є доволі трудомістким. Для спрощення цього процесу існують розроблені різними фірмами бібліотеки класів, які інкапсулюють роботу з компонентами графічного інтерфейсу Windows. Серед цих бібліотек можна виділити MFC (Microsoft Foundation Classes) від Microsoft і VCL (Visual Components Library) від Borland.

Розглянемо принцип створення графічного інтерфейсу програми у середовищі MS Visual Studio 2005, використовуючи бібліотеку MFC. Найкращих результатів при використанні цієї бібліотеки можна досягнути, використовуючи технологію Документ/Представлення (Document/View), але для реалізації елементарного інтерфейсу можна обмежитися створенням діалогового вікна.

Для створення проекту діалогового вікна у MS Visual Studio 2005 необхідно викликати пункт меню File – New – Project, і у вікні, що з’явилося, обрати Visual C++ - MFC – MFC Application, і ввести ім’я майбутнього проекту. Після цього буде викликано майстер настройки нового проекту. У розділі Application Type слід обрати Dialog Based, також там можна обрати, яким чином використовувати бібліотеку MFC (як загальну DLL або як статичну бібліотеку), і чи треба включати в програму підтримку кодування Unicode. В розділі Unit Interface Features підстроюється вид майбутнього вікна. На цьому попередню настройку можна завершити, натиснувши кнопку Finish.

В результаті буде згенеровано:

– файли, які містять клас додатку (звичайно носять ім’я проекту), успадкований від класу MFC CWinApp;

– файли, які містять клас діалогового вікна (звичайно носять ім’я проекту плюс Dlg), успадкований від класу MFC CDialog;

– файли ресурсів Resource;

– файли прекомпільованих заголовків stdafx.

Навігацію цими файлами можна здійснювати за вікна Solution Explorer (CTRL-ALT-L).

Налаштування інтерфейсу діалогового вікна зберігаються у файлі ресурсів. Для створення його дизайну слід перейти до вікна Resource View (CTRL-SHIFT-E) і в розділі Dialog обрати відповідне діалогове вікно. В результаті з’явиться поточний вигляд вікна. Додавати компоненти до нього можна за допомогою панелі компонентів Toolbox (CTRL-ALT-X).

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

Виставимо у відкритій панелі Properties у розділі Properties властивість Type у значення Drop List. Такий стиль дозволить лише обирати елементи із вже існуючих у списку, без можливості вводити їх у полі для вводу.

Додамо до створеного списку функцію, що оброблює подію зміни поточного вибраного елементу списку. Для цього необхідно переключитися на відображення в панелі Properties подій (Control Events), знайти назву події CBN_SELCHANGE і, натиснувши у відповідному до нього полі на стрілку, обрати <Add>. Після цього у класі діалогового вікна з’явиться нова функція-член, в яка буде викликатися при зміні обраного в списку елементу.

З більшістю компонентів діалогового вікна можна пов’язувати змінні-члени. Для цього слід викликати контекстне меню відповідного компоненту і обрати пункт Add Variable. У вікні, що з’явилося, проставляється ім’я нової змінної (Variable Name), модифікатор доступу (Access), категорію змінної (якщо треба маніпулювати лише значенням компоненту – обирають категорію Variable, якщо ж необхідно виконувати інші дії над ним – категорію Control). Пов’яжемо створений список зі змінною m_ComboBox категорії Control. В клас діалогового вікна буде додано змінну-член класу CComboBox.

Додамо на діалогове вікно компонент Edit Control (поле для редагування). Пов’яжемо його зі змінною m_Edit категорії Value. В клас діалогового вікна буде додано змінну-член класу CString.

У функцію-член OnInitDialog класу діалогового вікна додамо код, який ініціалізує поле зі списком:

m_ComboBox.AddString(L"Text 1");

m_ComboBox.AddString(L"Text 2");

m_ComboBox.AddString(L"Text 3");

Повернемося до функції, яка оброблює зміну поточного елементу поля зі списком, внесемо туди наступний код:

m_ComboBox.GetLBText(m_ComboBox.GetCurSel(), m_Edit);

UpdateData(false);

Функція-член класу CComboBox GetLBText заносить у змінну m_Edit значення рядку зі списку з номером m_ComboBox.GetCurSel() (поточний обраний елемент). Функція-член класу CDialog UpdateData обновлює дані, пов’язані з компонентами діалогового вікна. При цьому її параметр вказує, в якому напрямку виконувати обновлення – зі змінних до компонентів (false), або навпаки (true).

Тепер при зміні елементу поля зі списком новий обраний елемент буде відображатися у полі для редагування.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)