Студопедия

Главная страница Случайная страница

Разделы сайта

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






Акселератори






Для швикдого доступу до команд використовують акселератори. Їх іноді називають " клавішами швидкого виклику" команд меню. В дійсності ж акселератори можуть бути пов'язані з будь-якими командами.

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

Функція CreateAcceleratorTable створює таблицю акселераторів. Кожну таку таблицю потрібно руйнувати до завершення роботи додатку. Для цього викликають функцію DestroyAcceleratorTable.

Структура ACCEL задає дані одного акселератора і описана наступним чином:

typedef struct

{ BYTE fVirt;

WORD key;

WORD cmd;

} ACCEL;

Приклад.

Задача. Створити таблицю акселераторів для генерування вісьми найбільш часто використовуваних команд.

Розв‘язок.

#define FILE_NEW 1000

#define FILE_OPEN 1001

#define FILE_SAVE 1002

#define FILE_QUIT 1003

#define EDIT_CUT 2000

#define EDIT_PASTE 2001

#define EDIT_COPY 2002

#define EDIT_DEL 2003

HACCEL CreateAccelTable(void)

{ //Масив акселераторів

ACCEL Accel[8];

//Створити

Accel[0].fVirt=FVIRTKEY | FCONTROL; Accel[0].key=0x4e; Accel[0].cmd=FILE_NEW;

//Вікдрити

Accel[1].fVirt=FVIRTKEY | FCONTROL; Accel[1].key=0x4f; Accel[1].cmd=FILE_OPEN;

//Зберегти

Accel[2].fVirt=FVIRTKEY | FCONTROL; Accel[2].key=0x53; Accel[2].cmd=FILE_SAVE;

//Вихід

Accel[3].fVirt=FVIRTKEY | FALT; Accel[3].key=0x73; Accel[3].cmd=FILE_QUIT;

//Вирізати

Accel[4].fVirt=FVIRTKEY | FCONTROL; Accel[4].key=0x58; Accel[4].cmd=EDIT_CUT;

//Вставити

Accel[5].fVirt=FVIRTKEY | FCONTROL; Accel[5].key=0x56; Accel[5].cmd=EDIT_PASTE;

//Копіювати

Accel[6].fVirt=FVIRTKEY | FCONTROL; Accel[6].key=0x43; Accel[6].cmd=EDIT_COPY;

//Видалити

Accel[7].fVirt=FVIRTKEY; Accel[7].key=0x2e; Accel[7].cmd=EDIT_DEL;

Return CreateAcceleratorTable((LPACCEL) Accel, 8); }

 

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

 

IІ. ЗМІСТ ЗВІТУ

1. Тема, мета, умова завдання.

2. Опис команд, за допомогою яких було виконано завдання, і результатів їх виконання.

3. Висновок.

 

ІІІ. ЗАВДАННЯ

Написати програму мовою програмування C++ з використанням GDI+ для реалізації завдання згідно варіанту.

1. Головне меню містить рядки " Невидимий курсор", " Звичайний курсор" і " Вихід". Створити плаваюче меню з такими ж рядками. Щоб курсор став невидимим, викликати функцію ShowCursor(0), видимим - ShowCursor(1).

2. Розділ " Користувачі" головного меню містить список користувачів. При виборі користувача в головному меню з'являються додаткові розділи. При зміні користувача змінюються й ці розділи.

3. При відкритті або створенні документу з'являється розділ " Правка" з командою " Виділити". Після вибору цієї команди в цьому розділі додаються рядки " Видалити" і " Копіювати", а команда " Виділити" відзначається галочкою (яка зникає при повторному виборі). Якщо обрати команду " Копіювати", то елемент " Видалити" заміняється елементом " Вставити".

4. Головне меню містить розділ " Файл", в якому перераховані рядки з іменами команд " Створити", " Відкрити", " Вихід". Після вибору рядків " Створити" або " Відкрити" додати рядки " Зберегти" та " Друк", а також розділ " Правка" з рядками " Вирізати", " Вклеїти", " Копіювати". Команди зв'язати з акселераторами.

5. Головне меню містить розділ " Файл" з іменами команд " Створити", " Відкрити", " Закрити", " Друк" і " Вихід", а також розділ " Правка" з рядками " Вирізати", " Вклеїти" і " Копіювати". Після вибору команди " Закрити" видалити розділ " Правка". Колманди зв'язати з акселераторами.

6. Головне меню містить розділ " Рисунок" з іменами чотирьох геометричних фігур. Після вибору фігури відобразити фігуру в певній частині вікна. При натисканні правої кнопки миші над будь-якою відображеною фігурою на місці натискання відобразити плаваюче меню з відповідними обраній фігурі командами.

7. Головне меню містить розділ " Файл" з рядками " Створити", " Відкрити", " Вихід". При виборі рядка " Створити" або " Відкрити" створити вікно, яке містить меню з розділами " Правка" і " Ефекти". Команди зв'язати з акселераторами.

8. Головне меню містить розділ " Файл" з рядками " Створити", " Відкрити" і " Вихід". При виборі рядків " Створити" або " Відкрити" створити вікно, яке містить розділ меню " Фігури" зі списком імен геометричних фігур, при виборі імені відобразити фігуру з таким ім'ям та позначити ім'я галочкою. При повторному виборі імені забрати фігуру і видаелити галочку.

