Программирование для IBM OS2


Приложение MENUAPP


В приложении MENUAPP мы создадим стандартное меню верхнего уровня, показанное на рис. 3.5.

Рис. 3.5. Стандартное меню верхнего уровня в приложении MENUAPP

Временное меню Options, показанное на рис. 3.6, демонстрирует использование стилей меню MIS_BREAKSEPARATOR и MIS_STATIC , а также атрибута строки меню MIA_FRAMED .

Рис. 3.6. Временное меню Options

Если в окне Client Window сделать щелчок правой клавишей мыши, около курсора появится плавающее меню, которое в точности повторяет временное меню File (рис. 3.7).

Рис. 3.7. Плавающее меню, повторяющее временное меню File

Исходный текст приложения MENUAPP представлен в листинге 3.1.

Листинг 3.1. Файл menuapp\menuapp.c

// =================================================== // Определения // ===================================================

#define INCL_WIN #define INCL_GPI #define INCL_WINDIALOGS

#include <os2.h> #include <stdio.h> #include "menuapp.h"

// Прототип функции окна приложения MRESULT EXPENTRY WndProc(HWND, ULONG, MPARAM, MPARAM);

// =================================================== // Глобальные переменные // ===================================================

// Идентификатор Anchor-block HAB hab;

// Идентификатор окна Frame Window HWND hWndFrame;

// Идентификатор окна Client Window HWND hWndClient;

// Заголовок приложения CHAR szAppTitle[] = "Menu Demo Application";

// Идентификатор временного меню HWND hwndPopupMenu;

// =================================================== // Главная функция приложения main // ===================================================

int main () { // Идентификатор очереди сообщений HMQ hmq;

// Структура, в которую записывается сообщение, // извлеченное из очереди QMSG qmsg;

// Переменная для хранения кода возврата BOOL fRc;

// Флаги для создания окна Frame Window ULONG flFrameFlags = FCF_SYSMENU | FCF_TITLEBAR | FCF_MINMAX | FCF_SIZEBORDER | FCF_SHELLPOSITION | FCF_TASKLIST | FCF_ICON | FCF_MENU;

// Имя класса главного окна CHAR szWndClass[] = "MENUDEMO";




Начало  Назад  Вперед