Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Met deze klasse kunnen de berichttoewijzingen van een object worden geopend door een ander object.
Belangrijk
Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
Syntaxis
class ATL_NO_VTABLE CMessageMap
Leden
Openbare methoden
| Naam | Description |
|---|---|
| CMessageMap::P rocessWindowMessage | Hiermee opent u een berichtkaart in de CMessageMap-afgeleide klasse. |
Opmerkingen
CMessageMap is een abstracte basisklasse waarmee de berichttoewijzingen van een object kunnen worden geopend door een ander object. Als u wilt dat een object de berichttoewijzingen weergeeft, moet de klasse ervan zijn afgeleid van CMessageMap.
ATL gebruikt CMessageMap ter ondersteuning van ingesloten vensters en dynamische berichttoewijzingsketens. Een klasse met een CContainedWindow-object moet bijvoorbeeld worden afgeleid van CMessageMap. De volgende code is afkomstig uit het voorbeeld SUBEDIT . Via CComControl wordt de CAtlEdit klasse automatisch afgeleid van 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()
Omdat het ingesloten venster een m_EditCtrlberichtkaart in de bevatde klasse gebruikt, CAtlEdit afgeleid van CMessageMap.
Zie Berichtkaarten in het artikel 'ATL-vensterklassen' voor meer informatie over berichttoewijzingen.
Requirements
Koptekst: atlwin.h
CMessageMap::P rocessWindowMessage
Hiermee opent u de berichttoewijzing die is geïdentificeerd door dwMsgMapID in een CMessageMap-afgeleide klasse.
virtual BOOL ProcessWindowMessage(
HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT& lResult,
DWORD dwMsgMapID) = 0;
Parameterwaarden
hWnd
[in] De greep naar het venster dat het bericht ontvangt.
uMsg
[in] Het bericht dat naar het venster is verzonden.
wParam
[in] Aanvullende berichtspecifieke informatie.
lParam
[in] Aanvullende berichtspecifieke informatie.
lResult
[uit] Het resultaat van de berichtverwerking.
dwMsgMapID
[in] De id van de berichttoewijzing waarmee het bericht wordt verwerkt. De standaardberichttoewijzing, gedeclareerd met BEGIN_MSG_MAP, wordt geïdentificeerd door 0. Een alternatieve berichtkaart, gedeclareerd met ALT_MSG_MAP(msgMapID), wordt geïdentificeerd door msgMapID.
Retourwaarde
WAAR als het bericht volledig wordt verwerkt; anders, ONWAAR.
Opmerkingen
Aangeroepen door de vensterprocedure van een CContainedWindow-object of van een object dat dynamisch is gekoppeld aan de berichttoewijzing.
Zie ook
CDynamicChain-klasse
BEGIN_MSG_MAP
ALT_MSG_MAP(msgMapID)
Overzicht van klassen