Partilhar via


Controles de ActiveX MFC: métodos

Um controle ActiveX aciona eventos para se comunicar entre si e seu contêiner de controle.Um recipiente também pode se comunicar com um controle por meio de métodos e propriedades.Métodos também são chamados de funções.

Propriedades e métodos fornecem uma interface exportada para uso por outros aplicativos, como clientes de automação e recipientes de controle ActiveX.Para obter mais informações sobre propriedades de controle de ActiveX, consulte o artigo controles de ActiveX de MFC: propriedades.

Métodos são semelhantes em uso e finalidade para as funções de membro de uma classe C++.Há dois tipos de métodos de controle pode implementar: ações e personalizados.São semelhantes aos eventos de ações, métodos de ações esses métodos para o qual COleControl fornece uma implementação.Para obter mais informações sobre métodos de ações, consulte o artigo controles de ActiveX de MFC: adicionando métodos de ações.Métodos personalizados, definidos pelo desenvolvedor, permitem a personalização adicional do controle.Para obter mais informações, consulte o artigo controles de ActiveX de MFC: adicionando métodos personalizado.

O Microsoft Foundation Class Library (MFC) implementa um mecanismo que permite o controle suportar ações e métodos personalizados.A primeira parte é a classe COleControl.Derivado de CWnd, COleControl funções de membro suportam ações métodos que são comuns a todos os controles de ActiveX.A segunda parte desse mecanismo é o mapa de despacho.Um mapa de despacho é semelhante a um mapa da mensagem; No entanto, em vez de uma função de mapeamento para uma ID de mensagem do Windows, um mapa de despacho mapeia funções membro virtual IDs de IDispatch.

Para um controle suportar vários métodos corretamente, sua classe deve declarar um mapa de despacho.Isso é conseguido com a seguinte linha de código localizado no cabeçalho de classe de controle (.H) arquivo:

DECLARE_DISPATCH_MAP()

É o principal objetivo do mapa de expedição estabelecer a relação entre os nomes de método usado por um chamador externo (como o contêiner) e as funções de membro de classe do controle que implementam os métodos.Após ter sido declarado o mapa de despacho, ele precisa ser definidos na implementação do controle (.Arquivo CPP).Linhas de código a seguir definem o mapa de despacho:

BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)


...


END_DISPATCH_MAP()

Se você usou o Assistente de controle MFC ActiveX para criar o projeto, essas linhas foram adicionadas automaticamente.Se não foi usado o Assistente de controle de ActiveX do MFC, você deve adicionar essas linhas manualmente.

Os artigos a seguir abordam métodos em detalhes:

Consulte também

Conceitos

Controles de ActiveX do MFC