Wyłączanie opcji aktywacji w przypadku widoczności
Formant ma dwa stany podstawowe: aktywny i nieaktywny.Tradycyjnie Państwa te były wyróżnia czy formant miał okno.Aktywny formant miał okno; nieaktywny formant nie miało miejsca.Wraz z wprowadzeniem Aktywacja bez okien to rozróżnienie nie jest już uniwersalnej, ale nadal stosuje się do wielu formantów.
Tworzenie okna w porównaniu z pozostałą częścią inicjowania zwykle wykonywane przez formant ActiveX, jest bardzo kosztowna operacja.Najlepiej, jeśli formant będzie odroczyć tworzenie jego okna, dopóki nie jest to absolutnie konieczne.
Wiele formantów nie trzeba być aktywne, są one widoczne w pojemniku przez cały czas.Często formant może pozostawać w stanie nieaktywnym, dopóki użytkownik wykonuje operację, która wymaga stają się aktywne (na przykład, kliknięcie myszą lub naciśnięcie klawisza TAB).Aby spowodować kontroli pozostaje nieaktywny aż do kontenera musi go uaktywnić, należy usunąć OLEMISC_ACTIVATEWHENVISIBLE flagę z różne flagi kontrolne:
static const DWORD BASED_CODE _dwNVC_MFC_AxOptOleMisc =
OLEMISC_SETCLIENTSITEFIRST |
OLEMISC_INSIDEOUT |
OLEMISC_CANTLINKINSIDE |
OLEMISC_RECOMPOSEONRESIZE;
OLEMISC_ACTIVATEWHENVISIBLE Flaga automatycznie zostanie pominięty, Jeśli wyłączysz Aktywacji, gdy widoczne opcji w Ustawienia sterowania strony Kreatora formantów ActiveX MFC podczas tworzenia formantu.