Disattivazione dell'opzione Attivo quando visibile
Un controllo presenta due stati di base: attivo e inattivo. In genere, questi stati venivano distinti se il controllo aveva una finestra. Un controllo attivo aveva una finestra; un controllo inattivo invece no. Con l'introduzione dell'attivazione senza finestra, questa differenza non è più universale, ma si applica ancora a più controlli.
Rispetto al resto dell'inizializzazione in genere eseguita da un controllo ActiveX, la creazione di una finestra è un'operazione estremamente complessa. In teoria, un controllo rinvierebbe creare la finestra fino a quando è assolutamente necessario.
Molti controlli siano attivi al tempo che sono visibili in un contenitore. Spesso, un controllo può rimanere nello stato attivo finché l'utente non eseguire un'operazione che lo richiedono di diventare attivo (ad esempio, fare clic con il mouse o la pressione del tasto TAB. Per generare un controllo rimanga inattivo fino al contenitore è necessario attivarlo, e il flag di OLEMISC_ACTIVATEWHENVISIBLE da vari flag del controllo:
static const DWORD BASED_CODE _dwNVC_MFC_AxOptOleMisc =
OLEMISC_SETCLIENTSITEFIRST |
OLEMISC_INSIDEOUT |
OLEMISC_CANTLINKINSIDE |
OLEMISC_RECOMPOSEONRESIZE;
Il flag di OLEMISC_ACTIVATEWHENVISIBLE automaticamente viene omesso se si disabilita l'opzione Attiva quando visibile nella pagina di Impostazioni controllo di Creazione guidata controllo ActiveX MFC la creazione del controllo.