AfxOleRegisterControlClass

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

Index