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

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|, яка| вже містить|утримує| інформацію про елемент, що вставляється.

В разі|у разі| успішної вставки елементу функція повертає ненульове значення.