Compartilhar via


Desativando a ativar quando visível opção

Um controle tem dois estados básicos: ativo e inativo.Tradicionalmente, esses estados foram diferenciados por se o controle tinha uma janela.Um controle ativo tinha uma janela; não especificou um controle inativo.Com a introdução de ativação sem janelas, esta distinção não está mais universal, mas ainda se aplica a muitos controles.

Em comparação com o restante da inicialização normalmente executada por um controle ActiveX, a criação de uma janela é uma operação extremamente cara.O ideal é que um controle deve adiar criando sua janela até que absolutamente necessário.

Muitos controles não precisa estar ativo durante todo o time que elas estão visíveis em um contêiner.Freqüentemente, um controle pode permanecer em estado inativo até que o usuário executa uma operação que requer que ele se torne ativo (por exemplo, clicando com o mouse ou pressionando a tecla guia).Para fazer com que um controle permaneça inativo até que o contêiner precisa ativá-lo, remova o OLEMISC_ACTIVATEWHENVISIBLE sinalizar de sinalizadores de diversos do controle:

static const DWORD BASED_CODE _dwNVC_MFC_AxOptOleMisc =
   OLEMISC_SETCLIENTSITEFIRST |
   OLEMISC_INSIDEOUT |
   OLEMISC_CANTLINKINSIDE |
   OLEMISC_RECOMPOSEONRESIZE;

The OLEMISC_ACTIVATEWHENVISIBLE sinalizar for omitido automaticamente se você desativar o Ativar quando visível opção de a Configurações de controle ActiveX página do assistente MFC controle ActiveX quando você cria controle ActiveX.

Consulte também

Conceitos

Os controles ActiveX MFC: Otimização