CHAIN_MSG_MAP_MEMBER
Определяет запись в сопоставлении сообщений.
CHAIN_MSG_MAP_MEMBER( theChainMember )
Параметры
- theChainMember
[in] Имя элемента данных, содержащей сопоставление сообщения.
Заметки
CHAIN_MSG_MAP_MEMBER направляет сообщения для сопоставления сообщений элемента данных по умолчанию (объявленный с BEGIN_MSG_MAP). Для направления сообщения к сообщению элемента данных другое сопоставление (объявленный с ALT_MSG_MAP), используйте CHAIN_MSG_MAP_ALT_MEMBER.
Примечание
Всегда начинайте сопоставления сообщения с BEGIN_MSG_MAP.Затем можно объявить последующие другие сопоставления сообщения с ALT_MSG_MAP.Макрос END_MSG_MAP отмечает конец сопоставления сообщения.Каждое сопоставление сообщения должно иметь ровно один экземпляр BEGIN_MSG_MAP и END_MSG_MAP.
Дополнительные сведения об использовании сопоставления сообщения в библиотеке ATL см. в разделе сопоставления сообщения.
Пример
class CMyContainerClass : public CWindowImpl<CMyContainerClass>
{
public:
CMyContainedClass m_obj;
BEGIN_MSG_MAP(CMyContainerClass)
MESSAGE_HANDLER(WM_PAINT, OnPaint)
// chain to default message map of m_obj
CHAIN_MSG_MAP_MEMBER(m_obj)
ALT_MSG_MAP(1)
// chain to default message map of m_obj
CHAIN_MSG_MAP_MEMBER(m_obj)
ALT_MSG_MAP(2)
MESSAGE_HANDLER(WM_CHAR, OnChar)
// chain to alternate message map of m_obj
CHAIN_MSG_MAP_ALT_MEMBER(m_obj, 1)
END_MSG_MAP()
LRESULT OnPaint(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/,
BOOL& /*bHandled*/)
{
return 0;
}
LRESULT OnChar(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/,
BOOL& /*bHandled*/)
{
return 0;
}
};
Этот пример иллюстрирует следующее:
Если процедура окна сообщения использует карту сообщений по умолчанию CMyClass и OnPaint не обрабатывает сообщения, то производится его маршрутизация к сопоставлению сообщения по умолчанию m_obj для обработки.
Если процедура окна используется первое другое сопоставление сообщения в CMyClass, все сообщения направляются к сопоставлению сообщения по умолчанию m_obj.
Если процедура окна использует второй другое сопоставление сообщения CMyClass и OnChar не обрабатывает сообщение, то производится его маршрутизация к определенному другой сопоставления сообщения m_obj. Класс CMyContainedClass должен объявлять это сопоставление сообщений с ALT_MSG_MAP(1).
Требования
Header: atlwin.h