Makra delegata i mapy interfejsu
MFC obsługuje te makra dla map delegatów i interfejsów:
Nazwa/nazwisko | opis |
---|---|
BEGIN_DELEGATE_MAP | Rozpoczyna mapę delegata. |
BEGIN_INTERFACE_MAP | Rozpoczyna definicję mapy interfejsowej. |
Delegat programu CommandHandler | Rejestruje metody wywołania zwrotnego za pomocą źródła poleceń. |
END_DELEGATE_MAP | Kończy mapę delegata. |
END_INTERFACE_MAP | Kończy mapę interfejsu w pliku implementacji. |
EVENT_DELEGATE_ENTRY | Tworzy wpis na mapie delegatów. |
INTERFACE_PART | Używany między makrem BEGIN_INTERFACE_MAP a makrem END_INTERFACE_MAP dla każdego interfejsu, który będzie obsługiwać obiekt. |
MAKE_DELEGATE | Dołącza procedurę obsługi zdarzeń do zarządzanej kontrolki. |
BEGIN_DELEGATE_MAP
Rozpoczyna mapę delegata.
Składnia
BEGIN_DELEGATE_MAP( CLASS );
Parametry
KLASA
Klasa, w której jest hostowana zarządzana kontrolka.
Uwagi
To makro oznacza początek listy wpisów delegatów, które tworzą mapę delegatów. Aby zapoznać się z przykładem użycia tego makra, zobacz EVENT_DELEGATE_ENTRY.
Wymagania
Nagłówek: msclr\event.h
BEGIN_INTERFACE_MAP
Rozpoczyna definicję mapy interfejsu, gdy jest używana w pliku implementacji.
Składnia
BEGIN_INTERFACE_MAP( theClass, baseClass )
Parametry
theClass
Klasa, w której ma zostać zdefiniowana mapa interfejsu
baseClass
Klasa, z której pochodzi klasa TheClass .
Uwagi
Dla każdego zaimplementowanego interfejsu istnieje co najmniej jedno wywołanie makra INTERFACE_PART. Dla każdej agregacji używanej przez klasę istnieje jedno wywołanie makra INTERFACE_AGGREGATE.
Aby uzyskać więcej informacji na temat map interfejsu, zobacz Technical Note 38 (Uwaga techniczna 38).
Wymagania
Nagłówek: afxwin.h
Delegat programu CommandHandler
Rejestruje metody wywołania zwrotnego za pomocą źródła poleceń.
Składnia
delegate void CommandHandler( UINT^ cmdID );
Parametry
cmdID
Identyfikator polecenia.
Uwagi
Ten delegat rejestruje metody wywołania zwrotnego za pomocą źródła poleceń. Po dodaniu delegata do obiektu źródłowego polecenia metoda wywołania zwrotnego staje się procedurą obsługi poleceń pochodzących z określonego źródła.
Aby uzyskać więcej informacji, zobacz How to: Add Command Routing to the Windows Forms Control (Instrukcje: dodawanie routingu poleceń do kontrolki Formularze systemu Windows).
Aby uzyskać więcej informacji na temat korzystania z formularzy systemu Windows, zobacz Using a Windows Form User Control in MFC (Używanie kontrolki użytkownika formularza systemu Windows w MFC).
Wymagania
Nagłówek: afxwinforms.h (zdefiniowany w zestawie atlmfc\lib\mfcmifc80.dll)
CommandUIHandler
Rejestruje metody wywołania zwrotnego za pomocą komunikatu polecenia aktualizacji interfejsu użytkownika.
Składnia
delegate void CommandUIHandler( unsigned int cmdID, ICommandUI^ cmdUI);
Parametry
cmdID
Identyfikator polecenia.
cmdUI
Identyfikator komunikatu polecenia.
Uwagi
Ten delegat rejestruje metody wywołania zwrotnego za pomocą komunikatu polecenia aktualizacji interfejsu użytkownika. CommandUIHandler
jest podobny do polecenia CommandHandler , z tą różnicą, że ten delegat jest używany z poleceniami aktualizacji obiektów interfejsu użytkownika. Polecenia aktualizacji interfejsu użytkownika powinny być mapowane jeden na jeden z metod obsługi komunikatów.
Aby uzyskać więcej informacji na temat korzystania z formularzy systemu Windows, zobacz Using a Windows Form User Control in MFC (Używanie kontrolki użytkownika formularza systemu Windows w MFC).
Wymagania
Nagłówek: afxwinforms.h (zdefiniowany w zestawie atlmfc\lib\mfcmifc80.dll)
END_DELEGATE_MAP
Kończy mapę delegata.
Składnia
END_DELEGATE_MAP();
Uwagi
To makro oznacza koniec listy wpisów delegatów, które tworzą mapę delegata. Aby zapoznać się z przykładem użycia tego makra, zobacz EVENT_DELEGATE_ENTRY.
Wymagania
Nagłówek: msclr\event.h
END_INTERFACE_MAP
Kończy mapę interfejsu w pliku implementacji.
Składnia
END_INTERFACE_MAP( )
Uwagi
Aby uzyskać więcej informacji na temat map interfejsu, zobacz Technical Note 38 (Uwaga techniczna 38).
Wymagania
Nagłówek: afxwin.h
EVENT_DELEGATE_ENTRY
Tworzy wpis na mapie delegatów.
Składnia
EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1);
Parametry
CZŁONEK
Metoda obsługi zdarzeń, która ma zostać dołączona do kontrolki.
ARG0
Pierwszy argument metody obsługi zdarzeń zarządzanych, taki jak Object^
.
ARG1
Drugi argument metody obsługi zdarzeń zarządzanych, taki jak EventArgs^
.
Uwagi
Każdy wpis na mapie delegata odpowiada delegatowi programu obsługi zdarzeń zarządzanego utworzonego przez MAKE_DELEGATE.
Przykład
Poniższy przykład kodu przedstawia sposób użycia EVENT_DELEGATE_ENTRY do utworzenia wpisu na mapie delegata dla OnClick
programu obsługi zdarzeń. Zobacz również przykład kodu w MAKE_DELEGATE. Aby uzyskać więcej informacji, zobacz How to: Sink Windows Forms Events from Native C++ Classes (Instrukcje: ujście zdarzeń formularzy systemu Windows z natywnych klas języka C++).
BEGIN_DELEGATE_MAP(CMyView)
EVENT_DELEGATE_ENTRY(OnClick, System::Object^, System::EventArgs^)
END_DELEGATE_MAP()
Wymagania
Nagłówek: msclr\event.h
INTERFACE_PART
Używany między makrem BEGIN_INTERFACE_MAP a makrem END_INTERFACE_MAP dla każdego interfejsu, który będzie obsługiwać obiekt.
Składnia
INTERFACE_PART( theClass, iid, localClass)
Parametry
theClass
Nazwa klasy zawierającej mapę interfejsu.
identyfikator iid
Identyfikator IID, który ma zostać zamapowany na klasę osadzoną.
localClass
Nazwa klasy lokalnej.
Uwagi
Umożliwia mapowania identyfikatora IID na składową klasy wskazanej przez klasęClass i localClass.
Aby uzyskać więcej informacji na temat map interfejsu, zobacz Technical Note 38 (Uwaga techniczna 38).
Wymagania
Nagłówek: afxwin.h
MAKE_DELEGATE
Dołącza procedurę obsługi zdarzeń do zarządzanej kontrolki.
Składnia
MAKE_DELEGATE( DELEGATE, MEMBER) ;
Parametry
DELEGAT
Typ delegata programu obsługi zdarzeń zarządzanych, na przykład EventHandler.
CZŁONEK
Nazwa metody obsługi zdarzeń, która ma być dołączona do kontrolki.
Uwagi
To makro tworzy delegata programu obsługi zdarzeń zarządzanych typu DELEGATE i nazwy MEMBER. Delegat programu obsługi zdarzeń zarządzanych umożliwia klasom natywnym obsługę zdarzeń zarządzanych.
Przykład
W poniższym przykładzie kodu pokazano, jak wywołać metodę MAKE_DELEGATE
OnClick
dołączania procedury obsługi zdarzeń do kontrolki MyControl
MFC . Aby uzyskać szerszy opis działania tego makra w aplikacji MFC, zobacz Instrukcje: ujście zdarzeń formularzy systemu Windows z natywnych klas języka C++.
// CMyView derives from CWinFormsView.
void CMyView::OnInitialUpdate()
{
CWinFormsView::OnInitialUpdate();
GetControl()->Click += MAKE_DELEGATE(System::EventHandler, OnClick);
}
Wymagania
Nagłówek: msclr\event.h
Zobacz też
Instrukcje: wychwytywanie zdarzeń interfejsu Windows Forms z klas natywnych języka C++
Instrukcje: dodawanie routingu poleceń do formantu interfejsu Windows Forms
Makra i globalne