Шаг 285 - Карта сообщений

MFC обрабатывает сообщения с помощью карты сообщений. Карта сообщений есть у любого класса, который может обрабатывать сообщения. А обрабатывать сообщения могут только классы порожденные от CCmdTarget. Карта сообщений состоит из двух частей. Первая определяется в заголовке класса.

class CTestListDlg : public CDialog
{
	......
	DECLARE_MESSAGE_MAP()
};

И описывается в файле реализации:

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
	// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

Начинается карта сообщений с макроса BEGIN_MESSAGE_MAP, у которого указывается два параметра: имя класса и имя класса родителя. Заканчивается карта сообщений макросом END_MESSAGE_MAP().

В основных случаях карту сообщений формирует Class Wizard на вкладке Message Map.

285.gif (6589 b)

Внутри карты сообщений используются следующие макросы, но это далеко не полный список.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.