Sdílet prostřednictvím


BEGIN_MSG_MAP

Označuje začátek zprávy výchozí mapování.

BEGIN_MSG_MAP( theClass )

Parametry

  • theClass
    [v] Název třídy obsahující mapy zprávy.

Poznámky

CWindowImpl::WindowProc používá výchozí mapování zprávu zpracovat zprávy odeslané do okna.Mapa zpráv směruje zprávy funkci vhodné zpracování nebo jiné zprávy mapování.

Následující makra mapovat funkci zpracování zprávy.Tato funkce musí být definována v theClass .

Makro

Description

MESSAGE_HANDLER

Mapuje funkci zpracování zprávy systému Windows.

MESSAGE_RANGE_HANDLER

Mapuje funkci zpracování zprávy souvislý rozsah systému Windows.

COMMAND_HANDLER

Mapy WM_COMMAND zpráva funkci zpracování na základě kód oznámení a identifikátor položky nabídky, řízení nebo akcelerátoru.

COMMAND_ID_HANDLER

Mapy WM_COMMAND zpráva funkci zpracování založené na identifikátor položky nabídky, řízení nebo akcelerátoru.

COMMAND_CODE_HANDLER

Mapy WM_COMMAND zpráva funkci zpracování na základě kódu oznámení.

COMMAND_RANGE_HANDLER

Mapuje souvislá oblast WM_COMMAND funkci zpracování zprávy založené na identifikátor položky nabídky, řízení nebo akcelerátoru.

NOTIFY_HANDLER

Mapy WM_NOTIFY zpráva funkci zpracování na základě kód oznámení a identifikátor ovládacího prvku.

NOTIFY_ID_HANDLER

Mapy WM_NOTIFY funkci zpracování identifikátor ovládacího prvku na základě zprávy.

NOTIFY_CODE_HANDLER

Mapy WM_NOTIFY zpráva funkci zpracování na základě kódu oznámení.

NOTIFY_RANGE_HANDLER

Mapuje souvislá oblast WM_NOTIFY funkci zpracování zprávy založené na identifikátor ovládacího prvku.

Následující makra přímé zprávy do jiné zprávy mapy.Tento proces se nazývá "řetězení."

Makro

Description

CHAIN_MSG_MAP

Řetězy mapy výchozí zprávu v základní třídě.

CHAIN_MSG_MAP_MEMBER

Řetězy mapy výchozí zprávu v datový člen třídy.

CHAIN_MSG_MAP_ALT

Mapování řetězců na alternativní zprávu v základní třídě.

CHAIN_MSG_MAP_ALT_MEMBER

Řetězy alternativní zprávu mapování dat člena třídy.

CHAIN_MSG_MAP_DYNAMIC

Řetězy mapy výchozí zprávu do jiné třídy v době spuštění.

Následující makra přímo "odráží" zprávy z nadřazené okno.Například ovládací prvek obvykle odesílá oznamovací zprávy její nadřazené okno pro zpracování, ale nadřazené okno může odrážet zpráva ovládacího prvku.

Makro

Description

REFLECTED_COMMAND_HANDLER

Mapuje zrcadlený WM_COMMAND zpráva funkci zpracování na základě kód oznámení a identifikátor položky nabídky, řízení nebo akcelerátoru.

REFLECTED_COMMAND_ID_HANDLER

Mapuje zrcadlený WM_COMMAND zpráva funkci zpracování založené na identifikátor položky nabídky, řízení nebo akcelerátoru.

REFLECTED_COMMAND_CODE_HANDLER

Mapuje zrcadlený WM_COMMAND zpráva funkci zpracování na základě kódu oznámení.

REFLECTED_COMMAND_RANGE_HANDLER

Mapuje zrcadlený WM_COMMAND funkci zpracování souvislý rozsah identifikátorů řízení na základě zprávy.

REFLECTED_COMMAND_RANGE_CODE_HANDLER

Mapuje zrcadlený WM_COMMAND funkci zpracování na základě kód oznámení a souvislá oblast řízení identifikátorů zprávy.

REFLECTED_NOTIFY_HANDLER

Mapuje zrcadlený WM_NOTIFY zpráva funkci zpracování na základě kód oznámení a identifikátor ovládacího prvku.

REFLECTED_NOTIFY_ID_HANDLER

Mapuje zrcadlený WM_NOTIFY funkci zpracování identifikátor ovládacího prvku na základě zprávy.

REFLECTED_NOTIFY_CODE_HANDLER

Mapuje zrcadlený WM_NOTIFY zpráva funkci zpracování na základě kódu oznámení.

REFLECTED_NOTIFY_RANGE_HANDLER

Mapuje zrcadlený WM_NOTIFY funkci zpracování souvislý rozsah identifikátorů řízení na základě zprávy.

REFLECTED_NOTIFY_RANGE_CODE_HANDLER

Mapuje zrcadlený WM_NOTIFY funkci zpracování na základě kód oznámení a souvislá oblast řízení identifikátorů zprávy.

Příklad

class CMyExtWindow : public CMyBaseWindow
{
public:
   BEGIN_MSG_MAP(CMyExtWindow)
      MESSAGE_HANDLER(WM_PAINT, OnPaint)
      MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
      CHAIN_MSG_MAP(CMyBaseWindow)
   END_MSG_MAP()

   LRESULT OnPaint(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, 
      BOOL& /*bHandled*/)
   {
      return 0;   
   }

   LRESULT OnSetFocus(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, 
      BOOL& /*bHandled*/) 
   {
      return 0;   
   }
};

Při CMyExtWindow přijímá objekt WM_PAINT zprávy, zpráva je přesměrován do CMyExtWindow::OnPaint pro vlastní zpracování.Pokud OnPaint označuje zprávy vyžaduje další zpracování budou zprávy a potom na mapě výchozí zprávu v CMyBaseWindow .

Kromě výchozí mapování zprávu, můžete definovat mapování alternativního zprávu s ALT_MSG_MAP.Vždy začít zpráva mapa s BEGIN_MSG_MAP .Potom můžete deklarovat mapy následující alternativní zprávu.Následující příklad ukazuje výchozí zpráva mapy a mapy alternativní jednu zprávu, každá obsahuje jednu funkci zpracování:

BEGIN_MSG_MAP(CMyOneAltClass)
   MESSAGE_HANDLER(WM_PAINT, OnPaint)
ALT_MSG_MAP(1)
   MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
END_MSG_MAP()

Další příklad ukazuje dva alternativní zprávu mapy.Mapa výchozí zpráva je prázdná.

BEGIN_MSG_MAP(CMyClass)
ALT_MSG_MAP(1)
   MESSAGE_HANDLER(WM_PAINT, OnPaint)
   MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
ALT_MSG_MAP(2)
   MESSAGE_HANDLER(WM_CREATE, OnCreate)
END_MSG_MAP()

END_MSG_MAP makro označuje konec zprávy mapy.Všimněte si, že je vždy přesně jedna instance BEGIN_MSG_MAP a END_MSG_MAP .

Další informace o použití mapy zprávy v ATL naleznete Zpráva mapuje.

Požadavky

Záhlaví: atlwin.h

Viz také

Referenční dokumentace

Třída CMessageMap

Třída CDynamicChain

Další zdroje

Zpráva mapa makra (ATL)

Makra ATL