Студопедия

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

КАТЕГОРИИ:

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






Елементи меню






Меню використовують для вибору команд та зміни режимів роботи додатку. Рядки меню відображають назву розділу чи команди меню. Якщо рядок пов'язаний з командою, при її виборі додаток одержує повідомлення WM_COMMAND та ідентифікатор цієї команди. Відображуваним елементом меню є рядок або графічний об'єкт. Рядки в текстовому вигляді відображають назви розділів або команд меню, а також клавіш швидкого доступу. Рядок може бути позначений галочкою або іншим чином. Такий рядок використовується як прапорець або перемикач. Якщо при виборі рядка на екрані повинна з'явитись діалогова панель, до слова праворуч додають багатокрапку. Заблоковані рядки меню відображають сірим кольором.

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

За способом створення розрізняють статичні і динамічні меню. Статичне меню створюють до запуска і не змінюють в процесі роботи додатку. Динамічне меню створюють в процесі роботи додатку. Динамічне меню після створення можна змінювати або залишати незмінним. Робота з рядками статичних і динамічних меню нічим не відрізняється.

Користувач бачить і працює з рядками меню, а додаток працює з елементами меню. Будь-який елемент меню може бути описаний за допомогою структури MENUITEMINFO:

typedef struct

{ UINT cbSize;

UINT fMask;

UINT fType;

UINT fState;

UINT wID;

HMENU hSubMenu;

HBITMAP hbmpChecked;

HBITMAP hbmpUnchecked;

DWORD dwItemData;

LPTSTR dwTypeData;

UINT cch;

} MENUITEMINFO;

Поля структури:

- cbSize - містить розмір структури MENUITEMINFO;

- fMask - вказує операційній системі, з якими полями структури потрібно працювати;

- fType - задає тип елемента;

- fState - задає стан елемента меню;

- wID - містить ідентифікатор команди, пов'язаної з елементом меню, який визначається додатком;

- hSubMenu - містить дескриптор тимчасового меню, яке з'являється при виборі цього елемента (NULL не вказує на тимчасове меню);

- hbmpChecked - містить дескриптор зображення мітки для відображення відзначеного стану елементу (NULL вказує на символ перемикача або галочку);

- hbmpUnchecked - містить дескриптор зображення мітки для відображення незазначеного стану елементу (NULL вказує на стан, який нічим не відображається)

- dwItemData - значення, пов'язане з елементом меню, яке визначається додатком;

- dwTypeData - містить відображення елементу;

- cch - дорівнює довжині рядка dwTypeData або 0.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал