Sdílet prostřednictvím


Makra map delegátů a rozhraní

MFC podporuje tato makra pro mapování delegátů a rozhraní:

Name Description
BEGIN_DELEGATE_MAP Zahájí mapu delegáta.
BEGIN_INTERFACE_MAP Zahájí definici map rozhraní.
CommandHandler Delegate Zaregistruje metody zpětného volání ve zdroji příkazů.
END_DELEGATE_MAP Ukončí mapu delegáta.
END_INTERFACE_MAP Ukončí mapování rozhraní v souboru implementace.
EVENT_DELEGATE_ENTRY Vytvoří položku v mapě delegáta.
INTERFACE_PART Používá se mezi BEGIN_INTERFACE_MAP makrem a makrem END_INTERFACE_MAP pro každé rozhraní, které objekt bude podporovat.
MAKE_DELEGATE Připojí obslužnou rutinu události ke spravovanému ovládacímu prvku.

BEGIN_DELEGATE_MAP

Zahájí mapu delegáta.

Syntax

BEGIN_DELEGATE_MAP(  CLASS );

Parameters

CLASS
Třída, ve které je spravovaný ovládací prvek hostovaný.

Remarks

Toto makro označuje začátek seznamu položek delegáta, které tvoří mapu delegáta. For an example of how this macro is used, see EVENT_DELEGATE_ENTRY.

Requirements

Header: msclr\event.h

BEGIN_INTERFACE_MAP

Začne definici map rozhraní při použití v souboru implementace.

Syntax

BEGIN_INTERFACE_MAP( theClass, baseClass )

Parameters

theClass
Třída, ve které má být definována mapa rozhraní

baseClass
The class from which theClass derives from.

Remarks

Pro každé implementované rozhraní existuje jedno nebo více INTERFACE_PART vyvolání maker. Pro každou agregaci, kterou třída používá, existuje jedna INTERFACE_AGGREGATE vyvolání makra.

Další informace o mapách rozhraní naleznete v technické poznámce 38.

Requirements

Header: afxwin.h

CommandHandler Delegate

Zaregistruje metody zpětného volání ve zdroji příkazů.

Syntax

delegate void CommandHandler(  UINT^ cmdID  );

Parameters

cmdID
ID příkazu.

Remarks

Tento delegát registruje metody zpětného volání ve zdroji příkazů. Když přidáte delegáta do zdrojového objektu příkazu, metoda zpětného volání se stane obslužnou rutinou pro příkazy přicházející ze zadaného zdroje.

Další informace naleznete v tématu Postupy: Přidání směrování příkazů do model Windows Forms ovládacího prvku.

Další informace o používání model Windows Forms naleznete v tématu Použití uživatelského ovládacího prvku Windows Form v prostředí MFC.

Requirements

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

CommandUIHandler

Zaregistruje metody zpětného volání ve zprávě příkazu update uživatelského rozhraní.

Syntax

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

Parameters

cmdID
ID příkazu.

cmdUI
ID zprávy příkazu.

Remarks

Tento delegát registruje metody zpětného volání pomocí zprávy příkazu update uživatelského rozhraní. CommandUIHandler is similar to CommandHandler except that this delegate is used with user interface object update commands. Příkazy aktualizace uživatelského rozhraní by měly být mapovány 1:1 s metodami obslužné rutiny zpráv.

Další informace o používání model Windows Forms naleznete v tématu Použití uživatelského ovládacího prvku Windows Form v prostředí MFC.

Requirements

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

END_DELEGATE_MAP

Ukončí mapu delegáta.

Syntax

END_DELEGATE_MAP();

Remarks

Toto makro označuje konec seznamu položek delegáta, které tvoří mapu delegáta. For an example of how this macro is used, see EVENT_DELEGATE_ENTRY.

Requirements

Header: msclr\event.h

END_INTERFACE_MAP

Ukončí mapování rozhraní v souboru implementace.

Syntax

END_INTERFACE_MAP( )

Remarks

Další informace o mapách rozhraní naleznete v technické poznámce 38.

Requirements

Header: afxwin.h

EVENT_DELEGATE_ENTRY

Vytvoří položku v mapě delegáta.

Syntax

EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1);

Parameters

MEMBER
Metoda obslužné rutiny události, která se má připojit k ovládacímu prvku.

ARG0
První argument metody obslužné rutiny spravované události, například Object^.

ARG1
Druhý argument metody obslužné rutiny spravované události, například EventArgs^.

Remarks

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

Example

Následující příklad kódu ukazuje, jak pomocí EVENT_DELEGATE_ENTRY vytvořit položku v mapě delegáta pro obslužnou rutinu OnClick události; viz také příklad kódu v MAKE_DELEGATE. Další informace naleznete v tématu Postupy: Jímka model Windows Forms události z nativních tříd C++.

BEGIN_DELEGATE_MAP(CMyView)
   EVENT_DELEGATE_ENTRY(OnClick, System::Object^, System::EventArgs^)
END_DELEGATE_MAP()

Requirements

Header: msclr\event.h

INTERFACE_PART

Používá se mezi BEGIN_INTERFACE_MAP makrem a makrem END_INTERFACE_MAP pro každé rozhraní, které objekt bude podporovat.

Syntax

INTERFACE_PART( theClass, iid, localClass)

Parameters

theClass
Název třídy, která obsahuje mapu rozhraní.

iid
IID, který má být namapován na vloženou třídu.

localClass
Název místní třídy.

Remarks

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

Další informace o mapách rozhraní naleznete v technické poznámce 38.

Requirements

Header: afxwin.h

MAKE_DELEGATE

Připojí obslužnou rutinu události ke spravovanému ovládacímu prvku.

Syntax

MAKE_DELEGATE( DELEGATE,  MEMBER) ;

Parameters

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

MEMBER
Název metody obslužné rutiny události, která má být připojena k ovládacímu prvku.

Remarks

This macro creates a managed event handler delegate of type DELEGATE and of the name MEMBER. Delegát spravované obslužné rutiny události umožňuje nativní třídě zpracovávat spravované události.

Example

Následující příklad kódu ukazuje, jak volat MAKE_DELEGATE připojení obslužné OnClick rutiny události k ovládacímu prvku MyControlMFC . Širší vysvětlení toho, jak toto makro funguje v aplikaci MFC, naleznete v tématu Postupy: Jímka model Windows Forms události z nativních tříd C++.

// CMyView derives from CWinFormsView.
void CMyView::OnInitialUpdate()
{
   CWinFormsView::OnInitialUpdate();

   GetControl()->Click += MAKE_DELEGATE(System::EventHandler, OnClick);
}

Requirements

Header: msclr\event.h

See also

Postupy: Zpracování událostí modelu Windows Forms z nativních tříd jazyka C++
Postupy: Přidání směrování příkazů do ovládacího prvku Windows Forms
Makra a globální objekty