9. Головне меню містить розділ " Фігури" з іменами геометричних фігур. При виборі назви фігури в головне меню додати розділ з назвою фігури та перерахуванням основних йїї параметрів в цьому розділі. При поворному натисканні повинні щезнути цей розділ і галочка.

10. Рядки головного меню розташувати в декількох лініях, а рядки плаваючого меню в одну лінію.

11. Створити плаваюче меню для вибору та встановлення вигляду курсору миші. При виборі імені вигляду курсора курсор миші повинен прийняти відповідний вигляд.

12. Головне меню містить розділ " Файл" з рядками " Новий", " Відкрити" і " Вихід" і розділ " Допомога" з рядками " Вміст" та " Про програму". При виборі рядка " Вміст" з'являються рядки " Вступ", " Частина 1", " Частина 2" і т.д., а при виборі рядка " Частина …" з'являються рядки " Розділ1", " Розділ 2" і т.д.

13. Робочу область вікна повністю займають два тимчасових вікна. Головне меню першого вікна містить розділ " Файл" з рядками " Відкрити" і " Вихід". Якщо обрати рядок " Відкрити", то в другому вікна з'являється головне меню з розділом " Правка".

14. Плаваюче меню мітсить рядки " Сховати", " Показати", " Масштаб", " Властивості". Рядок " Масштаб" вказує на тимчасове меню з чотирьох залежних рядків: " 50%", " 100%", " 150%", " 200%", при виборі один з яких відзначається кружечком.

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

16. Головне меню містить розділ " Файл" з рядками " Створити", " Відкрити" і " Вихід". При виборі команди " Створити" або " Відкрити" створити розділ " Правка" з рядками " Вирізати", " Вклеїти" та " Копіювати". Команди лише відображуваних рядків зв'язати з акселераторами.

17. Головне меню містить розділ " Файл", в якому перераховані рядки з іменами команд " Створити", " Відкрити" і " Вихід", які можуть бути відзначені як залежні перемикачі. Після вибору рядків " Створити" або " Відкрити" додати розділ " Правка" з командами " Вирізати", " Вклеїти" і " Копіювати", які можуть бути відзначені як незалежні прапорці. Команди відзначених рядків звзати з акселераторами.

18. Головне меню містить розділ " Фігури" з залежним списком імен геометричних фігур. При виборі імені повинна бути відображена лише ця фігура і відзначено кружечком лише її ім'я.

19. Розділ " Файл" містить рядки " Створити", " Відкрити", " Демоверсія" та " Вихід". При виборі рядка " Створити" або " Відкрити" створити вікно, що перекривається, з розділом меню " Ефекти". Список рядків розділу " Ефекти" залежить від стану рядка " Демоверсія". Команди відображених рядків меню зв'язати з акселераторами.

20. Головне меню містить розділ " Файл" з рядком " Відкрити". При виборі цього рядка в головне меню додати розділ " Правка" з рядками " Вирізати", " Копіювати" та " Видалити", видалити рядок " Відкрити" і додати рядок " Закрити". При виборі рядка " Закрити" повернутись до початкового стану. Команди відображених рядків меню зв'язати з акселераторами.

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

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

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

24. Головне меню містить розділ " Кольори" з п'ятьма іменами стандартних кольорів Windows та розділ " Фігури" з іменами трьох плоских фігур. Після вибору кольору і фігури відобразити фігуру обраним кольором, а відповідні рядки меню відзначити галочкою. При повторному натисканні повинні щезнути ця фігура і галочки.

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

26. Головне меню містить розділ " Студенти", в якому перераховані рядки з іменами студентів. Після вибору студента цей розділ щезає і з'являється розділ " Дані", в якому перераховані спільні для всіх студентів та типові лише для обраного студента рядки даних. Команди відображених рядків зв'язати з акселераторами.

27. Головне меню містить розділ " Кольори" з трьома іменами стандартних кольорів Windows та розділ " Фігури" з іменами чотирьох плоских фігур. Після вибору кольору і фігури відобразити фігуру обраним кольором, а відповідні рядки меню відзначити галочкою. При повторному натисканні повинні щезнути ця фігура і галочки.

28. Головне меню містить розділ " Спортсмени", в якому перераховані рядки з іменами спортсменів. Після вибору спортсмена цей розділ щезає і з'являється розділ " Дані", в якому перераховані спільні для всіх спортсменів та типові лише для обраного спортсмена рядки даних. Команди відображених рядків зв'язати з акселераторами.

29. Головне меню містить розділ " Кольори" з чотирма іменами стандартних кольорів Windows та розділ " Фігури" з іменами чотирьох плоских фігур. Після вибору кольору і фігури відобразити фігуру обраним кольором, а відповідні рядки меню відзначити галочкою. При повторному натисканні повинні щезнути ця фігура і галочки.

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

 

IV. КОНТРОЛЬНІ ПИТАННЯ

 

1. Основні види меню та різниця між ними?

2. Алгоритм створення головного меню?

3. Функції роботи з меню.

4. Що таке плаваючі меню?

5. Що таке акселератори?






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.