Controles ActiveX MFC: adicionando métodos de estoque
Um método de estoque difere de um método personalizado, pois ele já é implementado pela classe COleControl. Por exemplo, COleControl
contém uma função de membro predefinida que dá suporte ao método Refresh ao seu controle. A entrada do mapa de expedição para esse método de estoque é DISP_STOCKFUNC_REFRESH.
Importante
O ActiveX é uma tecnologia herdada que não deve ser usada para novo desenvolvimento. Para mais informações sobre tecnologias modernas que substituem o ActiveX, confira Controles do ActiveX.
COleControl
dá suporte a dois métodos de estoque: DoClick e Refresh. Refresh é invocado pelo usuário do controle para atualizar imediatamente a aparência do controle; DoClick é invocado para disparar o evento Clique do controle.
Método | Entrada do mapa de expedição | Comentar |
---|---|---|
DoClick |
DISP_STOCKPROP_DOCLICK( ) | Dispara um evento Clique. |
Refresh |
DISP_STOCKPROP_REFRESH( ) | Atualiza imediatamente a aparência do controle. |
Adicionar um método de estoque usando o Assistente de adição de método
Adicionar um método de estoque é simples usando o Assistente de adição de método. O procedimento a seguir demonstra a adição do método Refresh a um controle criado usando o Assistente de Controle ActiveX do MFC.
Para adicionar o método de estoque Refresh usando o Assistente de adição de método
Carregue o projeto do controle.
No Modo de Exibição de Classe, expanda o nó de biblioteca do controle.
Clique com o botão direito do mouse no nó de interface do controle (o segundo nó do nó da biblioteca) para abrir o menu de atalho.
No menu de atalho, clique em Adicionar e, em seguida, clique em Adicionar método.
Isso abrirá o Assistente para adicionar evento.
Na caixa Nome do Método, clique em Refresh.
Clique em Concluir.
Adicionar alterações do Assistente de Método para Métodos de Estoque
Como o método de estoque Refresh tem suporte pela classe base do controle, o Assistente de adição de método não altera a declaração de classe do controle de nenhuma maneira. Ele adiciona uma entrada do método ao mapa de expedição do controle e ao seu arquivo .IDL. A linha a seguir é adicionada ao mapa de expedição do controle, localizado em seu arquivo de implementação (.CPP):
DISP_STOCKFUNC_REFRESH()
Isso disponibiliza o método Refresh para os usuários do controle.
A seguinte linha é adicionada ao arquivo .IDL do controle:
[id(DISPID_REFRESH), helpstring("method Refresh")] void Refresh(void);
Essa linha atribui ao método Refresh um número ID específico.