CMessageMap Class
Этот класс позволяет сопоставления сообщения объекта, чтобы иметь доступ другим объектом.
Важно!
Этот класс и его члены нельзя использовать в приложениях, выполняемых в этой среде выполнения 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