Görünürken Etkinleştir Seçeneğini Kapatma
Denetimin iki temel durumu vardır: etkin ve etkin değil. Geleneksel olarak, bu durumlar denetimin bir penceresi olup olmadığıyla ayırt edilirdi. Etkin bir denetimin penceresi vardı; etkin olmayan bir denetim bunu yapmadı. Penceresiz etkinleştirmenin kullanıma sunulmasıyla birlikte, bu ayrım artık evrensel değildir, ancak yine de birçok denetim için geçerlidir.
Genellikle bir ActiveX denetimi tarafından gerçekleştirilen başlatmanın geri kalanıyla karşılaştırıldığında, bir pencerenin oluşturulması son derece pahalı bir işlemdir. İdeal olarak, bir denetim penceresini oluşturmayı kesinlikle gerekli olana kadar erteler.
Birçok denetimin bir kapsayıcıda görünür oldukları süre boyunca etkin olması gerekmez. Genellikle, kullanıcı etkin olmasını gerektiren bir işlem gerçekleştirene (örneğin, fareyle tıklama veya SEKME tuşuna basma) denetim etkin olmayan durumda kalabilir. Kapsayıcının etkinleştirmesi gerekene kadar denetimin etkin kalmamasına neden olmak için, denetimin çeşitli bayraklarından OLEMISC_ACTIVATEWHENVISIBLE bayrağını kaldırın:
static const DWORD BASED_CODE _dwNVC_MFC_AxOptOleMisc =
OLEMISC_SETCLIENTSITEFIRST |
OLEMISC_INSIDEOUT |
OLEMISC_CANTLINKINSIDE |
OLEMISC_RECOMPOSEONRESIZE;
Denetiminizi oluştururken MFC ActiveX Denetim Sihirbazı'nın Denetim Ayarlar sayfasında Görünür Olduğunda Etkinleştir seçeneğini kapatırsanız OLEMISC_ACTIVATEWHENVISIBLE bayrağı otomatik olarak atlanır.