Usando um contexto de dispositivo não recortado
Se você tiver certeza absoluta de que o seu controle não pinta fora do retângulo cliente, você poderá perceber um pequeno, mas detectável ganho de velocidade desabilitando a chamada para IntersectClipRect
feita por COleControl
. Para fazer isso, remova o sinalizador clipPaintDC do conjunto de sinalizadores retornados por COleControl::GetControlFlags. Por exemplo:
DWORD CMyAxOptCtrl::GetControlFlags()
{
DWORD dwFlags = COleControl::GetControlFlags();
dwFlags &= ~clipPaintDC;
return dwFlags;
}
O código para incluir esse sinalizador será gerado automaticamente se você selecionar a opção Contexto de dispositivo não recortado na página Configurações de Controle ao criar seu controle com o Assistente de Controle ActiveX do MFC.
Se você estiver usando a ativação sem janelas, essa otimização não terá efeito.