- •Національний університет «Львівська політехніка» іепт ім. В’ячеслава Чорновола
- •Курсовий проект
- •1. Формулювання задачі
- •2. Методи та засоби розв’язання задачі
- •2.1 Клас вікон
- •2.2 Створення|створіння| вікон
- •2.3 Головна|чільна| функція додатка |застосування|
- •2.4 Полоса прокрутки
- •2.5 Створення|створіння| смуги прокрутки
- •2.6 Повідомлення|сполучення| від смуги прокрутки
- •2.7 Керування смугою прокрутки
- •2.8 Створення|створіння| списку
- •2.10 Функції виведення тексту
- •2.11 Меню
- •2.12 Створення|створіння| меню
- •2.13 Вставка елементів в меню
- •2.14 Видалення|віддалення| елементів з|із| меню
- •2.15 Акселератори
- •3. Алгоритм розв'язування задачі
- •4.1 Призначення програми
- •Мови програмування, на яких написана програма
- •Програмні засоби, необхідні для реалізації програми
- •Технічні засоби, необхідні для реалізації програми
- •5. Інструкція користувачеві
- •5.1 Головне вікно програми
- •Контрольний приклад та аналіз результатів комп'ютерної реалізації програми
- •Список використаної література
- •Додатки Додаток 1. Код TextEdit.Cpp
- •Додаток 2. Код MainFrm.Cpp
- •Додаток 3. Код MainFrm.H
- •Додаток 4. Код TextEdit.H
- •Додаток 5 Код TextEdit.Rc
2.12 Створення|створіння| меню
Алгоритм створення|створіння| меню в спільному|загальному| випадку містить|утримує| наступні|слідуючі| кроки:
Створення|створіння| порожнього|пустого| меню hMenu|.
Вставка елементу в меню hMenu|.
Крок 2 повторюваний стільки раз, скільки елементів містить|утримує| меню hMenu|.
Цей алгоритм дозволяє створювати багаторівневе меню. Наприклад, елемент, що вставляється на 2-му кроці, може вказувати|вказувати| на вже створене тимчасове меню. Причому будь-який елемент останнього також може вказувати| на тимчасове меню.
Меню спочатку створюють тільки|лише| в пам'яті. Існують функції, котрі| операційній системі вказують|вказують|, яке меню створене, якому вікну воно належить і коли його відображувати|відображати|. Розгленемо|розглядатимемо| ці функції.
Функція CreateMenu| створює порожнє|пусте| головне|чільне| меню вікна: HMENU| CreateMenu|(VOID|);
В разі|у разі| успішного виконання функція CreateMenu| повертає дескриптор| створеного головного|чільного| меню, інакше - NULL|.
Функція CreatePopupMenu| створює порожнє|пусте| тимчасове меню: HMENU| CreatePopupMenu|(VOID|);
В разі|у разі| успішного виконання функція CreatePopupMenu| повертає| дескриптор створеного тимчасового меню, інакше - NULL|.
Функція SetMenu| підключає головне|чільне| меню hMenu| до вікна hwnd|: BOOL| SetMenu|(HWND| hwnd|, HMENU| hMenu|);
Вона видаляє|віддаляє| попереднє меню, але|та| не руйнує його. Якщо ж hMenu=| NULL|, то тільки|лише| віддаляється головне|чільне| меню. В разі|у разі| успішного підключення| функція повертає ненульове значення.
Після|потім| змін в меню, незалежно від стану|достатку| вікна hwnd|, для перемальовування смуги меню потрібно викликати|спричиняти| функцію DrawMenuBar|: void| WINAPI| DrawMenuBar|(HWND| hwnd|);
Вона перемальовувала смугу меню вікна hwnd|.
Таким чином, алгоритм підключення головного|чільного| меню до вікна і відображення| смуги меню містить|утримує| наступні|слідуючі| кроки:
Створення|створіння| головного|чільного| меню. Цей крок повністю|цілком| збігається з алгоритмом| створення|створіння| меню.
Підключення головного|чільного| меню до вікна.
Перемальовування смуги меню вікна.
Після|потім| цього роботу з|із| меню забезпечує операційна система.
Додаток|застосування| в створене меню може вставляти нові елементи або видаляти|віддаляти| старі, а також може змінювати|зраджувати| або спитає| поточне становище| будь-якого елементу.
2.13 Вставка елементів в меню
Функція InsertMenuItem| вставляє елемент в меню hMenu|: BOOL| insertMenultem|(HMENU| hMenu|, UINT| ultem|
BOOL| ffiyPosition|, LPMENUITEMINFO| lpmii|);
Значення аргументу uItem| залежить від значення fflyPosition|. При fByPosition=FALSE| значення uItem| дорівнює ідентифікатору команди елементу, що вставляється, інакше - позиції того елементу в меню, перед яким потрібно вставити новий елемент. Якщо меню містить|утримує| n елементи| і потрібно вставити новий елемент останнім, то номер позиції прирівнюють| n (n=0|, 1, 2 . ..).
Параметр lpmii| вказує|вказує| на структуру типа|типу| MENUITEMINFO|, яка| вже містить|утримує| інформацію про елемент, що вставляється.
В разі|у разі| успішної вставки елементу функція повертає ненульове значення.
