BOOL AFXAPI AfxOleRegisterControlClass (HINSTANCE hInstance, REFCLSID clsid, LPCTSTR pszProgID, UINT idTypeName, UINT idBitmap, int nRegFlags, DWORD dwMiscStatus, REFGUID tlid, слово wVerMajor, слово wVerMinor );
# включити lt;afxctl.h>
Значення, яке повертається
Ненульовий, якщо керування клас був зареєстрований; в іншому випадку 0.
Параметри
hInstance
Дескриптор екземпляра, модуля, що зв'язані з класом контролю.
clsid
Унікальний класів Ідентифікатор елемента керування.
pszProgID
Унікальна програма ID елемента керування.
idTypeName
Ідентифікатор ресурсів рядок, що містить ім'я користувача для читання текст для елемента керування.
idBitmap
Ідентифікатор ресурсів растрового зображення, який використовується для позначення керування OLE, панель інструментів або палітру.
nRegFlags
Містить одну або декілька таких позначок:
Примітка У MFC версії до MFC 4.2nRegFlags параметр intбув BOOL параметр, bInsertable, що дозволено або заборонено керування буде вставлений у діалоговому вікні Вставка об'єкта .
dwMiscStatus
Містить одну або кілька з таких стан позначки (для опису прапори, див OLEMISC нумерації в OLE програміста посилання):
tlid
Унікальний Ідентифікатор керування класом.
wVerMajor
Керування класу, номер основної версії.
wVerMinor
Номер проміжної версії керування класу.
Зауваження
Регістри керування клас з базою даних реєстрації Windows. Це дозволяє контролювати використовуватися контейнери, які є керування відомо OLE. AfxOleRegisterControlClass оновлення реєстру з елемента керування ім'я та розташування в системі і також встановлює потокова модель, яка підтримує елемент керування в реєстрі. Докладніше, перегляньте технічне Примітка 64, "Квартира-модель Threading в OLE контроль," і про процеси і потоки в Win32 SDK.
Приклад
/ / Впровадження член функція клас COleObjectFactory::UpdateRegistry / /
BOOL CMyApartmentAwareCtrl::CApartmentCtrlFactory::UpdateRegistry(BOOL bRegister)
{
/ / TODO: Перевірте, чи слід вашого контролю / / квартиру модель threading правила.
/ / Зверніться до MFC Tech&Note 64 для отримання додаткової інформації.
/ / Якщо вашого контролю не відповідає на / / квартиру модель правила, то ви повинні змінити на
/ / код нижче, зміни параметра 6 з
/ / afxRegInsertable | afxRegApartmentThreading до
/ / afxRegInsertable.
nbsp; Якщо (bRegister)
повернення AfxOleRegisterControlClass()
AfxGetInstanceHandle(),
m_clsid,
m_lpszProgID,
IDS_APARTMENT,
IDB_APARTMENT,
afxRegInsertable | afxRegApartmentThreading,
_dwApartmentOleMisc,
_tlid,
_wVerMajor,
_wVerMinor);
інше
повернення AfxOleUnregisterClass (m_clsid, m_lpszProgID)
Вище приклад демонструє, як AfxOleRegisterControlClass називається позначку для insertable і прапор за квартиру модель ORed разом, щоб створити параметр шостий:
afxRegInsertable | afxRegApartmentThreading
Елемент керування буде відображатися у діалоговому вікні Вставка об'єкта за підтримкою контейнерів, і він буде квартири, модель відомо. Квартира моделі aware елементи керування повинен гарантувати що статичного класу, замки, захищені дані, так, що під контроль в одну квартиру звертається до статичні дані, це не відключений за планувальник перш ніж сталося, і зразок того ж класу починається, використовуючи ті ж статичні дані. Будь-який доступ до статичних даних буде робитися на критичної секції код.
Дивіться також AfxOleRegisterPropertyPageClass, AfxOleRegisterTypeLib, AfxOleUnregisterClass, AfxOleUnregisterTypeLib