Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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: