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 |
---|---|
Mapuje funkci zpracování zprávy systému Windows. |
|
Mapuje funkci zpracování zprávy souvislý rozsah systému Windows. |
|
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. |
|
Mapy WM_COMMAND zpráva funkci zpracování založené na identifikátor položky nabídky, řízení nebo akcelerátoru. |
|
Mapy WM_COMMAND zpráva funkci zpracování na základě kódu oznámení. |
|
Mapuje souvislá oblast WM_COMMAND funkci zpracování zprávy založené na identifikátor položky nabídky, řízení nebo akcelerátoru. |
|
Mapy WM_NOTIFY zpráva funkci zpracování na základě kód oznámení a identifikátor ovládacího prvku. |
|
Mapy WM_NOTIFY funkci zpracování identifikátor ovládacího prvku na základě zprávy. |
|
Mapy WM_NOTIFY zpráva funkci zpracování na základě kódu oznámení. |
|
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 |
---|---|
Řetězy mapy výchozí zprávu v základní třídě. |
|
Řetězy mapy výchozí zprávu v datový člen třídy. |
|
Mapování řetězců na alternativní zprávu v základní třídě. |
|
Řetězy alternativní zprávu mapování dat člena třídy. |
|
Ř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 |
---|---|
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. |
|
Mapuje zrcadlený WM_COMMAND zpráva funkci zpracování založené na identifikátor položky nabídky, řízení nebo akcelerátoru. |
|
Mapuje zrcadlený WM_COMMAND zpráva funkci zpracování na základě kódu oznámení. |
|
Mapuje zrcadlený WM_COMMAND funkci zpracování souvislý rozsah identifikátorů řízení na základě zprávy. |
|
Mapuje zrcadlený WM_COMMAND funkci zpracování na základě kód oznámení a souvislá oblast řízení identifikátorů zprávy. |
|
Mapuje zrcadlený WM_NOTIFY zpráva funkci zpracování na základě kód oznámení a identifikátor ovládacího prvku. |
|
Mapuje zrcadlený WM_NOTIFY funkci zpracování identifikátor ovládacího prvku na základě zprávy. |
|
Mapuje zrcadlený WM_NOTIFY zpráva funkci zpracování na základě kódu oznámení. |
|
Mapuje zrcadlený WM_NOTIFY funkci zpracování souvislý rozsah identifikátorů řízení na základě zprávy. |
|
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