Compartir a través de


Desactivar la opción visible de Activar Cuando

Un control tiene dos estados básicos: activo y inactivo.Tradicionalmente, distinguieron a estos estados por si el control tiene una ventana.Un control activo tenía una ventana; un control inactivo no tenía.Con la introducción de activación sin ventana, esta distinción ya no universal, pero sigue aplicándose a muchos controles.

En comparación con el resto de inicialización habitual de un control ActiveX, la creación de una ventana es una operación muy costosa.Idealmente, un control diferiría crear su ventana hasta absolutamente necesario.

Muchos controles no necesitan ser activo el tiempo completo que están visibles en un contenedor.A menudo, un control puede permanecer en estado inactivo hasta que el usuario realice una operación que lo requiera volverse activo (por ejemplo, al hacer clic con el mouse o presionando la tecla TAB).Para que un control para permanecer inactivo hasta el contenedor necesita activarlo, quita el marcador de OLEMISC_ACTIVATEWHENVISIBLE flags diferentes del control:

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

El indicador de OLEMISC_ACTIVATEWHENVISIBLE automáticamente se omite si desactiva la opción de Activate When Visible en la página de controle los valores del asistente para controles ActiveX MFC cuando se crea el control.

Vea también

Conceptos

Controles ActiveX de MFC: optimización