Usando um contexto para dispositivo Unclipped
Se você estiver absolutamente certo de que seu controle não pintar fora o retângulo do cliente, é possível obter um ganho de velocidade pequeno, mas podem ser detectados, desativando a telefonar para IntersectClipRect que é feita por COleControl. Para fazer isso, remova o clipPaintDC sinalizar do conjunto de sinalizadores retornado por COleControl::GetControlFlags.Por exemplo:
DWORD CMyAxOptCtrl::GetControlFlags()
{
DWORD dwFlags = COleControl::GetControlFlags();
...
dwFlags &= ~clipPaintDC;
...
return dwFlags;
}
O código para remover esse sinalizar é gerado automaticamente se você selecionar o Unclipped contexto para dispositivo opção a Configurações de controle ActiveX página, ao criar controle ActiveX com o Assistente de controle ActiveX MFC ActiveX.
Se você estiver usando ativação sem janelas, essa otimização não tem efeito.