Klasa CDynamicChain
Ta klasa zapewnia metody obsługi dynamicznego łańcuchowym mapy wiadomości.
Ważne |
---|
W aplikacjach, które są wykonywane w Windows Runtime nie można użyć tej klasy i jej członków. |
class CDynamicChain
Członkowie
Publiczne konstruktory
Nazwa |
Opis |
---|---|
Konstruktor. |
|
Destruktor. |
Metody publiczne
Nazwa |
Opis |
---|---|
Kieruje komunikatu systemu Windows do innego obiektu mapy wiadomości. |
|
Usuwa wpis mapy komunikatu z kolekcji. |
|
Dodaje wpis mapy wiadomość do zbierania lub modyfikuje istniejący wpis. |
Uwagi
CDynamicChainZarządza kolekcją mapy wiadomości, włączania komunikatu systemu Windows będą kierowane w czasie wykonywania do innego obiektu mapy wiadomości.
Aby dodać obsługę dynamicznego łańcuchowym mapy wiadomości, wykonaj następujące czynności:
Pochodzić od klasy CDynamicChain.Na mapie wiadomości określ CHAIN_MSG_MAP_DYNAMIC makro do łańcucha do innego obiektu domyślny komunikat mapy.
Klasę, co chcesz łańcucha z CMessageMap.CMessageMapUmożliwia obiektu narazić mapy jego wiadomości do innych obiektów.
Wywołanie CDynamicChain::SetChainEntry do określenia, na które obiekt i których wiadomości mapę użytkownik chce łańcucha.
Na przykład załóżmy, że klasa jest określone następująco:
class CMyChainWnd : public CWindowImpl<CMyChainWnd>,
public CDynamicChain
{
public:
CMyChainWnd() {}
BEGIN_MSG_MAP(CMyChainWnd)
MESSAGE_HANDLER(WM_PAINT, OnPaint)
MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
// dynamically chain to the default
// message map in another object
CHAIN_MSG_MAP_DYNAMIC(1313)
// '1313' identifies the object
// and the message map that will be
// chained to. '1313' is defined
// through the SetChainEntry method
END_MSG_MAP()
LRESULT OnPaint(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/,
BOOL& /*bHandled*/)
{
// Do some painting code
return 0;
}
LRESULT OnSetFocus(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/,
BOOL& /*bHandled*/)
{
return 0;
}
};
Wywołuje klienta CMyWindow::SetChainEntry:
myCtl.SetChainEntry(1313, &chainedObj);
gdy chainedObj jest obiektem łańcuchowej i jest instancją klasy pochodzącej od CMessageMap.Teraz Jeśli myCtl odbiera komunikat, który nie jest obsługiwany przez OnPaint lub OnSetFocus, procedury okna kieruje wiadomość do chainedObj's domyślną mapę wiadomości.
Aby uzyskać więcej informacji na temat łańcuchowym mapę wiadomości, zobacz Mapy wiadomości w artykule "ATL okna klasy".
Wymagania
Nagłówek: atlwin.h