sınıf CMessageMap
CMessageMap , başka bir nesne tarafından erişilecek nesnenin mesajı veren bir soyut temel sınıf eşler olduğunu. Amacıyla kendi ileti haritalar sergilemek için bir nesne, kendi sınıfında CMessageMap türetilmelidir.
Atl desteği bulunan windows ve dinamik iletisi göster zincirleme için CMessageMap kullanır. Örneğin, bir CContainedWindow nesnesi içeren herhangi bir sınıf CMessageMaptüretilmelidir. Aşağıdaki kodu alınır SUBEDIT örnek. Üzerinden CComControl, CAtlEdit sınıfı otomatik olarak CMessageMap türer.
cAtlEdit sınıfı: Genel CComControllt;CAtlEdit >,...
/ / CComControl CWindowImpl türeyen
/ / CMessageMap türetir
{
public:
/ / Kapsanan penceresinde veri üyesi ilan
CContainedWindow m_EditCtrl;
/ / Kapsanan penceresi başlatın:
// 1. Belirtmek için "Düzenle" geçmek içerdiği / / pencere standardına dayalı / / Windows düzenleme kutusu
// 2. Belirtmek için 'Bu' işaretçi geçmek, CAtlEdit / / için kullanılacak iletiyi göster içerir / / kapsanan penceresinin ileti işleme
// 3. İletiyi göster tanıtıcısı geçmektedir. İçinde
/ / Bu durumda, ileti göster '1' tanımlar.
/ / alt_msg_map(1) ile ilan
CAtlEdit(): m_EditCtrl(_T("EDIT"), bu, 1)
{
m_bWindowOnly = true;
}
/ / İlan varsayılan ileti göster
BEGIN_MSG_MAP(CAtlEdit)
message_handler (WM_PAINT, OnPaint)
...
/ / Bir başka mesajı göster ilan
/ / '1' tanımlanan
ALT_MSG_MAP(1)
message_handler (wm_char, OnChar)
END_MSG_MAP()
...
};
Çünkü içerdiği penceresinde, m_EditCtrl , bir ileti harita-ecek kullanma içeren sınıf, CAtlEdit CMessageMap türetilmiştir.
İleti Haritalar hakkında daha fazla bilgi için bkz: makalede "atl pencere sınıflarını." İletisi haritalar
# include lt;atlwin.h>
Ayrıca bkz:nbsp;CDynamicChain, BEGI&N_MSG_MAP, alt_msg_map