BEGIN_MSG_MAP ( ardından )
Parametreleri
ardından
[de] İleti eşlemeyi içeren sınıfın adı.
Açıklamalar
Varsayılan ileti göster başlangıcı işaretler. CWindowImpl::WindowProc varsayılan ileti göster pencere gönderilen işlem iletileri kullanır. İletiyi göster yönlendirir iletileri uygun işleyici işlevi veya başka bir ileti göster.
Aşağıdaki makroları, bir işleyici işlevi için ileti göster. Bu işlev, ardından içinde tanımlanmalıdır.
| Makro | Açıklama |
| MESSAGE_HANDLER | Windows ileti işleyicisi işlevi için haritalar. |
| MESSAGE_RANGE_HANDLER | Haritalar bitişik Windows ileti işleyicisi işlevi. |
| COMMAND_HANDLER | wm_command Mesaj bildirim kodu ve menü öğesi, denetim veya Hızlandırıcı tanıtıcısı dayalı bir işleyici işlevi eşleştirir. |
| COMMAND_ID_HANDLER | Menü öğesi, denetim veya Hızlandırıcı tanıtıcısı geçerli bir işleyici işlevi wm_command ileti eşleştirir. |
| COMMAND_CODE_HANDLER | wm_command Mesaj bildirim kodu temel alınarak bir eylemci işlev eşleştirir. |
| COMMAND_RANGE_HANDLER | Menü öğesi, denetim veya Hızlandırıcı tanıtıcısı geçerli bir işleyici işlevi wm_command iletileri bitişik aralığını eşleştirir. |
| NOTIFY_HANDLER | WM_NOTIFY Mesaj bildirim kodu ve denetimin tanımlayıcısını temel alan bir işleyici işlevi eşleştirir. |
| NOTIFY_ID_HANDLER | WM_NOTIFY ileti üzerinde denetim tanımlayıcısı geçerli bir işleyici işlevi eşleştirir. |
| NOTIFY_CODE_HANDLER | WM_NOTIFY Mesaj bildirim kodu temel alınarak bir eylemci işlev eşleştirir. |
| NOTIFY_RANGE_HANDLER | WM_NOTIFY iletileri bitişik bir dizi üzerinde denetim tanımlayıcısı geçerli bir işleyici işlevi eşleştirir. |
Aşağıdaki makroları başka bir ileti göster ileti doğrudan. Bu işleme "zincirleme." denir
| Makro | Açıklama |
| CHAIN_MSG_MAP | Base sınıfında varsayılan ileti zincirleri göster. |
| CHAIN_MSG_MAP_MEMBER | Sınıf veri üyesi varsayılan ileti zincirleri göster. |
| CHAIN_MSG_MAP_ALT | Base sınıfında farklı bir ileti zincirleri göster. |
| CHAIN_MSG_MAP_ALT_MEMBER | Sınıf veri üyesi başka bir ileti zincirleri göster. |
| CHAIN_MSG_MAP_DYNAMIC | Çalıştırma sırasında başka bir sınıfta varsayılan ileti zincirleri göster. |
Örnek
cMyWindow sınıfı:...
{
public:
nbsp; ...
BEGIN_MSG_MAP(CMyWindow)
message_handler (WM_PAINT, OnPaint)
message_handler (wm_setfocus, OnSetFocus)
CHAIN_MSG_MAP(CMyBaseWindow)
END_MSG_MAP()
lresult OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{ ... }
lresult OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{ ... }
}
Ne zaman bir CMyWindow nesnesi alır bir WM_PAINT ileti, ileti için yönetmen CMyWindow::OnPaint fiili işlem için. Eğer OnPaint daha fazla işleme, ileti olacaktır gerekli mesajı gösterir sonra varsayılan ileti harita yönlendirilmişCMyBaseWindow.
Varsayılan ileti göster ek olarak, bir diğer mesajı göster alt_msg_mapile tanımlayabilirsiniz. Her zaman bir ileti göster BEGIN_MSG_MAPile başlar. Sonra izleyen diğer ileti haritalar da bildirebilirsiniz. Aşağıdaki örnek, varsayılan ileti göster ve her bir işleyici işlevi içeren bir diğer mesajı göster gösterir.:
BEGI&N_MSG_MAP(CMyClass)
nbsp; message_handler (WM_PAINT, OnPaint)
ALT_MSG_MAP(1)
message_handler (wm_setfocus, OnSetFocus)
END_MSG_MAP()
Sonraki örnek, iki farklı ileti eşlemeleri gösterir. Varsayılan ileti göster boş.
BEGI&N_MSG_MAP(CMyClass)
ALT_MSG_MAP(1)
nbsp; 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 makrosu, ileti Haritası sonunu. Her zaman tam bir örnek BEGIN_MSG_MAP ve end_msg_map dikkat.
Atl içinde ileti eşlemeleri kullanma hakkında daha fazla bilgi için bkz: makalede "atl pencere sınıflarını." İletisi haritalar
Atl makrolar ve Global Functions
Ayrıca bkz: