Partilhar via


Usando um contexto de dispositivo não cortado

Se você estiver absolutamente certo de que seu controle não pinta fora do retângulo do cliente, você pode perceber um ganho de velocidade pequeno, mas detetável, desativando a chamada para IntersectClipRect que é feita pela 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 remover esse sinalizador é gerado automaticamente se você selecionar a opção Contexto de dispositivo não cortado na página Configurações de controle , ao criar seu controle com o Assistente de controle ActiveX MFC.

Se você estiver usando a ativação sem janelas, essa otimização não terá efeito.

Ver também

Controles ActiveX MFC: Otimização