BEGIN_MSG_MAP
Varsayılan ileti eşleme başlangıcını işaret eder.
BEGIN_MSG_MAP( theClass )
Parametreler
- theClass
[in] İleti eşleme içeren sınıf adı.
Notlar
CWindowImpl::WindowProc varsayılan ileti haritası penceresi gönderilen iletileri işlemek için kullanır.İleti eşleme iletileri uygun işleyici işlevi veya başka bir ileti eşleme için yönlendirir.
Aşağıdaki makro bir ileti için bir işleyici işlevi eşleyin.Bu işlev tanımlanmalıdır theClass.
Makro |
Description |
---|---|
Windows ileti işleyicisi işlevi için eşleştirir. |
|
Bitişik olan Windows iletilerini bir işleyici işlevi eşleştirir. |
|
Haritalar bir wm_command bildirim kodu ve menü öğesi, Denetim veya Hızlandırıcı tanımlayıcısını temel alarak bir işleyici işlevi ileti. |
|
Haritalar bir wm_command menü öğesi, Denetim veya Hızlandırıcı tanımlayıcısını temel alarak bir işleyici işlevi ileti. |
|
Haritalar bir wm_command bildirim kodu göre bir işleyici işlevi ileti. |
|
Bitişik bir dizi eşler wm_command iletiler için bir işleyici işlevi temel menü öğesi, Denetim veya Hızlandırıcı tanıtıcısı. |
|
Haritalar bir WM_NOTIFY bildirim kodu ve denetimin tanımlayıcısını temel alarak bir işleyici işlevi ileti. |
|
Haritalar bir WM_NOTIFY denetim tanımlayıcısını temel alarak bir işleyici işlevi ileti. |
|
Haritalar bir WM_NOTIFY bildirim kodu göre bir işleyici işlevi ileti. |
|
Bitişik bir dizi eşler WM_NOTIFY iletiler için bir işleyici işlevi denetimin tanımlayıcısını temel alarak. |
Aşağıdaki makroları başka bir ileti eşleme iletileri doğrudan.Bu işlem "zincirleme" denir.
Makro |
Description |
---|---|
Varsayılan ileti zincirlerini base sınıfında eşleyin. |
|
Varsayılan ileti zincirlerini veri sınıfının üyesi eşleyin. |
|
Diğer ileti zincirlerini base sınıfında eşleyin. |
|
Diğer ileti zincirlerini veri sınıfının üyesi eşleyin. |
|
Varsayılan ileti zincirlerini başka bir sınıfta çalışma zamanında eşleyin. |
Aşağıdaki makroları ana penceresinden "değişiklikler" iletileri doğrudan.Örneğin, bir denetimi normalde bildirim iletileri için kendi üst pencere işleme gönderir ancak üst pencere ileti denetimi yansıtabilir.
Makro |
Description |
---|---|
Bir yansıyan eşler wm_command bildirim kodu ve menü öğesi, Denetim veya Hızlandırıcı tanımlayıcısını temel alarak bir işleyici işlevi ileti. |
|
Bir yansıyan eşler wm_command menü öğesi, Denetim veya Hızlandırıcı tanımlayıcısını temel alarak bir işleyici işlevi ileti. |
|
Bir yansıyan eşler wm_command bildirim kodu göre bir işleyici işlevi ileti. |
|
Bir yansıyan eşler wm_command bir denetim tanımlayıcıları bitişik aralığını esas alarak bir işleyici işlevi ileti. |
|
Bir yansıyan eşler wm_command bildirim kodu ve Denetim tanımlayıcıları bitişik aralığını temel alan bir işleyici işlevi ileti. |
|
Bir yansıyan eşler WM_NOTIFY bildirim kodu ve denetimin tanımlayıcısını temel alarak bir işleyici işlevi ileti. |
|
Bir yansıyan eşler WM_NOTIFY denetim tanımlayıcısını temel alarak bir işleyici işlevi ileti. |
|
Bir yansıyan eşler WM_NOTIFY bildirim kodu göre bir işleyici işlevi ileti. |
|
Bir yansıyan eşler WM_NOTIFY bir denetim tanımlayıcıları bitişik aralığını esas alarak bir işleyici işlevi ileti. |
|
Bir yansıyan eşler WM_NOTIFY bildirim kodu ve Denetim tanımlayıcıları bitişik aralığını temel alan bir işleyici işlevi ileti. |
Örnek
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;
}
};
Zaman bir CMyExtWindow nesnesi alır bir WM_PAINT ileti, ileti yönlendirilir CMyExtWindow::OnPaint fiili işlem için.OnPaint İleti gerektirir ilave işlem iletisi gösterir sonra varsayılan ileti eşleme yöneltilen CMyBaseWindow.
Varsayılan ileti eşleme yanı sıra, diğer ileti map ile tanımlayabilirsiniz alt_msg_map.Her zaman bir ileti eşleme ile başlayan BEGIN_MSG_MAP.Daha sonra izleyen diğer ileti eşlemeleri bildirebilirsiniz.Aşağıdaki örnek, varsayılan ileti harita ve her bir işleyici işlevi içeren bir diğer ileti eşleme gösterir:
BEGIN_MSG_MAP(CMyOneAltClass)
MESSAGE_HANDLER(WM_PAINT, OnPaint)
ALT_MSG_MAP(1)
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
END_MSG_MAP()
Sonraki örnek, iki farklı ileti eşleme gösterir.Varsayılan ileti eşleme boştur.
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 ileti eşleme sonuna işaretler.Not olduğunu her zaman tek bir örneği BEGIN_MSG_MAP ve END_MSG_MAP.
atl ileti eşlemeleri kullanma hakkında daha fazla bilgi için bkz: İleti eşler.
Gereksinimler
Başlık: atlwin.h