Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ІК (Говорущенко) Методичка.doc
Скачиваний:
6
Добавлен:
23.02.2016
Размер:
762.88 Кб
Скачать

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

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

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

Функція 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. Головне меню містить розділ "Викладачі", в якому перераховані рядки з прізвищами викладачів. Після вибору викладача цей розділ щезає і з'являється розділ "Дані", в якому перераховані спільні для всіх викладачів та типові лише для обраного викладача даних. Команди відображених рядків зв'язати з акселераторами.