Os controles ActiveX MFC: Métodos
Um controle ActiveX aciona eventos para se comunicar entre si e seu contêiner de controle.Um contêiner 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.
Métodos e propriedades fornecem uma interface exportada para uso por outros aplicativos, sistema autônomo clientes de automação e recipientes de controle ActiveX.Para obter mais informações sobre propriedades de controle ActiveX, consulte o artigo Os controles ActiveX MFC: Propriedades.
Métodos são semelhantes em uso e finalidade a funções de membro de uma classe C++.Há dois tipos de seu controle pode implementar métodos: ações e personalizado.Semelhantes a eventos de ações, métodos de ações são os métodos para o qual COleControl fornece uma implementação.Para obter mais informações sobre métodos de ações, consulte o artigo Os controles ActiveX MFC: Adicionando métodos de ação.Métodos personalizados, definidos pelo desenvolvedor, permitem a personalização adicional do controle.Para obter mais informações, consulte o artigo Os controles ActiveX MFC: Adicionando métodos personalizados.
O Microsoft Foundation classe biblioteca (MFC) implementa um mecanismo que permite que o controle oferecer suporte a ações e métodos personalizados.A primeira parte é a classe COleControl. Derivado de CWnd, COleControl funções de membro oferece suporte a métodos ações comuns a todos os controles ActiveX. A segunda parte desse mecanismo é o MAP de despacho.Um MAP de despacho é semelhante a um MAP da mensagem; no entanto, em vez de mapear uma função para uma ID de mensagem do Windows, um MAP de despacho mapeia as funções de membro virtual para IDS de IDispatch.
Para um controle suportar vários métodos corretamente, sua classe deve declarar um MAP de despacho.Isso é conseguido com a seguinte linha de código localizado no arquivo de cabeçalho (.H) de classe de controle:
DECLARE_DISPATCH_MAP()
O principal objetivo do MAP do despacho é estabelecer o Relação entre sistema autônomo nomes do método usado por um chamador externo (sistema autônomo o contêiner) e sistema autônomo funções de membro da classe do controle que implementam sistema autônomo métodos.Após o envio foi declarado MAP, ele precisa ser definido no arquivo de implementação (.CPP) do controle.As linhas de código a seguir definem o MAP de despacho:
BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)
...
END_DISPATCH_MAP()
Se você usou o Assistente de controle ActiveX MFC para criar o projeto, essas linhas foram adicionadas automaticamente.Se não tiver sido usado o Assistente de controle ActiveX MFC ActiveX, você deve adicionar manualmente essas linhas.
Os seguintes artigos abordam métodos em detalhes: