MFC Ortak Denetimler Kitaplığını Yalıtma
Ortak Denetimler kitaplığı artık MFC içinde yalıtılarak farklı modüllerin (kullanıcı DLL'leri gibi) kendi bildirimlerinde sürümü belirterek Common Controls kitaplığının farklı sürümlerini kullanmasına olanak tanır.
MFC uygulaması (veya MFC tarafından çağrılan kullanıcı kodu), FunctionName adlı Afx
sarmalayıcı işlevleri aracılığıyla Ortak Denetimler kitaplığı API'lerine çağrı yapar; burada FunctionName, Ortak Denetimler API'sinin adıdır. Bu sarmalayıcı işlevleri afxcomctl32.h ve afxcomctl32.inl içinde tanımlanır.
Common Controls kitaplığının GetProcAddress'i çağırmak yerine belirli bir API uygulayıp uygulamadığını belirlemek için AFX_COMCTL32_IF_EXISTS ve AFX_COMCTL32_IF_EXISTS2 makrolarını (afxcomctl32.h içinde tanımlanır) kullanabilirsiniz.
Teknik olarak, sarmalayıcı sınıfı CComCtlWrapper
(afxcomctl32.h içinde tanımlanır) aracılığıyla Common Controls Library API'lerine çağrı yaparsınız. CComCtlWrapper
ayrıca comctl32.dll dosyasının yüklenmesinden ve kaldırılmasından da sorumludur. MFC Modül Durumu, örneğine CComCtlWrapper
yönelik bir işaretçi içerir. Sarmalayıcı sınıfına makroyu afxComCtlWrapper
kullanarak erişebilirsiniz.
MFC uygulaması veya kullanıcı DLL'i bildiriminde istediği Ortak Denetimler kitaplığına bağlı olduğundan, Ortak Denetimler API'sini bir MFC uygulamasından veya kullanıcı DLL'sinden doğrudan çağırmanın (MFC sarmalayıcı işlevlerini kullanmadan) çoğu durumda çalışacağını unutmayın. Ancak, MFC kodu farklı Ortak Denetimler kitaplığı sürümlerine sahip kullanıcı DLL'lerinden çağrılabileceği için MFC kodunun sarmalayıcıları kullanması gerekir.