BEGIN_MSG_MAP
Oznacza początek domyślną mapę wiadomości.
BEGIN_MSG_MAP( theClass )
Parametry
- theClass
[w] Nazwa klasy zawierającej mapę wiadomości.
Uwagi
CWindowImpl::WindowProc wykorzystuje domyślną mapę wiadomości do przetwarzania wiadomości wysyłanych do okna.Mapa wiadomości kieruje wiadomości funkcji obsługi odpowiedniego lub inną mapę wiadomości.
Następujące makra mapować funkcji obsługi wiadomości.Ta funkcja musi być zdefiniowana w theClass.
Makro |
Opis |
---|---|
Mapuje funkcji obsługi wiadomości systemu Windows. |
|
Mapuje funkcji obsługi wiadomości ciągły zakres systemu Windows. |
|
Mapy WM_COMMAND wiadomość do funkcji obsługi, na podstawie kodu powiadomienia i identyfikator elementu menu, kontroli lub akceleratora. |
|
Mapy WM_COMMAND wiadomość do funkcji obsługi, na podstawie identyfikatora element menu, kontroli lub akceleratora. |
|
Mapy WM_COMMAND wiadomość do funkcji obsługi, na podstawie kodu powiadomienia. |
|
Mapuje ciągły zakres WM_COMMAND funkcji obsługi wiadomości na podstawie identyfikatora element menu, kontroli lub akceleratora. |
|
Mapy WM_NOTIFY wiadomość do funkcji obsługi, na podstawie kodu powiadomienia i identyfikator formantu. |
|
Mapy WM_NOTIFY wiadomość do funkcji obsługi, na podstawie identyfikatora formantu. |
|
Mapy WM_NOTIFY wiadomość do funkcji obsługi, na podstawie kodu powiadomienia. |
|
Mapuje ciągły zakres WM_NOTIFY funkcji obsługi wiadomości oparte na identyfikator formantu. |
Następujące makra bezpośrednie wiadomości do innego mapy wiadomości.Ten proces jest nazywany "łańcuch".
Makro |
Opis |
---|---|
Łańcuchy wiadomość domyślną mapę w klasie podstawowej. |
|
Łańcuchy wiadomość domyślną mapę członka danych klasy. |
|
Łańcuchy alternatywny wiadomość mapę w klasie podstawowej. |
|
Łańcuchy alternatywny wiadomość mapę członka danych klasy. |
|
Łańcuchy wiadomość domyślną mapę do innej klasy w czasie wykonywania. |
Następujące makra bezpośrednie "odzwierciedlenie" wiadomości z okna nadrzędnego.Na przykład formant zwykle wysyła wiadomości powiadomień do jego okno nadrzędne dla przetwarzania, ale okno nadrzędne może odzwierciedlać wiadomości powrót do formantu.
Makro |
Opis |
---|---|
Mapuje odbitego WM_COMMAND wiadomość do funkcji obsługi, na podstawie kodu powiadomienia i identyfikator elementu menu, kontroli lub akceleratora. |
|
Mapuje odbitego WM_COMMAND wiadomość do funkcji obsługi, na podstawie identyfikatora element menu, kontroli lub akceleratora. |
|
Mapuje odbitego WM_COMMAND wiadomość do funkcji obsługi, na podstawie kodu powiadomienia. |
|
Mapuje odbitego WM_COMMAND wiadomość do funkcji obsługi, oparte na ciągły zakres kontroli identyfikatorów. |
|
Mapuje odbitego WM_COMMAND wiadomość do funkcji obsługi, na podstawie kodu powiadomienia i ciągły zakres kontroli identyfikatorów. |
|
Mapuje odbitego WM_NOTIFY wiadomość do funkcji obsługi, na podstawie kodu powiadomienia i identyfikator formantu. |
|
Mapuje odbitego WM_NOTIFY wiadomość do funkcji obsługi, na podstawie identyfikatora formantu. |
|
Mapuje odbitego WM_NOTIFY wiadomość do funkcji obsługi, na podstawie kodu powiadomienia. |
|
Mapuje odbitego WM_NOTIFY wiadomość do funkcji obsługi, oparte na ciągły zakres kontroli identyfikatorów. |
|
Mapuje odbitego WM_NOTIFY wiadomość do funkcji obsługi, na podstawie kodu powiadomienia i ciągły zakres kontroli identyfikatorów. |
Przykład
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;
}
};
Gdy CMyExtWindow obiekt odbiera WM_PAINT wiadomości, wiadomość jest kierowany do CMyExtWindow::OnPaint dla rzeczywistego przetwarzania.Jeśli OnPaint oznacza wiadomość wymaga dalszego przetwarzania, będzie komunikat, a następnie skierowany do domyślną mapę wiadomości w CMyBaseWindow.
Oprócz domyślną mapę wiadomości, można zdefiniować mapę alternatywny wiadomości z ALT_MSG_MAP.Zawsze rozpocząć mapa wiadomości z BEGIN_MSG_MAP.Następnie można zadeklarować mapy kolejnych wiadomości alternatywny.Poniższy przykład przedstawia domyślną mapę wiadomości i mapę jednej wiadomości alternatywny, każda zawierająca jedną funkcję obsługi:
BEGIN_MSG_MAP(CMyOneAltClass)
MESSAGE_HANDLER(WM_PAINT, OnPaint)
ALT_MSG_MAP(1)
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
END_MSG_MAP()
W kolejnym przykładzie dwie mapy alternatywny wiadomości.Mapa domyślna wiadomość jest pusta.
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 oznacza koniec mapę wiadomości.Należy zauważyć, że jest zawsze dokładnie jedno wystąpienie BEGIN_MSG_MAP i END_MSG_MAP.
Aby uzyskać więcej informacji na temat mapom wiadomości w ATL zobacz Wiadomości mapuje.
Wymagania
Nagłówek: atlwin.h