Udostępnij przez


Definiowanie obsługi komunikatów dla komunikatów odbitych

Po utworzeniu nowej klasy kontrolki MFC można zdefiniować dla niej programy obsługi komunikatów. Programy obsługi komunikatów odbitych umożliwiają klasie sterowania obsługę własnych komunikatów przed odebraniem komunikatu przez element nadrzędny. Za pomocą funkcji MFC CWnd::SendMessage możesz wysyłać komunikaty z kontrolki do okna nadrzędnego.

Korzystając z tej funkcji, można na przykład utworzyć pole listy, które będzie ponownie rysowane, a nie polegać na oknie nadrzędnym, aby to zrobić (właściciel narysowany). Aby uzyskać więcej informacji na temat odzwierciedlonych komunikatów, zobacz Obsługa odbitych komunikatów.

Aby utworzyć kontrolkę ActiveX z tą samą funkcjonalnością, należy utworzyć projekt dla kontrolki ActiveX.

Uwaga

Nie można dodać odzwierciedlonego komunikatu (OCM_Message) dla kontrolki ActiveX przy użyciu Kreatora klas, jak opisano poniżej. Te komunikaty należy dodać ręcznie.

Aby zdefiniować procedurę obsługi komunikatów dla odzwierciedlonego komunikatu z Kreatora klas

  1. Dodaj kontrolkę, taką jak lista, kontrolka paska pomocniczego, pasek narzędzi lub kontrolka drzewa, do projektu MFC.

  2. W widoku klasy kliknij nazwę klasy sterującej.

  3. W Kreatorze klas nazwa klasy jest wyświetlana na liście Nazwa klasy.

  4. Kliknij kartę Komunikaty, aby wyświetlić dostępne komunikaty systemu Windows, aby dodać je do kontrolki.

  5. Wybierz odbity komunikat, dla którego chcesz zdefiniować procedurę obsługi. Odzwierciedlone komunikaty są oznaczone znakiem równości (=).

  6. Kliknij komórkę w prawej kolumnie w Kreatorze klas, aby wyświetlić sugerowaną nazwę programu obsługi jako <dodaj>HandlerName. (Na przykład program obsługi komunikatów =WM_CTLCOLOR sugeruje <dodanie>CtlColor).

  7. Kliknij sugerowaną nazwę, aby zaakceptować. Procedura obsługi jest dodawana do projektu.

  8. Aby edytować lub usunąć procedurę obsługi komunikatów, powtórz kroki od 4 do 7. Kliknij komórkę zawierającą nazwę programu obsługi, aby edytować lub usunąć, a następnie kliknij odpowiednie zadanie.

Zobacz też

Mapowanie komunikatów do funkcji
Dodawanie funkcji za pomocą kreatorów kodu
Dodawanie klasy
Dodawanie funkcji składowej
Dodawanie zmiennej składowej
Zastępowanie funkcji wirtualnej
Program obsługi komunikatów MFC
Nawigowanie po strukturze klas