Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Etkin Şablon Kitaplığı (ATL) desteklenmeye devam eder. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.
Bu sınıf, bir nesnenin ileti eşlemelerinin başka bir nesne tarafından erişmesine izin verir.
Önemli
Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.
Sözdizimi
class ATL_NO_VTABLE CMessageMap
Üyeler
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| CMessageMap::P rocessWindowMessage | -derived sınıfında bir ileti eşlemesine CMessageMaperişir. |
Açıklamalar
CMessageMap , nesnenin ileti eşlemelerine başka bir nesne tarafından erişilmesine olanak tanıyan soyut bir temel sınıftır. Bir nesnenin ileti eşlemelerini kullanıma sunması için sınıfının öğesinden CMessageMaptüretilmesi gerekir.
ATL, kapsanan pencereleri ve dinamik ileti eşleme zincirini desteklemek için kullanır CMessageMap . Örneğin, CContainedWindow nesnesi içeren tüm sınıflardan CMessageMaptüretilmelidir. Aşağıdaki kod SUBEDIT örneğinden alınmıştır. CComControl aracılığıyla CAtlEdit sınıfı otomatik olarak öğesinden CMessageMaptüretilir.
class ATL_NO_VTABLE CAtlEdit :
OtherInheritedClasses
public CComControl<CAtlEdit>
// CComControl derives from CWindowImpl, which derives from CMessageMap
{
public:
// Declare a contained window data member
CContainedWindow m_ctlEdit;
// Initialize the contained window:
// 1. Pass "Edit" to specify that the contained
// window should be based on the standard
// Windows Edit box
// 2. Pass 'this' pointer to specify that CAtlEdit
// contains the message map to be used for the
// contained window's message processing
// 3. Pass the identifier of the message map. '1'
// identifies the alternate message map declared
// with ALT_MSG_MAP(1)
CAtlEdit()
: m_ctlEdit(_T("Edit"), this, 1)
{
m_bWindowOnly = TRUE;
}
// Declare the default message map, identified by '0'
BEGIN_MSG_MAP(CAtlEdit)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
CHAIN_MSG_MAP(CComControl<CAtlEdit>)
// Declare an alternate message map, identified by '1'
ALT_MSG_MAP(1)
MESSAGE_HANDLER(WM_CHAR, OnChar)
END_MSG_MAP()
İçerilen pencere olduğundan, m_EditCtrlöğesinden CAtlEdittüretilen, içeren sınıfında CMessageMap bir ileti eşlemesi kullanır.
İleti eşlemeleri hakkında daha fazla bilgi için "ATL Pencere Sınıfları" makalesindeki İleti Eşlemeleri'ne bakın.
Gereksinimler
Üst bilgi: atlwin.h
CMessageMap::P rocessWindowMessage
Türetilmiş bir sınıfta dwMsgMapIDCMessageMaptanımlanan ileti eşlemesine erişir.
virtual BOOL ProcessWindowMessage(
HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT& lResult,
DWORD dwMsgMapID) = 0;
Parametreler
hWnd
[in] İletiyi alan pencerenin tutamacı.
uMsg
[in] Pencereye gönderilen ileti.
wParam
[in] İletiye özgü ek bilgiler.
lParam
[in] İletiye özgü ek bilgiler.
lResult
[out] İleti işlemenin sonucu.
dwMsgMapID
[in] İletiyi işleyecek ileti eşlemesinin tanımlayıcısı. BEGIN_MSG_MAP ile bildirilen varsayılan ileti eşlemesi 0 ile tanımlanır. ALT_MSG_MAP(msgMapID) ile bildirilen alternatif bir ileti eşlemesi tarafından msgMapIDtanımlanır.
Dönüş Değeri
İleti tam olarak işleniyorsa TRUE; aksi takdirde YANLIŞ.
Açıklamalar
CContainedWindow nesnesinin veya ileti eşlemesine dinamik olarak zincirleyen bir nesnenin pencere yordamı tarafından çağrılır.
Ayrıca bkz.
CDynamicChain Sınıfı
BEGIN_MSG_MAP
ALT_MSG_MAP(msgMapID)
Sınıfa Genel Bakış