Udostępnij przez


Makra delegata i mapy interfejsu

MFC obsługuje te makra dla map delegatów i interfejsów:

Name Description
BEGIN_DELEGATE_MAP Rozpoczyna mapę delegata.
BEGIN_INTERFACE_MAP Rozpoczyna definicję mapy interfejsowej.
CommandHandler Delegate 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.

Syntax

BEGIN_DELEGATE_MAP(  CLASS );

Parameters

CLASS
Klasa, w której jest hostowana zarządzana kontrolka.

Remarks

To makro oznacza początek listy wpisów delegatów, które tworzą mapę delegatów. For an example of how this macro is used, see EVENT_DELEGATE_ENTRY.

Requirements

Header: msclr\event.h

BEGIN_INTERFACE_MAP

Rozpoczyna definicję mapy interfejsu, gdy jest używana w pliku implementacji.

Syntax

BEGIN_INTERFACE_MAP( theClass, baseClass )

Parameters

theClass
Klasa, w której ma zostać zdefiniowana mapa interfejsu

baseClass
The class from which theClass derives from.

Remarks

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).

Requirements

Header: afxwin.h

CommandHandler Delegate

Rejestruje metody wywołania zwrotnego za pomocą źródła poleceń.

Syntax

delegate void CommandHandler(  UINT^ cmdID  );

Parameters

cmdID
Identyfikator polecenia.

Remarks

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).

Requirements

Header: afxwinforms.h (defined in assembly atlmfc\lib\mfcmifc80.dll)

CommandUIHandler

Rejestruje metody wywołania zwrotnego za pomocą komunikatu polecenia aktualizacji interfejsu użytkownika.

Syntax

delegate void CommandUIHandler(  unsigned int cmdID, ICommandUI^ cmdUI);

Parameters

cmdID
Identyfikator polecenia.

cmdUI
Identyfikator komunikatu polecenia.

Remarks

Ten delegat rejestruje metody wywołania zwrotnego za pomocą komunikatu polecenia aktualizacji interfejsu użytkownika. CommandUIHandler is similar to CommandHandler except that this delegate is used with user interface object update commands. 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).

Requirements

Header: afxwinforms.h (defined in assembly atlmfc\lib\mfcmifc80.dll)

END_DELEGATE_MAP

Kończy mapę delegata.

Syntax

END_DELEGATE_MAP();

Remarks

To makro oznacza koniec listy wpisów delegatów, które tworzą mapę delegata. For an example of how this macro is used, see EVENT_DELEGATE_ENTRY.

Requirements

Header: msclr\event.h

END_INTERFACE_MAP

Kończy mapę interfejsu w pliku implementacji.

Syntax

END_INTERFACE_MAP( )

Remarks

Aby uzyskać więcej informacji na temat map interfejsu, zobacz Technical Note 38 (Uwaga techniczna 38).

Requirements

Header: afxwin.h

EVENT_DELEGATE_ENTRY

Tworzy wpis na mapie delegatów.

Syntax

EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1);

Parameters

MEMBER
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^.

Remarks

Each entry in the delegate map corresponds to a managed event handler delegate created by MAKE_DELEGATE.

Example

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()

Requirements

Header: 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.

Syntax

INTERFACE_PART( theClass, iid, localClass)

Parameters

theClass
Nazwa klasy zawierającej mapę interfejsu.

iid
Identyfikator IID, który ma zostać zamapowany na klasę osadzoną.

localClass
Nazwa klasy lokalnej.

Remarks

It allows you to map an IID to a member of the class indicated by theClass and localClass.

Aby uzyskać więcej informacji na temat map interfejsu, zobacz Technical Note 38 (Uwaga techniczna 38).

Requirements

Header: afxwin.h

MAKE_DELEGATE

Dołącza procedurę obsługi zdarzeń do zarządzanej kontrolki.

Syntax

MAKE_DELEGATE( DELEGATE,  MEMBER) ;

Parameters

DELEGATE
The type of the managed event handler delegate, such as EventHandler.

MEMBER
Nazwa metody obsługi zdarzeń, która ma być dołączona do kontrolki.

Remarks

This macro creates a managed event handler delegate of type DELEGATE and of the name MEMBER. Delegat programu obsługi zdarzeń zarządzanych umożliwia klasom natywnym obsługę zdarzeń zarządzanych.

Example

W poniższym przykładzie kodu pokazano, jak wywołać metodę MAKE_DELEGATEOnClick dołączania procedury obsługi zdarzeń do kontrolki MyControlMFC . 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);
}

Requirements

Header: msclr\event.h

See also

Instrukcje: wychwytywanie zdarzeń interfejsu Windows Forms z klas natywnych języka C++
Instrukcje: dodawanie routingu poleceń do formantu interfejsu Windows Forms
Makra i globalne