Udostępnij za pośrednictwem


Pochodne mapy wiadomości

Podczas wiadomości, obsługi, sprawdzanie wiadomości własnej klasy Mapa nie jest koniec wątku wiadomości mapę.Co się stanie, jeśli klasy CMyView (pochodzące z CView) ma wpisu dla wiadomości?

Należy pamiętać, że CView, klasa podstawowa CMyView, z kolei pochodzi od CWnd.Thus CMyViewis a CView and is a CWnd.Każda z tych klas ma własną mapę wiadomości.Rysunek, "A hierarchii widoków" poniżej pokazuje relacje hierarchiczne klas, jednak należy pamiętać, że CMyView obiekt jest pojedynczy obiekt, którego charakterystyka wszystkich trzech klas.

Hierarchii widoków

Hierarchia widoków VC

Jeśli wiadomości nie mogą być dopasowane w klasie CMyVieww wiadomości, mapę w ramach przeszukuje również mapa wiadomości jego natychmiastowego klasy podstawowej.BEGIN_MESSAGE_MAP Makra od początku mapę wiadomości określa dwie nazwy klasy jako argumenty:

BEGIN_MESSAGE_MAP(CMyView, CFormView)

Pierwszy argument nazwy klasy, do której należy mapę wiadomości.Drugi argument zapewnia połączenie z bezpośrednim klasy podstawowej — CView tutaj — ramy można wyszukiwać za jego mapę wiadomości.

Programy obsługi wiadomości w klasie podstawowej zatem są dziedziczone przez klasy pochodnej.To jest bardzo podobne do normalnej funkcji wirtualnych bez konieczności dokonania wszystkich funkcji Członkowskich wirtualnych.

Jeśli obsługa nie zostanie znaleziony w dowolnej map wiadomości klasa bazowa, domyślne przetwarzania wiadomości jest wykonywane.Jeśli wiadomość jest polecenie, ramach przekierowuje go do docelowego następnego polecenia.Jeśli jest standardowy komunikat systemu Windows, wiadomość jest przekazywana do domyślnego odpowiednie procedury okna.

Szybkość, dopasowania mapy wiadomości, ramach buforuje ostatnich dopasowań na prawdopodobieństwo, że otrzyma tę samą wiadomość ponownie.Jedną z konsekwencji tego jest procesów ramy całkiem efektywnie nieobsłużonych wiadomości.Mapy wiadomości są również miejsce wydajniej niż implementacje używające funkcji wirtualnych.

Zobacz też

Koncepcje

Sposób mapowania wiadomości wyszukuje RAM