Класс CMessageMap
Этот класс позволяет сопоставления сообщения объекта, чтобы иметь доступ другим объектом.
![]() |
---|
Этот класс и его члены нельзя использовать в приложениях, выполняемых в этой среде выполнения Windows. |
class ATL_NO_VTABLE CMessageMap
Члены
Открытые методы
Имя |
Описание |
---|---|
Обращается к сопоставлению в CMessageMap- производный класс сообщений. |
Заметки
CMessageMap абстрактный базовый класс, который позволяет сопоставления сообщения объекта для доступа к другой объект.Для этого объекта, чтобы сделать его сопоставления сообщения, этот класс должен наследоваться от CMessageMap.
Использование CMessageMap поддержки, содержащихся в окне, и динамическое связывание библиотеки ATL сопоставить сообщение.Например, любой классифицируют содержать объект CContainedWindow, должны наследоваться от CMessageMap.Следующий фрагмент кода взят из образца SUBEDIT.С помощью CComControl, класс CAtlEdit автоматически наследуется от CMessageMap.
class ATL_NO_VTABLE CAtlEdit :
OtherInheritedClasses
public CComControl<CAtlEdit>
// CComControl derives from CWindowImpl, which derives from CMessageMap
{
public:
// Declare a contained window data member
CContainedWindow m_ctlEdit;
// Initialize the contained window:
// 1. Pass "Edit" to specify that the contained
// window should be based on the standard
// Windows Edit box
// 2. Pass 'this' pointer to specify that CAtlEdit
// contains the message map to be used for the
// contained window's message processing
// 3. Pass the identifier of the message map. '1'
// identifies the alternate message map declared
// with ALT_MSG_MAP(1)
CAtlEdit()
: m_ctlEdit(_T("Edit"), this, 1)
{
m_bWindowOnly = TRUE;
}
// Declare the default message map, identified by '0'
BEGIN_MSG_MAP(CAtlEdit)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
CHAIN_MSG_MAP(CComControl<CAtlEdit>)
// Declare an alternate message map, identified by '1'
ALT_MSG_MAP(1)
MESSAGE_HANDLER(WM_CHAR, OnChar)
END_MSG_MAP()
Поскольку содержащийся окно, m_EditCtrl, будет использоваться сопоставление сообщений во внешнем классе CAtlEdit является производным от CMessageMap.
Дополнительные сведения о сопоставлениях сообщений см. в разделе сопоставления сообщения в статье "классах окна библиотеки ATL."
Требования
Header: atlwin.h