Метод OnSysCommand

Если при создании шаблонного приложения указать возможность отображения краткой справочной информации, то при этом средство AppWizard подготовит фрагмент кода, добавляющий соответствующую строку в системное меню, а также метод-обработчик OnSysCommand сообщений от системного меню.

Этот метод имеет два параметра - идентификатор строки системного меню, которую выбрал пользователь, и параметр, содержащий координаты мыши, если выбор сделан мышью.

Для обработки выбора стандартных пунктов меню переопределенный метод вызывается метод-обработчик базового класса (для обработки сообщений по умолчанию), а для добавленных пунктов выполняется специфическая обработка.

Метод OnPaint

Диалоговая панель в отличие от обычного окна не содержит встроенных средств отображения пиктограммы приложения. Приложение должно само заботиться об отображении пиктограммы - для этого переопределяется метод OnPaint. В этом методе либо вызывается метод OnPaint базового класса, либо приложение само отображает пиктограмму, если оно в данный момент минимизировано.

Метод OnQueryDragIcon

Пользователь может “перетащить” пиктограмму минимизированного приложения. Если пользователь производит это действие с пиктограммой окна, для класса которого не определена пиктограмма, то вызывается метод OnQueryDragIcon. Этот метод должен вернуть идентификатор курсора мыши, который будет отображаться в момент “перетаскивания” пиктограммы окна.

В переопределенном методе OnQueryDragIcon средство AppWizard просто возвращает идентификатор пиктограммы приложения.


Глава 6. Обзор классов окон библиотеки MFC

Очень много объектов, рассматриваемых в предыдущих главах, связаны с Windows-окнами. К ним прежде всего относятся облики и диалоги - объекты классов CView и CDialog и их производные. Элементы управления (окна редактирования, списки, кнопки и др.) - тоже связаны с окнами, изображающими их на экране. Существующий практически в каждом приложении объект главное окно-рамка тоже представлен на экране Windows-окном - главным окном приложения. Классы всех этих объектов являются производными от классаCWnd. Он-то и обеспечивает отображение окна на экране и работу с ним.