Controles ActiveX MFC: métodos
Um controle ActiveX será acionado eventos para comunicação entre ele e seu contêiner do controle. Um contêiner também pode se comunicar com um controle por meio de métodos e propriedades. Os métodos também são chamadas de funções.
Os métodos e as propriedades fornecem uma interface exportada para o uso de outros aplicativos, como clientes de automação e contêiner do controle ActiveX. Para obter mais informações sobre as propriedades do controle ActiveX, consulte o artigo Controles ActiveX MFC: Propriedades.
Os métodos são semelhantes em uso e a finalidade das funções de membro da classe c. criando Há dois tipos de métodos que seu controle pode implementar: estoque e personalizados. Semelhante aos eventos de estoque, os métodos de estoque são os métodos para que COleControl fornece uma implementação. Para obter mais informações sobre os métodos de estoque, consulte o artigo Controles ActiveX MFC: Adicionando os métodos de estoque. Os métodos, personalizados definidos pelo desenvolvedor, permitem para personalizações adicionais do controle. Para obter mais informações, consulte o artigo Controles ActiveX MFC: Adicionando métodos personalizados.
A biblioteca de classes do Microsoft (MFC) implementa um mecanismo que permite que o controle da suporte aos métodos de estoque e personalizados. A primeira parte é COleControlclasse. Derivada de CWnd, métodos de estoque das funções de membro de COleControl que são comuns a todos os controles ActiveX. A segunda parte desse mecanismo é o mapa de distribuição. Um mapa de distribuição é semelhante a um mapa de mensagem; no entanto, em vez de mapear uma função a um ID de mensagem do windows, um mapa de expedição mapeia as funções de membro virtuais a ID IDispatch.
Para que um controle suporte a vários métodos corretamente, a sua classe deve declarar um mapa de distribuição. Isso é realizado pela seguinte linha de código localizada no cabeçalho da classe de controle (. H) arquivo:
DECLARE_DISPATCH_MAP()
A finalidade principal do mapa de distribuição é estabelecer a relação entre os nomes do método usados por um chamador externa (como o contêiner) e as funções de membro da classe de controle que implementam os métodos. Depois que o mapa de distribuição tiver sido declarado, precisa ser definido no arquivo de implementação de controle (.CPP). As seguintes linhas de código definem o mapa de distribuição:
BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)
...
END_DISPATCH_MAP()
Se você usou Assistente de controle ActiveX de MFC para criar o projeto, essas linhas foram adicionadas automaticamente. Se o assistente de controle ActiveX de MFC não tiver sido usado, você deve adicionar essas linhas manualmente.
Os artigos a seguir discutem métodos em detalhes: