Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GDI App.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
55.86 Кб
Скачать
    1. Что представляют собой сообщения?

Сообщения представляют собой короткие блоки информации фиксированной структуры, которыми могут обмениваться между собой потоки приложений и их оконные объекты. Передаваемый в сообщении блок информации характеризуется структурой MSG, которая определяется следующим образом:

Typedef struct tagMSG

{

HWND hWnd;

UINT message;

WPARAM wParam;

LPARAM lParam;

DWORD time;

POINT pt;

} MSG;

Здесь hWnd - дескриптор окна, которому направлено сооб­щение, message - идентификатор сообщения, wParam и lParam - параметры сообщения, time - задает время, когда, сообщение было послано, pt - задает положение курсора мыши, когда было послано сообщение.

Заметим, что в Win16 параметр wParam был 16-разрядным, откуда и его название. В Win32 он стал 32-разрядным, однако в целях сохранения совместимости сохранил свое имя.

Из объявления оконной процедуры видно, что ей передается только часть информации, которая посылается с сообщением. Параметры wParam и lParam содержат различную информа­цию, характеризующую данное сообщение. Часто информация, размещенная в каждом из них, состоит из двух 16-разрядных час­тей. Win32 АРI обеспечивает макросы LOWORD и HIWORD для доступа, соответственно, к младшему и старшему слову парамет­ра. При программировании с использованием МРС этими макро­сами редко приходится пользоваться, так как эта библиотека со­держит массу обработчиков сообщений, которые предоставляют информацию, пришедшую с сообщением в удобной форме.

Современные версии операционных систем Windows насчи­тывают несколько сотен различных сообщений, так что привести их исчерпывающее описание в рамках этой книги просто невоз­можно. Однако со многими из сообщений вы встретитесь при изу­чении материала следующих глав. Здесь же мы заметим, что все сообщения Windows можно разбить на три больших класса:

  • командные сообщения, поступающие от элементов визу­ального интерфейса (который включает меню, кнопки панели инструментов и акселераторы);

  • извещения (notification messages), поступающие от дочер­них окон (элементов визуального интерфейса таких, как кнопки, списки, раскрывающиеся списки, элементы редак­тирования и пр.) родительскому окну или окну-владельцу;

  • все остальные сообщения Windows.

  1. Порядок работы

  1. Создать приложение по примеру, описанному выше. При этом при создании нового проекта отметку Empty project не ставить.

  2. Изучить структуру созданного проекта (файлы, функции, ресурсы). Найти отличия от рассмотренного выше примера структуры.

  3. Изменить цвет, заголовок и размеры окна в этом приложении.

  4. Создать такое приложение с помощью Мастера приложений с готовым шаблоном (при создании НЕ отмечать поле Empty Project), изучить его структуру. Создать и добавить свои 2 иконки (большую и малую) и курсор. Изменить заголовок окна.

  5. Изменить информацию об авторах программы (в дополнительном диалоговом окне)

  6. По результатам выполнения работы оформить отчет.

  1. Список литературы

  1. Глушаков С.В., Коваль А.В., Черепнин С.А. Программирование на Visual C++ – М.: ООО «Издательство АСТ»; Харьков: «Фолио», 2003. – 726 с.

  2. Пирогов В.Ю. Программирование на Visual C++.NET. – СПб.: БХВ-Петербург, 2003. – 800 с.

  3. Фролов А.В., Фролов Г.В. Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Том 24. / Библиотека системного программиста, 1996. - 129 с.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]