Partilhar via


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.

Consulte também

Conceitos

Controles ActiveX MFC: otimização