Controles ActiveX MFC: otimização
Este artigo explica técnicas que você pode usar para otimizar seus controles ActiveX para o melhor desempenho.
Os tópicos Desativando ativar a opção visível e Fornecendo a interação do mouse em quando inativo discutem os controles que não criará uma janela até ativado. O Fornecendo a ativação sem o windows tópico discute os controles que nunca criam uma janela do, mesmo quando são ativados.
O windows tem dois desvantagens principais para objetos OLE: impedem que os objetos são transparentes ou nonrectangular quando ativas, e adicionará uma grande sobrecarga a instanciação e a exibição dos controles. Normalmente, criar uma janela tem 60 por cento da hora de criação de um controle. Com uma única janela compartilhada (geralmente o contêiner) e um código de despacho, um controle recebe os mesmos serviços da janela, normalmente sem uma perda de desempenho. Ter uma janela for predominante sobrecarga desnecessária para o objeto.
Algumas otimizações não necessariamente melhoram o desempenho quando o controle é usado em determinados contêiner. Por exemplo, os contêineres liberados antes de 1996 não ofereciam suporte à ativação sem o windows, portanto implementar esse recurso não fornecerá um benefício em contêineres mais antigos. No entanto, quase cada contêiner da suporte à persistência, portanto otimizar o código de persistência do controle provavelmente melhorará o desempenho em qualquer contêiner. Se o controle é destinado especificamente ser usado com um tipo específico de contêiner, você pode querer pesquisa que essas otimizações é suportado por esse contêiner. No entanto, em geral, você deve tentar implementar o máximo como essas técnicas como é aplicável a seu controle específico garantir que seu controle executar tão bem como pode possivelmente em uma ampla gama de contêiner.
Você pode implementar muitas dessas otimizações com Assistente de controle ActiveX de MFC, na página de Controle configurações .
Opções com OLE DB de otimização do assistente do controle ActiveX MFC
Controle a configuração no assistente de controle ActiveX de MFC |
Ação |
Mais informações |
---|---|---|
Caixa de seleção deActivate when visible |
Limpar |
|
Caixa de seleção deWindowless activation |
Select |
|
Caixa de seleção deUnclipped device context |
Select |
|
Caixa de seleção deFlicker-free activation |
Select |
|
Caixa de seleção deMouse pointer notifications when inactive |
Select |
|
Caixa de seleção deOptimized drawing code |
Select |
Para obter informações detalhadas sobre as funções de membro que implementam essas otimizações, consulte COleControl. As funções de membro são listadas pelo uso do, como Operações sem o windows e Funções de manipulação inativos do ponteiro.
Para obter mais informações, consulte: