bool AFXAPI AfxOleRegisterControlClass (HINSTANCE HINSTANCE, REFCLSID CLSID, lpctstr pszProgID, UINT idTypeName, UINT idBitmap, int nRegFlags, dword dwMiscStatus, REFGUID tlid, word wVerMajor, kelime wVerMinor );
# include lt;afxctl.h>
Dönüş değeri
Denetim sınıfı kaydolduysanız sıfır olmayan; Aksi halde 0.
Parametreleri
hINSTANCE
Örnek tanıtıcı denetim sınıfıyla ilişkilendirilmiş modülü.
clsid
Denetimin benzersiz sınıf kimliği.
pszProgID
Denetimin benzersiz program kimliği.
idTypeName
Kaynak denetimi kullanıcı tarafından okunabilen türü adını içeren dize kimliği.
idBitmap
Bir araç çubuğu veya palet ole denetimi temsil etmek için kullanılan bit eşlem kaynak kimliği.
nRegFlags
Bir veya daha aşağıdaki bayraklar içerir:
&Notnbsp; mfc içinde önceki sürümlerinde mfc 4.2, int nRegFlags parametre olarak bir bool parametresi, izin verilen veya izin verilmeyen nesne Ekle iletişim kutusunda eklenecek denetim bInsertable,.
dwMiscStatus
Bir veya daha aşağıdaki durum bayrakları (bayraklar, bkz OLEMISC numaralandırma ole Programmer's Referenceaçıklaması) içerir:
tlid
Denetim sınıfı benzersiz kimliği.
wVerMajor
Denetim sınıfı ana sürüm numarası.
wVerMinor
Denetim sınıfı ikincil sürüm numarası.
Açıklamalar
Denetim sınıfı Windows kayıt veritabanı ile kaydeder. Bu ole denetimi farkında olan kapsayıcılar tarafından kullanılacak denetim sağlar. AfxOleRegisterControlClass denetimin adını ve konumunu sistem kayıt defterini güncelleştirir ve kayıt defteri denetimi destekleyen iş parçacığı modelini de belirler. Daha fazla bilgi için bkz: Teknik Not 64, "Daire-Model Threading içinde ole Denetimleri," ve ilgili işlemleri ve iş parçacıklarını Win32 SDK.
Örnek
/ / Üye işlev uygulanması sınıf COleObjectFactory::UpdateRegistry / /
bool CMyApartmentAwareCtrl::CApartmentCtrlFactory::UpdateRegistry(BOOL bRegister)
{
/ / todo: kontrol takip ettiği doğrulayın / / kuralları iş parçacığı daire-modeli.
/ / mfc Tech&Note 64 için daha fazla bilgi için bakınız.
/ / Kontrol uymuyor eğer / / daire-modeli kuralları, sonra değiştirmek gerekir
/ / kod aşağıda gelen 6 parametre değiştirme
/ / afxRegInsertable | afxRegApartmentThreading için
/ / afxRegInsertable.
nbsp; Eğer (bRegister)
AfxOleRegisterControlClass() dönüş
AfxGetInstanceHandle(),
m_clsid,
m_lpszProgID,
IDS_APARTMENT,
IDB_APARTMENT,
afxRegInsertable | afxRegApartmentThreading,
_dwApartmentOleMisc,
_tlid,
_wVerMajor,
_wVerMinor);
başka
AfxOleUnregisterClass (m_clsid, m_lpszProgID) dönmek
Yukarıdaki örnekte nasıl AfxOleRegisterControlClass bayrağı ekleyebilme çağrılır ve Grup modeli birlikte altıncı parametre oluşturulacak arşivin bayrağı gösterir:
afxRegInsertable | afxRegApartmentThreading
Denetimin etkin kapsayıcılar için Nesne Ekle iletişim kutusunda görünecektir ve daire modeli ile uyumlu olacaktır. Denetim bir dairede statik veri erişim ise, o Zamanlayıcısı tarafından bitmiş ve başka bir örneği aynı sınıfın aynı statik verileri kullanarak başlar önce devre dışı değil, apartman modeli algılamalı denetimler veri kilitler tarafından korunan bu statik sınıf emin olmanız gerekir. Statik verileri herhangi bir erişim kritik bölüm kodu tarafından çevrili olacak.
Ayrıca bkz: AfxOleRegisterPropertyPageClass, AfxOleRegisterTypeLib, AfxOleUnregisterClass, AfxOleUnregisterTypeLib