Delegera och mappa makron för gränssnitt

Anmärkning

Biblioteket För Microsoft Foundation-klasser (MFC) stöds fortfarande. Vi lägger dock inte längre till funktioner eller uppdaterar dokumentationen.

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-ombud 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

KLASS
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. Ett exempel på hur makrot används finns i EVENT_DELEGATE_ENTRY.

Requirements

Rubrik: 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
Klassen som klassen härstammar från.

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

rubrik: afxwin.h

CommandHandler-ombud

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

Rubrik: afxwinforms.h (definieras i sammansättning 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 liknar CommandHandler förutom att det här ombudet används med uppdateringskommandon för användargränssnittsobjekt. 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

Rubrik: afxwinforms.h (definieras i sammansättning 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. Ett exempel på hur makrot används finns i EVENT_DELEGATE_ENTRY.

Requirements

Rubrik: 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

rubrik: afxwin.h

EVENT_DELEGATE_ENTRY

Skapar en post i ombudskartan.

Syntax

EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1);

Parameters

MEDLEM
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

Varje post i ombudskartan motsvarar ett ombud för hanterad händelsehanterare som skapats av 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

Rubrik: 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

Det gör att du kan mappa ett IID till en medlem i den klass som anges av theClass och localClass.

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

Requirements

rubrik: afxwin.h

MAKE_DELEGATE

Kopplar en händelsehanterare till en hanterad kontroll.

Syntax

MAKE_DELEGATE( DELEGATE,  MEMBER) ;

Parameters

DELEGERA
Typen av delegerad hanterad händelsehanterare, till exempel EventHandler.

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

Remarks

Det här makrot skapar en hanterad händelsehanterardelegat av typen DELEGATE och namnet 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

Rubrik: msclr\event.h

Se även

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