я інтерфейсу користувача з застосуванням функцій Win32 API засноване на використанні так званих ресурсів. Ресурсами є відповідним чином оформлені дані, які використовуються операційною системою для створення зовнішнього відображення органів управління додатком, і засоби, що забезпечують введення даних в процесі виконання програми в режимі діалогу. Ресурси описуються в текстовому файлі з розширенням
rc. Файл ресурсів після обробки компілятора ресурсів та отримання двійкового файлу з розширенням res за допомогою компонувальника об'єднується з виконуваним файлом.
Постановка завдання
Найбільш очевидним засобом управління додатком є ​​меню. Рядок меню виводиться на екран безпосередньо під рядком заголовка. Це меню називається головним. Вибір елемента меню тягне за собою видачу додатком повідомлення WM_COMMAND, містить ідентифікатор пункту меню. Ідентифікатори аналізуються в віконної процедури програми, що забезпечує відповідну реакцію на отримане повідомлення. Кожен пункт меню визначається трьома характеристиками. Перша визначає те, що буде відображатися в даному пункті меню - це або рядок тексту, або картинка. Друга характеристика визначає або константу, посилаємо віконної процедури в повідомленні WM_COMMAND, або спливаюче меню, яке виводиться на екран, коли користувач вибирає даний пункт меню. Третя характеристика вказує, чи є даний пункт меню дозволеним (enabled), запрешенним (disabled), недоступним (grayed) або поміченим (checked). Ця характеристика пункту меню не є обов'язковою.
Меню можна створити трьома способами. Можна визначити меню у файлі опису ресурсів, створити меню без файлу опису ресурсів безпосередньо в програмі за допомогою функцій CreatMenu, AppendMenu і InsertMenu або за допомогою функції LoadMenuIndirect, створивши попередньо структуру MENUITEMPLATE. Найбільш простим і зрозумілим при програмуванні під Windows95 мовою асемблера є визначення меню у файлі опису ресурсів за допомогою будь-якого текстового редактора. p> Моє завдання полягає в створення меню без файлу опису ресурсів за допомогою функцій CreateMenu і CreatePopupMenu. Одним із засобів створення меню без використання файлу опису ресурсів є функції CreateMenu з наступним додаванням необхідного числа пунктів з допомогою функції AppendMenu.
Створення меню без опису ресурсів за допомогою функцій CreateMenu і CreatePopupMenu
Windows-додаток на асемблері містить один сегмент даних. data і один сегмент коду. code. У програмі використано 20 функцій API. Параметри цих функцій передаються через стек, результат повертається в регістрі ЕАХ. p> Директива mode1 задає плоску модель пам'яті (flat) і стиль передачі параметрів при вході до процедури програми і виході з них (stdcall). Модель пам'яті flat означає плоску модель пам'яті. Відповідно з плоскою моделлю пам'яті компілятор створює програму, яка містить 32-бітову сегмент для даних і коду програми. Вказівка ​​цієї моделі пам'яті з...