Partilhar via


Controles ActiveX MFC: Otimização

Este artigo explica técnicas que você pode usar para otimizar seus controles ActiveX para um melhor desempenho.

Importante

ActiveX é uma tecnologia herdada que não deve ser usada para novos desenvolvimentos. Para obter mais informações sobre tecnologias modernas que substituem o ActiveX, consulte Controles ActiveX.

Os tópicos Desativar a opção Ativar quando visível e Fornecer interação com o mouse enquanto inativo discutem controles que não criam uma janela até serem ativados. O tópico Fornecendo ativação sem janela discute os controles que nunca criam uma janela, mesmo quando são ativados.

O Windows tem duas desvantagens principais para objetos OLE: eles impedem que os objetos sejam transparentes ou não retangulares quando ativos e adicionam uma grande sobrecarga à instanciação e exibição de controles. Normalmente, a criação de uma janela leva 60% do tempo de criação de um controle. Com uma única janela compartilhada (geralmente do contêiner) e algum código de despacho, um controle recebe os mesmos serviços de janela, geralmente sem perda de desempenho. Ter uma janela é, na maioria das vezes, uma sobrecarga desnecessária para o objeto.

Algumas otimizações não melhoram necessariamente o desempenho quando o controle é usado em determinados contêineres. Por exemplo, os contêineres lançados antes de 1996 não suportavam a ativação sem janelas, portanto, a implementação desse recurso não proporcionará um benefício em contêineres mais antigos. No entanto, quase todos os contêineres suportam persistência, portanto, otimizar o código de persistência do seu controle provavelmente melhorará seu desempenho em qualquer contêiner. Se o seu controle se destina especificamente a ser usado com um tipo específico de contêiner, convém pesquisar qual dessas otimizações é suportada por esse contêiner. Em geral, no entanto, você deve tentar implementar o maior número possível dessas técnicas aplicáveis ao seu controle específico para garantir que seu controle funcione tão bem quanto possível em uma ampla variedade de contêineres.

Você pode implementar muitas dessas otimizações por meio do Assistente de Controle ActiveX MFC, na página Configurações de Controle .

Opções de Otimização OLE do Assistente de Controlo ActiveX MFC

Configuração de controle no Assistente de controle ActiveX MFC Ação Mais informações
Ativar quando visível caixa de seleção Limpar Desativar a opção Ativar quando visível
Caixa de seleção Ativação sem janela Selecionar Fornecendo ativação sem janelas
Caixa de seleção Contexto do dispositivo não cortado Selecionar Usando um contexto de dispositivo não cortado
Caixa de seleção Ativação sem cintilação Selecionar Fornecendo Flicker-Free ativação
Notificações do ponteiro do rato quando inativo, caixa de seleção Selecionar Fornecendo interação com o mouse enquanto inativo
Caixa de verificação Código de desenho otimizado Selecionar Otimizando o desenho de controle

Para obter informações detalhadas sobre as funções de membro que implementam essas otimizações, consulte COleControl.

Para obter mais informações, consulte:

Ver também

Controles ActiveX MFC