Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
каркас.doc
Скачиваний:
63
Добавлен:
03.06.2015
Размер:
1.6 Mб
Скачать

Глава 4. Ресурсы и меню

Вы уже знакомы со структурой программ для Windows, которые принимают и обрабатывают сообщения. Настало время разобраться с компонентами пользовательского интерфейса Windows. Если Вы только начали изучать программирование под Windows, важно запомнить, что чаще всего Ваши приложения будут взаимодействовать с пользователем, используя одну или более предопределенных компонент интерфейса.

В Windows имеется различные элементы интерфейса. В данной главе обсуждаются два из них: окна сообщений и меню. Это наиболее важные компоненты интерфейса Windows. Практически все написанные Вами программы будут их использовать. В Windows предопределены основные стили окон сообщений и меню, – необходимо только заполнить их соответствующей информацией.

В данной главе вводится также понятие ресурсов, которые являются важной частью почти всех Windows-приложений.

4.1. Окна сообщений MessageBox

Окно сообщения – это самый простой элемент интерфейса. Оно отображает некоторое сообщение и ожидает реакции пользователя. Можно создавать окна сообщений, предусматривающие несколько вариантов действий пользователя, но, вообще говоря, целью окна сообщения является просто информирование пользова­теля о свершении некоторого события.

Для создания окна сообщения следует использовать функцию API MessageBox(), которая имеет прототип:

int MessageBox(HWND hwnd,

LPCSTR lpText, LPCSTR lpCaption,

UINT wMBType);

Параметр hwnd – это дескриптор родительского окна; параметр lpText – указатель на строку сообщения, отображаемую внутри окна сообщения; lpCaption указывает на строку, используемую в качестве заголовка окна сообщения. Параметр wMBType является комбинацией значений, которые определяют свойства окна сообщения, включающие типы «кнопок», которые должны присутствовать, и дополнительную иконку рядом с текстом сообщения. Эти макросы определены в файле windows.h. Необходимый набор свойств можно получить объединив эти значения при помощи логического сложения. Функция MessageBox() возвращает значение, соответствующее действию пользователя. Соответствующие кнопки могут присутствовать в зависимости от значения wMBType. В таблице 4.1 приведены возможные возвращаемые значения этой функции.

Таблица 4.1

Значения функции MessageBox

Нажатая кнопка

Возвращаемое значение

1

Abort

IDABORT

2

Retry

IDRETRY

3

Ignore

IDIGNORE

4

Cancel

IDCANCEL

5

No

IDNO

6

Yes

IDYES

7

OK

IDOK

Чтобы окно сообщения появилось на экране, просто вызовите функцию MessageBox(), Windows отобразит окно сообщения при первой же возможности. При этом не нужно получать контексты устройств или обрабатывать какие-либо сообщения. В данном случае Windows делает все это самостоятельно. (Простота использования делает окна сообщений прекрасным средством отладки, когда необходимо просто и быстро вывести что-либо на экран.) Некоторые значения, которые могут быть использованы для wMBType, приведены в таблице 4.2.

Таблица 4.2