İleti Maps

Bir iletiyi göster bir işleyici işlevi belirli ileti, komut veya bildirim ile ilişkilendirir. ATL'ın makroları göster iletikullanarak bir ileti göster penceresine belirtebilirsiniz. CWindowImpl, CDialogImplve CContainedWindow pencere işlemleri doğrudan pencerenin iletileri, ileti göster.

Ek bir bağımsız değişken türü ileti işleyicisi işlevler kabul BOOLamp; . Bu değişken bir ileti işleme ve o ayarlanmış olup olmadığını gösterir TRUE varsayılan. Bir işleyici işlevi sonra bağımsız seçene?inde F&ALSE Bu ileti işlediğinden değil göstermek için. Bu durumda, atl iletisi göster bir işleyici işlevi daha aramaya devam eder. Bu bağımsız değişkeni ayarı FALSE , ilk kez bir iletiye yanıt olarak bazı eylemleri gerçekleştirmek ve daha sonra varsayılan işleme ya da başka bir işleyici işlevi ileti işleme bitirmek için izin.

Atl da zincir ileti haritalar, hangi ileti işleme başka bir sınıfta tanımlı ileti Haritası yönlendirir sağlar. Örneğin, tüm pencereleri, o sınıfın zincirleme üniforma davranışı sağlamak için yaygın ileti ayrı bir sınıfta işleme uygulayabilirsiniz. Bir temel sınıf veya veri üyesi sınıfınızın zincir.

Atl de dinamik zincir, başka bir nesnenin iletisi göster zinciri için zamanında veren destekler. Dinamik zincir uygulamak için sınıf CDynamicChaintüretilmelidir. Sonra ileti göster CHAIN_MSG_MAP_DYNAMIC makrosunda bildirmek. CHAIN_MSG_MAP_DYNAMIC nesnesi ve hangi sen zincirleme iletiyi göster tanımlayan benzersiz bir numara gerektirir. Bu CDynamicChain::SetChainEntry çağrısı ile benzersiz bir değer tanımlamanız gerekir.

CMessageMapsınıfa kaynaklanacak sağlanan bildiren bir ileti göster herhangi bir sınıfa zincir. CMessageMap onun mesajı haritalar diğer nesnelere duyurmak nesne izin verir. CWindowImpl zaten CMessageMap türeyen Not.

Son olarak, atl, diğer ileti haritalar, alt_msg_map makro ilan destekler. Her alternatif iletisi göster için alt_msg_mapgeçmek benzersiz bir numara tanımlanır. Diğer ileti kullanarak eşler, iletileri birden çok Windows bir harita işleyebilir. Not Varsayılan olarak, diğer ileti haritalar CWindowImpl kullanmaz. Bu desteği eklemek için CWindowImpl WindowProc yöntemi geçersiz kılma-türetilmiş sınıf ve ProcessWindowMessage ileti göster tanımlayıcısı ile arama.

Index