Usando um contexto de dispositivo não recortado
Se você você tiver certeza de que o controle não pt fora do retângulo de cliente, você pode realizar um pequeno ganho mas detectável de velocidade desabilitando a chamada a IntersectClipRect que é feito por COleControl. Para fazer isso, remova o sinalizador de 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 remover este sinalizador é gerado automaticamente se você selecionar a opção de Unclipped Device Context na página de Controle configurações , ao criar seu controle com o assistente de controle ActiveX de MFC.
Se você estiver usando a ativação sem o windows, essa otimização não tem nenhum efeito.