AfxOleRegisterControlClass

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

Index