Compartilhar via


Macros de mapa de interface e delegado

O MFC dá suporte a estas macros para mapas de interface e delegado:

Name Description
BEGIN_DELEGATE_MAP Inicia um mapa de delegado.
BEGIN_INTERFACE_MAP Inicia a definição do mapa com interface.
CommandHandler Delegate Registra métodos de retorno de chamada com uma fonte de comando.
END_DELEGATE_MAP Encerra um mapa de delegado.
END_INTERFACE_MAP Encerra o mapa da interface no arquivo de implementação.
EVENT_DELEGATE_ENTRY Cria uma entrada no mapa do delegado.
INTERFACE_PART Usado entre a macro BEGIN_INTERFACE_MAP e a macro END_INTERFACE_MAP para cada interface a que seu objeto oferecerá suporte.
MAKE_DELEGATE Anexa um manipulador de eventos a um controle gerenciado.

BEGIN_DELEGATE_MAP

Inicia um mapa de delegado.

Syntax

BEGIN_DELEGATE_MAP(  CLASS );

Parameters

CLASS
A classe na qual o controle gerenciado está hospedado.

Remarks

Essa macro marca o início de uma lista de entradas de delegado, que compõem um mapa delegado. For an example of how this macro is used, see EVENT_DELEGATE_ENTRY.

Requirements

Header: msclr\event.h

BEGIN_INTERFACE_MAP

Inicia a definição do mapa adaptado quando usado no arquivo de implementação.

Syntax

BEGIN_INTERFACE_MAP( theClass, baseClass )

Parameters

theClass
A classe na qual o mapa da interface deve ser definido

baseClass
The class from which theClass derives from.

Remarks

Para cada interface implementada, há uma ou mais invocações de macro INTERFACE_PART. Para cada agregação que a classe usa, há uma invocação de macro INTERFACE_AGGREGATE.

Para mais informações sobre mapas de interface, confira Nota Técnica 38.

Requirements

Header: afxwin.h

CommandHandler Delegate

Registra métodos de retorno de chamada com uma fonte de comando.

Syntax

delegate void CommandHandler(  UINT^ cmdID  );

Parameters

cmdID
A ID do comando.

Remarks

Esse delegado registra métodos de retorno de chamada com uma fonte de comando. Quando você adiciona um delegado ao objeto de origem do comando, o método de retorno de chamada se torna um manipulador para comandos provenientes da origem especificada.

Para saber mais, confira Como adicionar roteamento de comando ao controle dos Windows Forms.

Para mais informações sobre como usar Windows Forms, confira Como usar um controle de usuário do Windows Form no MFC.

Requirements

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

CommandUIHandler

Registra métodos de retorno de chamada com uma mensagem de comando de atualização da interface do usuário.

Syntax

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

Parameters

cmdID
A ID do comando.

cmdUI
A ID da mensagem de comando.

Remarks

Esse delegado registra métodos de retorno de chamada com uma mensagem de comando de atualização da interface do usuário. CommandUIHandler is similar to CommandHandler except that this delegate is used with user interface object update commands. Os comandos de atualização da interface do usuário devem ser mapeados um para um com métodos de manipulador de mensagens.

Para mais informações sobre como usar Windows Forms, confira Como usar um controle de usuário do Windows Form no MFC.

Requirements

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

END_DELEGATE_MAP

Encerra um mapa de delegado.

Syntax

END_DELEGATE_MAP();

Remarks

Essa macro marca o fim de uma lista de entradas de delegado, que compõem um mapa delegado. For an example of how this macro is used, see EVENT_DELEGATE_ENTRY.

Requirements

Header: msclr\event.h

END_INTERFACE_MAP

Encerra o mapa da interface no arquivo de implementação.

Syntax

END_INTERFACE_MAP( )

Remarks

Para mais informações sobre mapas de interface, confira a Nota Técnica 38.

Requirements

Header: afxwin.h

EVENT_DELEGATE_ENTRY

Cria uma entrada no mapa do delegado.

Syntax

EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1);

Parameters

MEMBER
O método do manipulador de eventos a ser anexado ao controle.

ARG0
O primeiro argumento do método manipulador de eventos gerenciados, como Object^.

ARG1
O segundo argumento do método manipulador de eventos gerenciados, como EventArgs^.

Remarks

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

Example

O exemplo de código a seguir mostra como usar EVENT_DELEGATE_ENTRY para criar uma entrada no mapa delegado para o manipulador de eventos OnClick; confira também o exemplo de código em MAKE_DELEGATE. Para saber mais, confira Como coletar eventos dos Windows Forms de classes C++ nativas.

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

Requirements

Header: msclr\event.h

INTERFACE_PART

Usado entre a macro BEGIN_INTERFACE_MAP e a macro END_INTERFACE_MAP para cada interface a que seu objeto oferecerá suporte.

Syntax

INTERFACE_PART( theClass, iid, localClass)

Parameters

theClass
O nome da classe que contém o mapa da interface.

iid
O IID que deve ser mapeado para a classe inserida.

localClass
O nome da classe local.

Remarks

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

Para mais informações sobre mapas de interface, confira Nota Técnica 38.

Requirements

Header: afxwin.h

MAKE_DELEGATE

Anexa um manipulador de eventos a um controle gerenciado.

Syntax

MAKE_DELEGATE( DELEGATE,  MEMBER) ;

Parameters

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

MEMBER
O nome do método do manipulador de eventos a ser anexado ao controle.

Remarks

This macro creates a managed event handler delegate of type DELEGATE and of the name MEMBER. O delegado do manipulador de eventos gerenciado permite que uma classe nativa manipule eventos gerenciados.

Example

O exemplo de código a seguir mostra como chamar MAKE_DELEGATE para anexar um manipulador de eventos OnClick a um controle MFC MyControl. Para uma explicação mais ampla de como essa macro funciona em um aplicativo MFC, confira Como coletar eventos do Windows Forms de classes nativas do C++.

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

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

Requirements

Header: msclr\event.h

See also

Como coletar eventos do Windows Forms de classes C++ nativas
Como adicionar roteamento de comando ao controle do Windows Forms
Macros e Globais