Dela via


Delegera och mappa makron för gränssnitt

MFC stöder dessa makron för ombuds- och gränssnittskartor:

Name Description
BEGIN_DELEGATE_MAP Påbörjar en delegatkarta.
BEGIN_INTERFACE_MAP Börjar definitionen av den gränssnittsöversikten.
CommandHandler Delegate Registrerar motringningsmetoder med en kommandokälla.
END_DELEGATE_MAP Avslutar en ombudskarta.
END_INTERFACE_MAP Avslutar gränssnittskartan i implementeringsfilen.
EVENT_DELEGATE_ENTRY Skapar en post i ombudskartan.
INTERFACE_PART Används mellan det BEGIN_INTERFACE_MAP makrot och det END_INTERFACE_MAP makrot för varje gränssnitt som objektet stöder.
MAKE_DELEGATE Kopplar en händelsehanterare till en hanterad kontroll.

BEGIN_DELEGATE_MAP

Påbörjar en delegatkarta.

Syntax

BEGIN_DELEGATE_MAP(  CLASS );

Parameters

CLASS
Klassen där den hanterade kontrollen finns.

Remarks

Det här makrot markerar början på en lista med ombudsposter som utgör en delegerad mappning. For an example of how this macro is used, see EVENT_DELEGATE_ENTRY.

Requirements

Header: msclr\event.h

BEGIN_INTERFACE_MAP

Börjar definitionen av den gränssnittsöversikt som används i implementeringsfilen.

Syntax

BEGIN_INTERFACE_MAP( theClass, baseClass )

Parameters

theClass
Klassen där gränssnittskartan ska definieras

baseClass
The class from which theClass derives from.

Remarks

För varje gränssnitt som implementeras finns det en eller flera INTERFACE_PART makroanrop. För varje aggregering som klassen använder finns det ett INTERFACE_AGGREGATE makro-anrop.

Mer information om gränssnittskartor finns i Technical Note 38.

Requirements

Header: afxwin.h

CommandHandler Delegate

Registrerar motringningsmetoder med en kommandokälla.

Syntax

delegate void CommandHandler(  UINT^ cmdID  );

Parameters

cmdID
Kommando-ID:t.

Remarks

Det här ombudet registrerar återanropsmetoder med en kommandokälla. När du lägger till ett ombud i kommandokällobjektet blir motringningsmetoden en hanterare för kommandon som kommer från den angivna källan.

Mer information finns i How to: Add Command Routing to the Windows Forms Control (Så här lägger du till kommandoroutning i Windows Forms-kontrollen).

Mer information om hur du använder Windows-formulär finns i Använda en användarkontroll för Windows-formulär i MFC.

Requirements

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

CommandUIHandler

Registrerar motringningsmetoder med ett kommandomeddelande för uppdatering av användargränssnittet.

Syntax

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

Parameters

cmdID
Kommando-ID:t.

cmdUI
Kommandomeddelande-ID.

Remarks

Det här ombudet registrerar återanropsmetoder med ett kommandomeddelande för uppdatering av användargränssnittet. CommandUIHandler is similar to CommandHandler except that this delegate is used with user interface object update commands. Uppdateringskommandon för användargränssnittet ska mappas en-till-en med meddelandehanterarmetoder.

Mer information om hur du använder Windows-formulär finns i Använda en användarkontroll för Windows-formulär i MFC.

Requirements

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

END_DELEGATE_MAP

Avslutar en ombudskarta.

Syntax

END_DELEGATE_MAP();

Remarks

Det här makrot markerar slutet på en lista med ombudsposter som utgör en delegerad mappning. For an example of how this macro is used, see EVENT_DELEGATE_ENTRY.

Requirements

Header: msclr\event.h

END_INTERFACE_MAP

Avslutar gränssnittskartan i implementeringsfilen.

Syntax

END_INTERFACE_MAP( )

Remarks

Mer information om gränssnittskartor finns i Technical Note 38.

Requirements

Header: afxwin.h

EVENT_DELEGATE_ENTRY

Skapar en post i ombudskartan.

Syntax

EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1);

Parameters

MEMBER
Den händelsehanterarmetod som ska kopplas till kontrollen.

ARG0
Det första argumentet för metoden för hanterad händelsehanterare, till exempel Object^.

ARG1
Det andra argumentet för den hanterade händelsehanterarmetoden, till exempel EventArgs^.

Remarks

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

Example

I följande kodexempel visas hur du använder EVENT_DELEGATE_ENTRY för att skapa en post i ombudskartan OnClick för händelsehanteraren. Se även kodexemplet i MAKE_DELEGATE. Mer information finns i How to: Sink Windows Forms Events from Native C++ Classes (Hantera Windows Forms-händelser från interna C++-klasser).

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

Requirements

Header: msclr\event.h

INTERFACE_PART

Används mellan det BEGIN_INTERFACE_MAP makrot och det END_INTERFACE_MAP makrot för varje gränssnitt som objektet stöder.

Syntax

INTERFACE_PART( theClass, iid, localClass)

Parameters

theClass
Namnet på klassen som innehåller gränssnittskartan.

iid
Det IID som ska mappas till den inbäddade klassen.

localClass
Namnet på den lokala klassen.

Remarks

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

Mer information om gränssnittskartor finns i Technical Note 38.

Requirements

Header: afxwin.h

MAKE_DELEGATE

Kopplar en händelsehanterare till en hanterad kontroll.

Syntax

MAKE_DELEGATE( DELEGATE,  MEMBER) ;

Parameters

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

MEMBER
Namnet på den händelsehanterarmetod som ska kopplas till kontrollen.

Remarks

This macro creates a managed event handler delegate of type DELEGATE and of the name MEMBER. Med ombudet för hanterad händelsehanterare kan en intern klass hantera hanterade händelser.

Example

I följande kodexempel visas hur du anropar MAKE_DELEGATE för att koppla en OnClick händelsehanterare till en MFC-kontroll MyControl. En bredare förklaring av hur det här makrot fungerar i ett MFC-program finns i How to: Sink Windows Forms Events from Native C++ Classes .How to: Sink Windows Forms Events from Native C++ Classes (Hantera Windows-formulärhändelser från interna C++-klasser).

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

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

Requirements

Header: msclr\event.h

See also

Anvisningar: Hantera Windows Forms-händelser från interna C++-klasser
Gör så här: Lägga till kommandoroutning i Windows Forms-kontrollen
makron och globala